Главная >> Инструкции >> Ошибка grub rescue unknown filesystem

Ошибка grub rescue unknown filesystem

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

Часто такие повреждения приводят к ошибке grub rescue unknown filesystem. Тогда перед вами не появляется меню, а только сообщение про ошибку и консоль восстановления для ввода команд. В этой небольшой статье мы рассмотрим как исправить эту ошибку.


Содержание статьи

Ошибка grub rescue unknown filesystem

Ошибка grub rescue unknown filesystem может возникать по разным причинам вот самые распространенные причины:

  • Вы восстанавливали диск из Clonezilla и были изменены метрики раздела /boot;
  • Раздел /boot был отформатирован и больше не существует;

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

Как исправить Grub unknown error

У вас есть простейший терминал с самой простой командной оболочкой. Чтобы знать какие команды можно там вводить наберите:

help

Дальше нам нужно посмотреть список доступных разделов, для этого используется команда ls, как в bash:

ls

Без модулей grub поддерживает только ту файловую систему, которая была на /boot. Вы можете попытаться просмотреть содержимое каждого раздела чтобы определить где находятся файлы модулей. Например:

ls (hd0,1)/

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

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

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

insmod normal
normal

Если раздел /boot не был поврежден, то загрузчик нормально определит все файлы, а потом запустит привычное для вас меню. Конечно, после того, как система загрузится, вам будет необходимо восстановить загрузчик Grub чтобы не вводить эти команды при каждой загрузке системы.

Выводы

В этой статье мы рассмотрели почему возникает ошибка error unknown filesystem grub rescue и что делать grub rescue, когда вы видите это сообщение. Да, во многих случаях у вас уже не получится загрузить систему без LiveCD диска. Но иногда все можно спасти. Надеюсь, эта информация была полезной для вас.

Оставьте свой Email для того чтобы получать анонсы новых статей и полезную информацию о Linux по электронной почте


Pеклама
Посмотреть детали

Если вы искали альтернативу почтовому сервису Gmail, который уважает вашу конфиденциальность, обратите внимание на ProtonMail. Ваши письма автоматически шифруются сквозным шифрованием, поэтому читать их можете только вы и получатель. ProtonMail не собирает ваши персональные данные и базируется в Швейцарии, где действуют одни из самых строгих законов о конфиденциальности. Посмотреть детали

18 комментариев к “Ошибка grub rescue unknown filesystem”

  1. Спасибо, помогло!
    После загрузки системы, чтобы GRUB работал постоянно, нужно ввести эти команды:
    $ sudo grub-install /dev/sda
    $ sudo grub-mkconfig -o /boot/grub/grub.cfg

    Ответить
  2. автор путает строки grub и grub rescue
    в grub rescue всего 4 команды и нет никакого help

    у меня ошибка attempt to read or write outside of disk 'hd0'
    После установки командой set рута и префикс делаю insmod normal и полчуаю обратно туже ошибку

    Ответить
  3. Спасибо, это помогло. Только была небольшая особенность, у меня было несколько раздело

    (hd0), (hd0,msdos5), (hd0,msdos3), (hd0,msdos2), (hd0,msdos1), (hd1) ...

    (hd0,msdos5) - имел /boot/grub + в корне была знакомая мне структура каталогов, но normal.mod, был на каталог ниже в /boot/grub/i386-pc/normal.mod в консоли я получил not found при выполнении команды 'insmod normal'

    (hd0,msdos3)- имел сразу в корне /grub + в корне было несколько утилит, судя по названию это были запуски проверки памяти , запуск рекавери мода и прочее, что обычно видно в boot menu.

    В моём случае мне помогло:
    $ set root=(hd0,msdos3)
    $ set prefix=(hd0,msdos3)/grub

    Ещё раз спс)

    P.S. вопрос, что было бы если я бы поставил set prefix=(hd0,msdos5)/boot/grub/i386-pc ?

    Ответить
  4. Вытащил 2 планки оперативки и система нормально загрузилась. Т.е. с диском всё в порядке и не нужно было вводить какие либо команды.

    Ответить

Оставьте комментарий