Как восстановить ubuntu с диска. Как восстановить загрузчик системы Grub в Ubuntu

Ubuntu, как и многие другие дистрибутивы Linux в качестве загрузчика системы используют GRUB2. Если GRUB2 «ломается», например, если вы установите Windows после установки Ubuntu, либо при перезаписи MBR - загрузить Ubuntu вы не сможете.

GRUB2 можно запросто починить с помощью Live CD Ubuntu или USB-флешки. Этот процесс отличается от восстановления загрузчика GRUB Legacy на старых дистрибутивах Linux.

Описанный ниже процесс должен работать со всеми версиями Ubuntu. Он был протестирован на версиях Ubuntu 16.04 и Ubuntu 14.04.

Способ с использованием графического интерфейса: Boot Repair###

Boot Repair - приложение с графическим интерфейсом, с помощью которого можно починить GRUB2 всего одним щелчком мыши. Идеальное решение для большинства пользователей.

Если у вас есть носитель, с которого вы устанавливали Ubuntu, вставьте его в компьютер, выполните перезагрузку и загрузитесь со сменного носителя. Если носителя у вас нет, загрузите Live CD Ubuntu и запишите его на диск или создайте загрузочную USB-флешку .

При загрузке, нажмите «Попробовать Ubuntu» (Try Ubuntu), чтобы загрузить работоспособное окружение рабочего стола.

Перед тем как продолжить, убедитесь, что у вас работает подключение к интернету. Возможно, потребуется выбрать сеть Wi-Fi и ввести пароль.

Откройте терминал из Dash и выполните следующие команды для того, чтобы загрузить и установить Boot Repair :

Sudo apt-add-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair boot-repair

Boot Repair автоматически просканирует систему после запуска команды boot-repair . После этого, щелкните кнопку Recommended repair для восстановления GRUB2 .

Здесь вы также можете выполнить расширенные настройки, однако вики-страница Ubuntu не рекомендует делать этого если вы точно не знаете, за что они отвечают. Рекомендуемый вариант позволяет исправить большинство проблем автоматически, а при выборе неправильных настроек можно только ухудшить ситуацию.

Boot Repair начнёт работать. Возможно, появится запрос открыть терминал и скопировать/вставить несколько команд.

Просто следуйте инструкциям на экране. Выполните все инструкции Boot Repair и щёлкните Forward чтобы перейти к следующему экрану. Утилита проведёт вас через все необходимые действия для восстановления.

После того, как Boot Repair закончит работу, перезагрузите компьютер. Ubuntu должна будет нормально запуститься.

Способ с использованием терминала

Если же вы не боитесь «запачкать руки», вы можете починить систему через терминал. Вам потребуется загрузиться с Live CD или USB-флешки, так же, как в способе, описанном выше. Убедитесь, что версия Ubuntu на диске совпадает с версией, установленной на компьютере. Например, если у вас была установлена Ubuntu 14.04, следует использовать Live CD Ubuntu 14.04.

После загрузки системы откройте терминал. Определите раздел диска, на котором установлена Ubuntu с помощью одной из следующих команд:

Sudo fdisk -l sudo blkid

Ниже приводится вывод обеих команд. В случае команды fdisk -l , раздел Ubuntu можно определить по слову Linux в колонке System . В случае использования команды blkid , раздел определяется по использованию файловой системы ext4 .

Если на компьютере имеется несколько разделов Linux в формате ext4 , обратите внимание на их размер и порядок, в котором они представлены в списке.

Выполните следующие команды для монтирования раздела Ubuntu в /mnt/ubuntu , заменив /dev/sdX# на имя устройства, на котором установлен ваш раздел Ubuntu, определенный выше:

Sudo mkdir /mnt/ubuntu sudo mount /dev/sdX# /mnt/ubuntu

На примере выше раздел Ubuntu находится на /dev/sda1 . Это первый раздел на первом жёстком диске.

