GRUB rescue mode

В данной статье кратко описан личный опыт восстановления GRUB после установки Windows 10 в качестве второй ОС.

После установки Windows 10 в качестве второй ОС, grub может быть поврежден. Да, да, знаю, что необходимо сначала установить Win, а затем Linux. Но в моем случае это была не установка, а вынужденное обновление, поэтому grub был затерт и после перезагрузки я получил примерно следующее:

error: unknow filesystem.
Entering rescue mode...
grub rescue>

Это аварийная консоль восстановления grub с сильно ограниченным набором команд. Grub устанавливается в два места. Первая часть - в таблицу разделов MBR. Поскольку там очень мало места, то весь загрузчик туда поместиться не может. Именно поэтому grub имеет модульную структуру, и вторая часть - основные модули, конфигурационные файлы и т.п., располагаются на обычном разделе, который монтируется после загрузки в /boot.

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

grub rescue> ls
(hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3) 

далее можно попытаться посмотреть содержимое разделов, чтобы найти раздел с /boot:

grub rescue> ls (hd0,1)/

Если раздел с /boot найден, то все хорошо - устанавливаем этот раздел в качестве загрузочного:

grub rescue> set root=(hd0,2)
grub rescue> set prefix=(hd0,2)/boot/grub

и затем запускаем модуль normal, который загрузит все необходимое:

grub rescue> insmod normal
grub rescue> normal

Если раздел с /boot не был поврежден, то загрузчик запустит привычное меню grub.

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

 sudo grub-install /dev/sda
 sudo grub-mkconfig -o /boot/grub/grub.cfg

Comments