Восстановление GRUB. Восстановление системы в Ubuntu Как восстановить данные и какими приложениями воспользоваться

Нарушение работы операционной системы может повлечь за собой много проблем. Это и потерянная информация, на восстановление которой уходит время, и невозможность работы за компьютером. А также испорченное настроение, и нередко - потраченные нервы. Что делать, если плохо работает 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.

Привет. Недавно несколько раз столкнулся с ситуацией, что по тем или иным причинам у меня слетал загрузчик Linux. При этом раза 2 он слетал из за обновлений винды, она тупо затерала Grub. Так же вам может понадобится его восстановление, если вы рядом с Linux установите Windows.

Сегодня я покажу очень простой способ, как можно восстановить этот загрузчик системы.

Сперва загрузимся с LiveCD Ubuntu.

Запускаем терминал и там набираем:

Sudo su add-apt-repository ppa:yannubuntu/boot-repair apt update apt install boot-repair boot-repair

Запустится окно программы. В большинстве случаев, для восстановления загрузчика достаточно выбрать Recomended repair. Что мы и сделаем. Жмем на эту кнопку.

В случае если появится окно с инструкциями - внимательно их читаем и делаем, что написано. В моем случае потребовалось 2 шага, которые нужно было выполнить вручную, в терминале (удаление и повторная установка Grub).

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

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 (на англ. языке).

К сожалению, компьютер вещь хрупкая и ненадёжная. Особенно это касается операционной системы, которая является сложнейшей программой, малейшее нарушение которой может привести к краху. Когда-то давно, когда я ещё пользовался Windows XP, я почистил реестр программой Ccleaner, после чего мой компьютер перестал загружаться.

Но это было давно, сегодня такие программы, как Ccleaner для Windows 7 уже не такие сырые, как раньше, но всё же есть ещё масса всего, что может вызвать сбой и падение операционной системы: вирусы, кривые драйвера и недоработанные программы.

По моему опыту убить Windows НАМНОГО проще, чем Linux, но и его убить можно... после краха, если это вдруг произойдёт? Вот что я могу порекомендовать в некоторых случаях.

Сразу хочу сказать, что иногда бывает систему проще переустановить, чем копаться часами и искать причину. Чтобы эта процедура проходила всегда легко и безболезненно, ВСЕГДА делайте каталог /Home на отдельном разделе . В этом случае все ваши данные и настройки программ сохранятся. Нужно будет только заново установить нужные программы и обновления.

Sudo dpkg --get-selections > software

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

Sudo dpkg --get-selections < software

И все ваши программы скачаются и установятся, не нужно вспоминать, что у вас стояло до этого.

Если у вас слетел загрузчик системы GRUB, то восстановить его можно легко, как описано в в статье " ".


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


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

Знакомо, правда? Установить это чудо можно простой командой:

Sudo apt-get install mc

Нет, если вы умеете работать с и NANO, то конечно, но для новичком так будет попроще.

Если быть объективным, то Linux у меня если и падал, то только по моей вине. Поэтому восстановление чаще всего заключалось в исправлении тех файлов, в которых произошёл сбой. Поэтому перед экспериментами ВСЕГДА сохраняйте копии файлов, чтобы потом через тот же MC вернуть их на место. Если файл не сохранили, то можно загрузиться с LIVE CD и вытащить файл оттуда, я так делал не раз.

Были ли проблемы у вас и как вы их решали? Было бы интересно узнать:)


Не нашли ответ на свой вопрос? Воспользуйтесь поиском...

9 комментариев

9 комментариев к статье “Как восстановить Linux?”

    Можно загрузиться и взять оттуда, но не драйвера, а просто конфигурационные файлы видеокарты, сами дрова никуда не деваются.

    Здравствуйте! После неудачной установки gimp перестала грузиться графическая оболочка, переустанавливать бы не хотелось, что-то можно сделать и как попасть снова на рабочий стол? до этого та же ерунда случилась после установки библиотек для установки скайпа на 64-битной Кали

    Попробуйте набрать команду startx и возможно вы попадете в свою графическую среду. Если нет, то значит все намного сложнее и вы удалили какие то нужные пакеты. Попробуйте установить все вот так: sudo apt-get install gnome-session-fallback

    prostolinux, спасибо Вам огромное за оперативный ответ! К сожалению, проверить Вашу рекомендацию уже не смогу, решил обновить гном и в результате пришлось всё переустанавливать. Так или иначе, учитывая, что гном слетает после той или иной установки, я думаю мне Ваша рекомендация ещё пригодится и я непременно отпишусь помогла ли она.

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

    prostolinux, У меня не убунту, у меня kali linux... он тоже базируется на дебиане, но требует больших навыков, чем убунту... С убунту у меня в принципе проблем не возникало - хорошая и стабильная операционка. Очень хорошая и подробная статья про установку!

    Я тоже работал раньше с #Debian, но все же #Ubuntu для меня удобнее, а эти хакерские штучки пока не очень нужны. Так что тут нужно выбирать, или Gimp или Хак;)

    чтобы "вынь" слетал чаще чем "линух" впервые слышу, а учитывая по Вашему "проще переустановить чем весь день копаться" ну тут Вы сказанули. Сам работаю на Ubuntu уже очень долго, но своим домашним всегда ставлю Wыньду поскольку с Linux в кривых руках хуже чем с Win-дой, и положить линь намного быстрее и восстановить сложнее. Поверьте сейчас уже не так круто как раньше сидеть в консоли и хвастать "смотри как я обои меняю в конфигах" доказывая что они тупые виндозники. А на деле, что в "линухе" что "выньде" толку 0. Тут важно понять одно, если есть возможность работать в Windows и выполнять свою работу на отлично, то и понта от linux не будет!!!