Важно! Если у вас имеется отдельный загрузочный раздел, пропустите команду выше и монтируйте загрузочный раздел в /mnt/ubuntu/boot . Если вы не знаете, есть ли у вас отдельный загрузочный раздел, то скорее всего его нет =).

Выполните следующую команду для повторной установки GRUB2 с Live CD, заменив /dev/sdX на имя жёсткого диска выше. Не указывайте номер. Например, если выше вы использовали /dev/sda1 , введите просто /dev/sda .

Sudo grub-install --boot-directory=/mnt/ubuntu/boot /dev/sdX

Выполните перезагрузку, Ubuntu должна нормально загрузиться.

Для получения подробной информации о том, как использовать команду chroot для получения доступа к повреждённым системным файлам Ubuntu и восстановления GRUB2, смотрите вики-страницу Ubuntu (на англ. языке).

Если вы забыли пароль, случайно удалили важные файлы или решили восстановить Ubuntu, то все эти операции можно выполнить с помощью встроенных инструментов системы или простых утилит.

Сброс пароля

Если вы забыли пароль на Ubuntu, то для восстановления доступа сбросьте его и установите новый ключ безопасности.

Если вы забыли имя пользователя, то посмотреть его можно с помощью команды «cat /etc/passwd». Как видите, никакие дополнительные инструменты не нужны, Linux системы достаточно просты в освоении.

Откат системы

На Ubuntu нет кнопки «Восстановление системы», нажатие на которую запустит откат к более раннему состоянию, поэтому каждый случай приходится рассматривать отдельно. Посмотрим наиболее распространенные ошибки, после которых Ubuntu требует восстановления: некорректное обновление системы и повреждение загрузчика GRUB.

Если система не запускается, то попробуйте восстановить загрузчик с помощью утилиты boot-repair. Подключите диск-флешку с Ubuntu к компьютеру, запустите систему и откройте терминал. Выполните несколько команд, чтобы установить программу boot-repair:

  • sudo add-apt-repository ppa:yannubuntu/boot-repair.
  • sudo apt-get update.
  • sudo apt-get install boot-repair.

После закрытия консоли запустите утилиту boot-repair. Выберите режим «Рекомендуемый способ восстановления», чтобы программа нашла и исправила ошибку.

Если сбой произошел при обновлении системы, то устранить его можно следующим образом:

  1. Запустите режим root, как при восстановлении пароля.
  2. Включите запись командой «sudo mount -rw -o remount».
  3. Командой «sudo dpkg –configure –a» запустите Менеджер пакетов, чтобы обновить и пересобрать пакеты данных,

Ждать придется долго, минут 30-40. Зато после завершения процедуры система запустится без ошибок, уже будучи обновленной.

Восстановление файлов

Еще одна полезная возможность на Ubuntu – восстановление удаленных файлов. Для возврата утерянных данных используйте программу Photorec или TestDisk. Работают они примерно одинаково, позволяя восстановить большую часть удаленных из системы файлов.

  1. Откройте консоль и установите TestDisk командой «sudo apt-get install testdisk».
  2. Запустите утилиту программой «sudo testdisk». В составе пакета TestDisk входит утилита Photorec, при желании вы можете запустить её командой «sudo photorec».
  3. Откажитесь от ведения лога в первом окне TestDisk.
  4. Выберите раздел диска, на котором нужно провести поиск удаленных файлов. Нажмите «Proceed».
  5. Выберите тип таблицы разделов – обычно это Intel/PC Partition.
  6. Укажите режим работы «Analyse».
  7. Запустите быстрый поиск – пункт «Quick Search».
  8. Откажитесь от поиска разделов, созданных Windows Vista, введя «N». После завершения анализа нажмите «Continue».
  9. Выведите список найденных файлов, нажав клавишу «P» (все действия в латинской раскладке).

Порой пользователи сталкиваются с потерей или случайным удалением нужных файлов. При возникновении такой ситуации ничего не остается делать, как попытаться восстановить все с помощью специализированных утилит. Они проводят сканирование разделов жесткого диска, находят там поврежденные или ранее стертые объекты и пытаются их вернуть. Не всегда такая операция проходит успешно из-за фрагментации или полной потери информации, но попытаться точно стоит.

