Как восстановить загрузчик Grub?

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

Загрузка из консоли grub

Если при загрузке вашего компьютера вы видите черный экран с надписью grub>  то скорее всего у вас поврежден конфигурационный файл /boot/grub/grub.cfg. Для начала нам надо определить видимые разделы, это можно сделать с помощью команды ls:

grub rescue ls

В моем случае найден 1 жесткий диск hd0, на котором 3 раздела: (hd0,msdos1), (hd0,msdos5), (hd0,msdos6).

Найдем раздел содержащий корень /. Это можно сделать просмотрев содержимое разделов

ls (hd0, msdosX)/

В моем случае это оказался msdos1:

grub rescue ls rootДалее выполняем следующие команды:

grub> set root=(hd0,msdos1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot

Первая команда устанавливает путь к корню  / системы Вторая команда указывает GRUB путь к ядру, которое вы хотите загрузить. Третья строка устанавливает INITRD файл. И последняя команда производит загрузку.

Если вы все сделали правильно то загрузится операционная система, после загрузки, для того чтобы сгенерировался правильный конфигурационный файл Grub, необходимо в консоли ввести:

sudo update-grub

Загрузка из консоли grub rescue>

В режиме grub rescue аналогично с помощью команды ls определяем раздел с корнем /.

Далее нам необходимо загрузить «нормальный» режим grub:

grub rescue> set prefix=(hd0,msdos1)/boot/grub
grub rescue> set root=(hd0,msdos1)
grub rescue> insmod normal
grub rescue> normal

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

grub rescue> insmod linux
grub rescue> linux /boot/vmlinuz root=/dev/sda1 ro
grub rescue> initrd /boot/initrd.img
grub rescue> boot

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

sudo update-grub
sudo grub-install /dev/sdX

Восстановление загрузчика с помощью Boot-repair

Boot-repair отличная программа, которая позволяет буквально в один клик восстановить загрузчик. Чтобы воспользоваться программой Boot-repair необходим загрузочный диск с той же версий Ubuntu которая у вас установлена. После загрузки в Live режим установим Boot-repair:

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

И запускаем boot-repair

sudo boot-repair

В окне программы нажимаем на «Recommended repair»:

boot-repairПосле этого запустится скрипт который восстанавливает большинство известных проблем Grub

Возможно вас заинтересует:

Всего комментариев: 2 Комментировать

  1. андрей /

    после ls у меня выходит (hd0) (hd0,msdos1)
    что делать дальше? помогите

  2. Миша /

    Спасибо, мне эта инструкция очень помогла!

Оставить ответ