В случае возникновения проблем с загрузчиком появляется надпись grub rescue. Чаще всего проблема появляется, когда на компьютере установлено сразу две операционные системы: Linux и Windows. Обычно установка производится в такой последовательности.
Сначала на жёсткий диск устанавливается Windows после чего на отдельный раздел производится установка Linux. При такой схеме в загрузочную область диска добавится загрузчик grub2 что позволяет выбирать в какую из систем производить запуск.
Но бывает так, что в таком состоянии компьютер работает длительное время. У Windows как известно разрастается реестр, и система начинает работать медленно. Тут вы приняли решение переустановить Винду, а заодно затёрли загрузчик Linux. Загрузочная область оказывается повреждена и при старте системы появляется сообщение на чёрном экране: grub rescue unknown filesystem
.
Ещё вы могли что-нибудь нахимичить с файлом конфигурации grub.cfg в директории
/boot/grub/
. Его вообще не рекомендуется править редакторами поскольку в будущем он всё равно окажется перезаписан автоматически. Вместо этого сконфигурируйте файл/etc/default/grub
и выполните команду:sudo update-grub
grub rescue – что делать?
Итак, мы находимся консоли загрузчика. Она имеет небольшой командный интерпретатор наподобие bash. Список всех доступных команд можно получить, набрав:
help
Введите команду для просмотра существующих разделов:
ls
В данном примере всего один раздел msdos1 на жёстком диске hd0.
Убедимся, что это нужный раздел. Для этого выводим список файлов загрузчика:
ls (hd0,msdos1)/boot/grub/
Находим файл grub.cfg значит всё в порядке, продолжаем. Если каталог не обнаружен, то перебираем остальные разделы дисков пока не найдём.
Следующая команда создаёт префикс для каталога загрузчика:
set prefix=(hd0, msdos1)/boot/grub
Установим раздел в качестве корневого:
set root=(hd0, msdos1)/boot/grub
Затем необходимо подключить ещё пару модулей и стартовать загрузку системы:
insmod ext2
insmod normal
normal
После успешной загрузки в 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 -
Теперь нужно посмотреть список дисков и разделов программой fdisk:
fdisk -l
Обнаруживаем раздел с установленной системой 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
Посмотрите, чтобы не было ошибок в результате выполнения команд. Далее набираем один раз exit
, или комбинацию Ctrl+D и выходим в консоль Live системы.
На всякий случай размонтируем корректно разделы и перезагружаемся:
umount –R /mnt; reboot
Процедура восстановления загрузчика grub2 на этом завершена.
Применение статьи на практике: https://onstartup.ru/forum/po-motivam-grub-rescue/
Золотой ты человек! Чтоб я делал без загрузочной флешки!
А я Вам так скажу: лично у меня Загрузочная флешка всегда под рукой. Небольшая - всего 2 Gb. Но, зато она старенькая, а значит - не подведёт в ответственный момент.
На ней легко помещается самый необходимый "инструментарий" для восстановления системы.
Просто, и удобно. Это - как запасной "ключик" от дверей дома - если вдруг потерял "основной" - всегда найдётся "запасной"! 🙂