Сегодня мы бы хотели поговорить о доступных решениях для операционной системы Ubuntu, которая работает на базе ядра Linux. То есть рассмотренные способы подойдут для всех дистрибутивов, основанных на Ubuntu либо Debian. Каждая утилита функционирует по-разному, поэтому если первая не принесла никакого эффекта, обязательно следует попробовать вторую, а мы, в свою очередь, представим максимально детальные руководства по этой теме.

Способ 1: TestDisk

TestDisk, как и следующая утилита, является консольным инструментом, однако не весь процесс будет осуществляться путем ввода команд, кое-какая реализация графического интерфейса здесь все-таки присутствует. Давайте начнем с инсталляции:

  1. Перейдите в меню и запустите «Терминал» . Сделать это также можно путем зажатия горячей клавиши Ctrl + Alt + T .
  2. Пропишите команду sudo apt install testdisk для запуска установки.
  3. Далее следует подтвердить свою учетную запись, введя пароль. Обратите внимание, что вводимые символы при этом не отображаются.
  4. Дожидайтесь завершения скачивания и распаковки всех необходимых пакетов.
  5. После появления нового поля можно запускать саму утилиту от имени суперпользователя, а делается это через команду sudo testdisk .
  6. Теперь вы попадаете в некую простенькую реализацию GUI через консоль. Управление осуществляется стрелочками и клавишей Enter . Начните с создания нового лог-файла, чтобы в случае чего быть в курсе, какие действия производились в определенный момент.
  7. При показе всех доступных дисков следует выбрать тот, на котором будет происходить восстановление утерянных файлов.
  8. Выберите текущую таблицу разделов. Если не получается определиться с выбором, ознакомьтесь с подсказками от разработчика.
  9. Вы попадаете в меню действий, возвращение объектов происходит через раздел «Advanced» .
  10. Осталось только с помощью стрелок Вверх и Вниз определить интересующий раздел, а с помощью Вправо и Влево указать нужную операцию, в нашем случае это «List» .
  11. После недолгого сканирования появится список файлов, находящихся на разделе. Отмеченные красным цветом строки означают, что объект был поврежден или удален. Вам останется только переместить строку выбора на интересующий файл и нажать на С , чтобы скопировать его в желаемую папку.

Функциональность рассмотренной утилиты просто поражает, ведь она может восстанавливать не только файлы, но и целые разделы, а также отлично взаимодействует с файловыми системами NTFS, FAT и со всеми версиями Ext. Кроме всего, инструмент не просто возвращает данные, но и проводит исправление найденных ошибок, что позволяет избежать дальнейших проблем с работоспособностью накопителя.

Способ 2: Scalpel

Для начинающего пользователя разобраться с утилитой Scalpel будет немного сложнее, потому что здесь каждое действие активируется путем ввода соответствующей команды, но переживать не стоит, ведь мы детально распишем каждый шаг. Что касается функциональности этой программы, то она не привязана к каким-либо файловым системам и одинаково хорошо работает на всех их типах, а также поддерживает все популярные форматы данных.

  1. Скачивание всех нужных библиотек происходит с официального репозитория через sudo apt-get install scalpel .
  2. Далее вам необходимо будет ввести пароль от своей учетной записи.
  3. После этого ожидайте завершения добавления новых пакетов до появления строки ввода.
  4. Теперь следует настроить конфигурационный файл, открыв его через текстовый редактор. Используется для этого такая строка: sudo gedit /etc/scalpel/scalpel.conf .
  5. Дело в том, что по умолчанию утилита не работает с форматами файлов — их необходимо подключить путем раскомментирования строк. Для этого просто напротив нужного формата убираете решетки, а по завершении настройки сохраняете изменения. После выполнения этих действий Scalpel будет нормально восстанавливать указанные типы. Это следует делать для того, чтобы сканирование занимало как можно меньше времени.
  6. Вам осталось только определить раздел жесткого диска, где будет производиться анализ. Для этого откройте новый «Терминал» и пропишите команду lsblk . В списке отыщите обозначение требуемого накопителя.
  7. Запустите восстановление через команду sudo scalpel /dev/sda0 -o /home/user/Folder/output/ , где sda0 — номер желаемого раздела, user — название пользовательской папки, а Folder — имя новой папки, в которую будут помещены все восстановленные данные.
  8. По завершении перейдите в файловый менеджер (sudo nautilus) и ознакомьтесь с найденными объектами.

