GRUB — GRand Unified Bootloader. Универсальный загрузчик, который устанавливается вместе с операционной системой Linux. В настоящее время большинство систем Linux используют GRUB2.
Если загрузчик GRUB не может найти папку grub или если файловая система диска повреждена, то вы можете при загрузке увидеть такую картину:
error: no such partition. Entering rescue mode... grub rescue > _
Или такую:
error: unknown filesystem. Entering rescue mode... grub rescue > _
Или просто:
grub rescue > _
Операционная система загрузиться не может. Что делать?
Посмотрим какие разделы на диске видит загрузчик с помощью команды ls:
grub rescue > ls (hd0) (hd0,msdos5) (hd0,msdos1)
В результате у нас отобразится:
- (hd0) — это диск
- (hd0,msdosX) — это найденные разделы диска
У меня найден один диск и два раздела на нём, первый и пятый. На название msdos не обращаем внимания, GRUB не определяет тип файловой системы.
Теперь нам нужно найти загрузочный раздел. По очереди перебираем разделы:
grub rescue > ls (hd0,msdos1)/ grub rescue > ls (hd0,msdos5)/
или
grub rescue > ls (hd0,1)/ grub rescue > ls (hd0,5)/
Можно получить ошибку:
error: unknown filesystem.
Это означает, что раздел содержит неподходящую для загрузки файловую систему.
На каком-то из разделов отобразится список директорий:
grub rescue > ls (hd0,msdos1)/ ./ ../ lost+found/ boot/ vmlinuz-3.2.0-4-686-pae initrd.img-3.2.0-4-686-pae
Видим директорию boot, это нужный нам раздел. В зависимости от операционной системы путь к загрузчику может отличаться, вместо /boot/grub может быть /grub или ещё что-нибудь.
Устанавливаем переменные prefix и root:
grub rescue > set prefix=(hd0,msdos1)/boot/grub grub rescue > set root=(hd0,msdos1)
Загружаем систему:
grub rescue > insmod ext2 grub rescue > insmod normal grub rescue > normal
После загрузки ОС нужно восстановить загрузчик GRUB на загрузочном разделе:
sudo grub-install /dev/sda
sudo update-grub
unknown filesystem
Случается, что на всех разделах отображается ошибка:
error: unknown filesystem
Качаем boot-repair-disk и пытаемся восстановить файловую систему с помощью fsck в нужном разделе:
sudo fsck -y /dev/sda1