Решаем проблему с Grub Rescue Unknown Filesystem

Grub представляет собой универсальный загрузчик для Linux и других ОС. Например, с его помощью пользователь может иметь несколько операционных систем на одном компьютере, выбирая при включении нужную систему для загрузки. Но в некоторых случаях пользователь сталкивается с ошибкой Grub Rescue Unknown Filesystem.

Почему возникает эта ошибка?

Причины разные: например, загрузочные файлы отсутствуют либо они были перемещены. Кроме того, метрики раздела /boot могли быть изменены либо этот раздел был отформатирован, то есть он больше не существует.

Прежде всего, надо понимать, что Grub инсталлируется в 2 места. Одно из них -- таблица разделов MBR. Тут места немного, поэтому весь загрузчик сюда не помещается. Однако он обладает модульной структурой, то есть все основные модули, ресурсы и конфигурационные файлы размещаются на обычном разделе (монтируется после загрузки в /boot). При этом программа в MBR "помнит", в каком месте располагается раздел /boot, однако если с данным разделом что-либо произойдет, то программа не загрузит привычные модули, следовательно, появится ошибка unknown filesystem. Значит все это следующее: если раздел уже не существует, остается лишь брать LiveCD диск и выполнять переустановку загрузчика. Если же раздел просто изменен, то есть возможность исправить ситуацию.

Как исправить?

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

$ ls

Далее просмотрите содержимое каждого раздела -- это позволит понять, где именно располагаются файлы модулей, пример:

$ ls (hd0,1)/

Если увидели папку boot, то это нужный раздел. Далее инсталлируем данный раздел значением переменной root и посредством команды set:

set root=(hd0,1)
set prefix=(hd0,1)/boot/grub

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

insmod normal
normal

Если раздел /boot поврежден не был, загрузчик корректно определит все файлы и запустит привычное меню. Конечно же, после загрузки надо будет восстановить загрузчик Grub для того, чтобы не вводить вышеописанные команды при каждой загрузке ОС. Если же вышерассмотренным способом проблему решить не удастся, придется пройти процедуру переустановки загрузчика с помощью LiveCD-диска.

По материалам блога https://losst.ru/.