Как видите, разобраться в Scalpel не составит большого труда, а после ознакомления с управлением активация действий через команды уже и не кажется такой сложной. Конечно, ни одно из приведенных средств не гарантирует полного восстановления всех утерянных данных, но хотя бы часть из них каждая утилита должна вернуть.

Нарушение работы операционной системы может повлечь за собой много проблем. Это и потерянная информация, на восстановление которой уходит время, и невозможность работы за компьютером. А также испорченное настроение, и нередко - потраченные нервы. Что делать, если плохо работает Windows, известно многим. С операционными системами на базе Linux ситуация сложнее и интереснее. Итак, что предпринять, если срочно потребовалось восстановление Ubuntu? Давайте изучим этот вопрос.

Возможно, после запуска компьютера вас встретил экран, заявляющий о серьёзной неполадке. Или вы столкнулись с ошибкой уже во время работы - это не так важно. Изучить источник проблемы действительно необходимо. Чтобы восстановить Ubuntu, обратите внимание на каждую из приведённых ситуаций. Возможно, одна из них напоминает вашу?

  1. Неправильно подобранные драйверы либо их «кривая» установка. Сюда же можно отнести любые случаи, когда оборудование неправильно работает из-за ПО. Возможно, вы установили драйвер из ненадёжного источника? Обратили ли вы внимание на модели оборудования, которые поддерживает драйвер?
  2. Проблемы после обновления системы. Несмотря на аккуратность разработчиков системы Ubuntu, возможно всё -ваше оборудование не поддерживает новые компоненты, или сама ОС нестабильна… Желательно пользоваться версиями Убунту LTS (с длительной поддержкой).
  3. Ваша собственная ошибка. В этот пункт можно отнести очень много проблем, которые и становятся источником поломки и «слетевшей» ОС. Например:
  • По ошибке был удалён важный системный файл.
  • Вы забыли пароль доступа к root .
  • Случайно изменили таблицу разделов, или даже записали её заново.
  • Установили проблемную программу.

В некоторых случаях реанимировать систему будет сложнее, в других - найдутся свои способы быстрого решения. Перейдём к рассмотрению конкретных решений.

Неправильно подобранные драйверы

Типичные проблемы такого рода связаны с драйверами видео . На данный момент это не слишком распространённые проблемы. Но столкнуться с ними может каждый. Для исправления некоторых ситуаций (допустим, артефактов на экране) поможет принудительная смена режима видео.

Мы добавим параметр ядра, который поменяет настройки графики. В файле «/etc/default/grub» есть переменная «GRUB_CMDLINE_ LINUX_DEFAULT».

В неё нужно добавить значение «vga=0x314». В итоге переменная должна иметь вид:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash vga=0x314

После операции останется только обновить конфигурацию с помощью команды:

В другом случае - если неверно определяется разрешение экрана - можно создать файл «~/.xprofile», который должен иметь такое содержимое:

xrandr –output VGA-0 –mode 1920×1200 –rate 60.

Причём вместо «output» желательно сразу указать, куда (в какой порт) подключен монитор. Это поможет определить команда «xrandr» Также опция «mode» служит для указания разрешения - вместо стандартного разрешения необходимо указать своё. Желательно - поддерживаемое монитором по умолчанию. При проблемах с изображением на Ubuntu, восстановление системы в полном объёме может не потребоваться, если следовать этим рекомендациям.

