grub rescue – что делать?
Время прочтения: 4 мин.
63 435

    В случае возникновения проблем с загрузчиком появляется надпись grub rescue. Чаще всего проблема появляется, когда на компьютере установлено сразу две операционные системы: Linux и Windows. Обычно установка производится в такой последовательности.

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

    Но бывает так, что в таком состоянии компьютер работает длительное время. У Windows как известно разрастается реестр, и система начинает работать медленно. Тут вы приняли решение переустановить Винду, а заодно затёрли загрузчик Linux. Загрузочная область оказывается повреждена и при старте системы появляется сообщение на чёрном экране: grub rescue unknown filesystem.

    grub rescue – что делать?

    Ещё вы могли что-нибудь нахимичить с файлом конфигурации grub.cfg в директории /boot/grub/. Его вообще не рекомендуется править редакторами поскольку в будущем он всё равно окажется перезаписан автоматически. Вместо этого сконфигурируйте файл /etc/default/grub и выполните команду: sudo update-grub

    grub rescue – что делать?

    Итак, мы находимся консоли загрузчика. Она имеет небольшой командный интерпретатор наподобие bash. Список всех доступных команд можно получить, набрав:

    help
    grub rescue – что делать?

    Введите команду для просмотра существующих разделов:

    ls
    grub rescue – что делать?

    В данном примере всего один раздел msdos1 на жёстком диске hd0.

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

    ls (hd0,msdos1)/boot/grub/

    Находим файл grub.cfg значит всё в порядке, продолжаем. Если каталог не обнаружен, то перебираем остальные разделы дисков пока не найдём.

    grub rescue – что делать?

    Следующая команда создаёт префикс для каталога загрузчика:

    set prefix=(hd0, msdos1)/boot/grub

    Установим раздел в качестве корневого:

    set root=(hd0, msdos1)/boot/grub

    Затем необходимо подключить ещё пару модулей и стартовать загрузку системы:

    insmod ext2
    insmod normal
    normal
    grub rescue – что делать?

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

    sudo grub-install /dev/sd_

    (вместо «_» введите букву загрузочного жёсткого диска).

    Далее выполните команду обновления конфигурации файла grub.cfg:

    sudo update-grub

    Обычно grub2 автоматически определяет установленные системы, в том числе Windows, и добавляет их в список загрузки.

    Восстановление ubuntu с флешки

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

    Лучше подготовить USB или CD носитель с Ubuntu той же версии и разрядности что и восстанавливаемая система. Я покажу на примере системы Ubuntu 18.04 LTS x64. Загрузитесь в Live режиме и откройте терминал комбинацией Ctrl+Alt+T.

    Для удобства сразу активируйте права суперпользователя root. Знак минус в конце команды означает перемещение в домашний каталог:

    sudo su -
    grub rescue – что делать?

    Теперь нужно посмотреть список дисков и разделов программой fdisk:

    fdisk -l
    grub rescue – что делать?

    Обнаруживаем раздел с установленной системой Linux. В этом примере раздел /dev/sda1 единственный, он же корневой и загрузочный.

    ВНИМАНИЕ

    Выбирайте раздел аккуратно, буква диска может отличаться от моих примеров. Не потеряйте свои данные!

    Смонтируем его в каталог /mnt/:

    mount /dev/sda1 /mnt

    Убедитесь, что каталог /boot/ находится на этом же разделе диска выполнив команду:

    ls -l /mnt/boot/

    В случае отсутствия каталога, монтируйте его отдельно. Для этого нужно найти раздел в результате вывода утилиты fdisk (на скриншоте выше) и смонтировать командой:

    mount /dev/sdaX /mnt/boot

    X = номер вашего раздела с файлами каталога /boot/.

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

    mount --bind /dev /mnt/dev && mount --bind /proc /mnt/proc && mount --bind /sys /mnt/sys

    Двойной амперсанд && между командами означает проверку выполнения предыдущей команды. Выполнение последующей команды происходит только при условии, что предыдущая завершена успешно.

    Переходим в окружение chroot, то есть заходим под пользователем root в систему, установленную на жёстком диске:

    chroot /mnt

    Всё, мы в системе. Можно устанавливать загрузчик и обновлять его конфигурацию. Будьте внимательны, используется именно корневой раздел диска /dev/sda без цифры:

    grub-install /dev/sda && update-grub
    grub rescue – что делать?

    Посмотрите, чтобы не было ошибок в результате выполнения команд. Далее набираем один раз exit, или комбинацию Ctrl+D и выходим в консоль Live системы.

    На всякий случай размонтируем корректно разделы и перезагружаемся:

    umount –R /mnt; reboot

    Процедура восстановления загрузчика grub2 на этом завершена.

    Применение статьи на практике: https://onstartup.ru/forum/po-motivam-grub-rescue/

    Видео