
Содержание
В случае возникновения проблем с загрузчиком появляется надпись 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/
Вопрос по этой теме: как я уже написал, поставил вторую Ubuntu - 21.10, не понравилась. Но, загрузчик теперь по умолчанию переместился в неё.
Если я сейчас из этой - 20.04 просто введу команду терминала
sudo grub-install /dev/sda && update-grub
как считаете, загрузка вернётся обратно в 20.04? "/etc/default/grub" нормальный.
А потом просто отформатирую раздел с 21.10-той...
Или вначале отформатировать раздел, а потом команду? Чтоб update-grub просто не нашёл той системы...
Принципиальной разницы в порядке действий нет, оба варианта подходят. На всякий случай подготовьте загрузочный носитель для восстановления загрузчика через окружение chroot.
Спасибо!
Флешка у меня всегда под рукой, ещё с той, первой установки 20.04. И эту инструкцию я сохранил в закладках на всех компьютерах 🙂
И Вам спасибо за комментарии, обращайтесь! 🙂
______________________________________________________________
Уже писал выше, что получилось создать свою тему для загрузчика Grub.
Admin сказал, что: "можно поделиться" 🙂
______________________________________________________________
Статья находится здесь: https://onstartup.ru/articles/linux/nastrojka-menyu-zagruzchika-grub2/
Спасибо Вам огромное за инструкцию!
Вы можете отправить мне сообщение через форму обратной связи. Я сделаю для Вас личный аккаунт с возможностью создавать новые статьи.
Уважаемый admin! 😉
Подредактируйте этот ответ, чтобы не вводить посетителей в заблуждение... Здесь указана неверная команда, она уже не существует.
Сейчас провожу поиск другого решения. Надеюсь, днём оно будет готово.
Ваш комментарий изменён, файл размещён на данном сайте. Благодарю за поправку.
Статья не один раз спасала, и даже сегодня.
Для проверки решил поставить KUbuntu 20.04.4. При загрузке с Live-CD было предложено 2 варианта установки загрузчика в систему: на
/dev/sda
и/dev/sda1
. В первом случае (на/dev/sda
), получилось всё как надо.Взял интерес, а что будет, если установить загрузчик на
/dev/sda1
(и для чего вообще этот вариант)?В итоге, после перезагрузки система не захотела грузиться. И что делать? Ставить по новой?
А KUbuntu оказалась весьма "тяжёлой" ОС. Не очень хочется тратить время.
Как что? Есть же "выручалочка": "grub rescue – что делать?" Снова по Инструкции — и все в строю.
Только помню первый опыт знакомства с Инструкцией: ноутбук с неработающей системой и ПК с текстом. Подтащил ноутбук поближе и стал вбивать команды:
sudo su -
— это понятно.Проверка, где находится "boot" — тоже не возник вопрос.
Далее - сложнее:
Длинная команда. Пришлось немного побегать между ПК и "маленьким". Но сложилось удачно.
Сегодня для себя разложил эту длинную на три:
Так проще редактировать в Терминале: забиваешь одну — Enter. Стрелочка Вверх и редактируешь первую. Снова Enter. Опять Вверх, и ещё подредактировать предыдущую.
Ну и KUbuntu удачно прошла загрузку.
Здравствуйте! У меня проблема в том, что grube пишет что такой папки нет (ни hd0, ни hd0,msdos1). Проделывал все что можно, и как тут указано, но после команды "insmod normal" выдают эту ошибку "error: unknow filesystem"
Здравствуйте, Yunus!
С Live-CD пробовали загрузиться?
Здравствуйте, подскажите результат вывода команды
ls
. Если в названии диска (hd0) ошибки нет, то будет необходимо проверить файловую систему командойfsck
, это можно сделать с загрузочного диска. Сначала лучше попробовать способ, о котором говорит Роман: Восстановление Ubuntu с флешки.Здравствуйте, ещё раз!
Хотел бы отметить ещё один такой момент...
Допустим, загрузочную флешку Вы уже создали на другом компьютере (и даже не важно сейчас, той или не той она системы).
Более подробно о создании Загрузочной флешки Вы можете почитать здесь же.
Первым делом порекомендовал бы Вам выполнить команду в Терминале (Ctrl + Alt + T):
Если Вы видите свой жёсткий диск — можете вздохнуть с облегчением — HDD у Вас исправен!
Далее — только дело техники. Что-то с системой! Либо действуйте по статье, которую Павел привёл чуть выше, либо, если ничего не получится — подумаем над другими вариантами! Всё поправимо! Только не спешите и не делайте «ненужных» ошибок!!!
В любом случае пишите, нам будет интересен любой вариант, который приведёт к исправлению!
Спасибо, груб починил
Рад помочь 🙂