Проблемы после обновления системы

Такая ситуация вызывает дополнительные неприятности. Проблема в том, что её не видно сразу. Восстановление Ubuntu после неудачного обновления может быть необходимо в любой момент пользования дистрибутивом. Создатели версий с долговременной поддержкой стараются сделать так, чтобы совместимость была обратной, то есть при желании вы могли вернуться на старую версию ОС. Но в реальности не всё так просто.

Самый правильный способ разобраться с неполадкой - тщательное изучение log-файлов и правка конфигурации своими руками. Но если по каким-то причинам этот путь затруднён, остаётся только даунгрейд, то есть откат до более старой версии ОС.

Можно использовать yum. Введите команду: «yum downgrade» и следуйте необходимым действиям. Либо используйте «yum history», чтобы получить историю последних действий или контрольные точки. Восстановление Ubuntu таким образом более настраиваемо. То есть, вы сможете учесть конкретные изменения, вплоть до установки или удаления отдельных программ.

Нужно сначала удалить пакеты, установленные по ошибке или мешающие работе. Это могут быть пакеты программ, записанных уже в новую версию системы. Например, удалить поддержку новой версии PHP можно так:

Перед такими действиями очень важно сохранять конфигурационные файлы. Такой метод не подходит для обновления ядра.

Если был удалён важный файл

Можно ли восстановить Ubuntu, не работающую из-за отсутствия файлов, зависит от файловой системы. Если вы обнаружили пропажу важного для системы файла, следует сразу отключить компьютер. Необходимо иметь раздел, куда можно загрузить файлы при реанимации. Далее:

  • Загрузите ПК с LiveCD
  • Установите приложение «extundelete» командой:

$ sudo apt-get install extundelete.

  • Введите команду:

$ sudo extundelete –restore-all /dev/sda3.

  • Если же раздела под восстановление у вас нет, тогда можно использовать:

$ sudo extundelete –restore-file /etc/shadow /dev/sda3.

Указывайте свой раздел «от корня», то есть с начала пути.

Проблемы после установки ПО

Нужные действия в такой ситуации зависят от того, как ПО было установлено. Ubuntu загружается? Если нет, то восстановить её можно при помощи LiveCD. Если да, это значительно облегчает ситуацию. Вот что нужно сделать, если восстановить систему в штатном режиме нельзя:

  1. Загрузитесь с LiveCD
  2. Выполните монтирование корневой ФС.
  3. Выполните команды:

«mount –bind /proc /media/ubuntu-root/proc
mount –bind /sys /media/ubuntu-root/sys
mount –bind /media/ubuntu-root/dev
chroot /media/ubuntu-root»

  1. Если ПО было установлено из репозитория, пакет проблемной программы нужно удалить при помощи «apt-get delete». Узнать больше подробностей об установленных программах можно по адресу: «/var/log/apt/history.log».

В завершение

Мы рассмотрели несколько способов, в которых описано, как восстановить Линукс Убунту. Если вы не уверены, что делаете всё правильно, или же предложенные варианты у вас не работают - советуем обратиться к компьютерному мастеру или системному администратору. И конечно же, читайте советы постоянных посетителей на страницах нашего сайта.

Известной теперь как GRUB Legacy. Если вам необходимо восстановить GRUB Legacy, например поскольку у Вас стоит версия Ubuntu старше 9.10, то вам необходимо прочитать .

Несмотря на то, что это фактически две версии одного приложения с названием GRUB, они не имеют ничего общего и являются совершенно разными программами.

На любом загрузочном винчестере есть так называемая Главная загрузочная запись (англ. master boot record, MBR) , к которой обращается BIOS при загрузке компьютера. В эту область загрузчик системы и должен записать информацию об основных файлах, которые хранятся уже на разделах винчестера.

Каждый раз при установке или восстановлении систем от Microsoft загрузчики Linux заменяются и их необходимо заново устанавливать.

Восстановление с помощью LiveCD/USB

