Перейти к основному содержанию

Linux — grub rescue

Linux

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.

linux

Это означает, что раздел содержит неподходящую для загрузки файловую систему.

На каком-то из разделов отобразится список директорий:

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

Теги

 

Похожие материалы

Seafile сервер для Linux версия 7.0.2

13 июня 2019 года вышла новая версия сервера Seafile для Linux — 7.0.2. Релиз уже не помечен как beta. Прошлый раз я пробовал обновить Seafile Server 6.3 до версии 7.0.0, но были проблемы и прошлось откатиться. На этот раз релиз получше. Обновлённый до 7.0.2 сервер заработал без ошибок. Да, да, прежде чем написать новость, я проверил версию на себе. Интерфейс стал удобнее и приятнее.