Первый способ

терминал

Sudo fdisk -l

Из таблицы видим, что Linux стоит (в нашем случае) на разделе /dev/sda1

Теперь подключим этот раздел в /mnt следующей командой (следим за пунктуацией, особенно, за пропусками между кодами):

Sudo mount /dev/sda1 /mnt

Затем, для записи grub в MBR, вводите следующую команду:

Sudo grub-install --root-directory=/mnt /dev/sda

В случае, если нужно только восстановить MBR диска (например, после переустановки Windows), то этого достаточно.

Если нужно обновить и меню grub (например, после установки Windows), то нужно сделать:

Sudo update-grub --output=/mnt/boot/grub/grub.cfg

Восстановление закончено!

Восстановление используя chroot

Запустите систему с LiveCD/USB и откройте терминал . Для этого можно нажать Alt + F2 и ввести команду:

Sudo fdisk -l

На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux /dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS /dev/sda3 13996 14593 4803435 5 Extended

Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:

Sudo mount /dev/sda1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys

Если раздел /boot или /var находится отдельно, то Вам необходимо примонтировать их в /mnt/boot и /mnt/var

Теперь перейдем в окружающую среду chroot :

Sudo chroot /mnt

Теперь необходимо установить GRUB , используя команду:

Grub-install /dev/sda

Если Вы получили сообщение об ошибке, то используйте команду: grub-install --recheck /dev/sda

Также в некоторых случаях может помочь вариант:

Grub-install --recheck --no-floppy /dev/sda

Если все прошло успешно, выходим из chroot командой:

Теперь необходимо отмонтировать разделы:

Sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt

Если Вы монтировали раздел /boot воспользуйтесь командой:

Sudo umount /mnt/boot

Затем перезагрузим Ваш компьютер командой:

Sudo reboot

При необходимости Вы можете обновить меню загрузчика командой:

Sudo update-grub

Восстановление в rescue mode

При отсутствии загрузочного диска, можно восстановить Grub из его консоли. Восстановление происходит следующим образом: сначала нужно подгрузить все модули, чтобы стала доступна вся функциональность Grub, а затем уже запуститься с нужного раздела. Как известно, Grub состоит из двух частей. Первая часть записана в MBR диска. Она содержит базовую функциональность, то есть в ней есть консоль в rescue mode и ничего больше. Вначале нужно определить, на каком разделе находится вторая часть груба (она лежит в каталоге /boot/grub), подгрузить недостающие модули. И только потом можно будет дать команду запуска с нужного раздела. В rescue mode доступно всего четыре команды:

Ls set unset insmod

Вначале следует дать команду:

В ответ она выведет, например, следующее:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Иногда Grub может неправильно опеределить, какие файловые системы находятся на разделах дисков. В данном случае определяет их как msdos. Нам нужно постараться угадать, какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела, диск с индексом 1 содержит два раздела. Зная структуру своих дисков несложно определить нужный диск.

Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) - первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов - с 1. Предположим, что Линукс установлен на первый диск в первый раздел, то есть (hd0,1). Даем команду:

Set prefix=(hd0,1)/boot/grub set root=(hd0,1)

Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то, что нам нужно. Даем команду:

Ls /boot/grub

если в ответ получаем список всех файлов в этой директории, то диск и раздел выбраны правильно. Подгружаем модули:

Insmod ext2 insmod normal normal

Проверьте правильность написания первой команды для файловых систем ext3 и ext4

Если ОС расположена на разделе, отформатированном в btrfs, то выполняем следующие команды: set prefix=(hd0,1)/@/boot/grub set root=(hd0,1)

подгружаем модули:

Insmod btrfs insmod normal

запускаем GRUB:

После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все операционки, которые можно подгружать, и покажет своё Grub-меню.

Дальнейшее восстановление сводится к тому, чтобы загрузить нужный нам Linux, и в нем от рута дать команду:

Grub-install /dev/sdX

Где sdX, диск, на который нужно установить Grub.