Что означает ошибка GRUB unknown filesystem
При загрузке Linux вы видите сообщение error: unknown filesystem или попадаете в командную строку grub rescue>? Это означает, что GRUB (Grand Unified Bootloader) не может распознать тип файловой системы на разделе, где хранятся его модули, конфигурационный файл grub.cfg или образ ядра. В результате система не загружается дальше этапа загрузчика.
Ошибка обычно появляется сразу после BIOS/UEFI, до того как начнёт загружаться ядро Linux. Полный текст может варьироваться в зависимости от версии GRUB, но суть одна: загрузчик столкнулся с разделом, который не может прочитать.
Причины возникновения
Ошибка unknown filesystem возникает по нескольким конкретным причинам:
- Повреждение файловой системы на разделе
/boot— если раздел, содержащий файлы загрузчика (например,/boot), имеет ошибки, GRUB может не суметь его опознать. - Неправильный тип файловой системы в конфигурации GRUB — в файле
grub.cfgили в настройках модулей указан неверный тип (например,ext2вместоext4илиbtrfs). - Отсутствие модуля GRUB для поддержки файловой системы — если вы используете менее распространённую ФС (Btrfs, ZFS, exFAT), а соответствующий модуль не загружен или не установлен.
- Раздел
/bootне смонтирован или смонтирован некорректно — особенно актуально для систем с отдельным разделом/boot. - Повреждение суперблоков файловой системы — критические повреждения структуры ФС, из-за которых GRUB не может прочитать метаданные.
- Использование файловой системы, не поддерживаемой GRUB по умолчанию — например, NTFS или exFAT без дополнительных модулей.
Способы решения
Способ 1: Быстрое исправление через grub rescue
Если вы уже находитесь в grub rescue>, можно вручную загрузить систему, чтобы потом исправить конфигурацию.
- В командной строке
grub rescue>выполнитеlsчтобы увидеть список разделов. GRUB обозначает их как(hd0),(hd0,msdos1),(hd0,gpt1)и т.д. - Найдите раздел, содержащий
/bootили файлы ядра (обычноvmlinuzиinitrd). Для проверки используйтеls (hd0,1)/чтобы посмотреть содержимое. - Установите правильный раздел как корневой для GRUB:
Заменитеset root=(hd0,1)(hd0,1)на ваш раздел. - Загрузите нормальный модуль меню:
insmod normal - Перейдите в обычное меню GRUB:
normal - Теперь выберите нужный пункт меню и загрузитесь в систему.
После успешной загрузки обязательно исправьте конфигурацию GRUB, чтобы проблема не повторилась. Обычно помогает переустановка GRUB или обновление конфигурации (см. Способ 2).
⚠️ Важно: Если после перезагрузки ошибка возвращается, значит проблема не в временных настройках, а в конфигурации или файловой системе. Переходите к следующим способам.
Способ 2: Восстановление с помощью Live USB
Это наиболее надёжный метод, если grub rescue не помогает или вы не можете загрузиться вообще.
- Загрузитесь с загрузочного носителя (Live USB/DVD) любого дистрибутива Linux.
- Откройте терминал.
- Определите разделы с помощью
lsblkилиfdisk -l. Найдите ваш корневой раздел (например,/dev/sda2) и раздел/boot(если он отдельный, например/dev/sda1). - Смонтируйте корневой раздел:
Если у вас отдельныйsudo mount /dev/sda2 /mnt/boot:sudo mount /dev/sda1 /mnt/boot - Смонтируйте системные виртуальные файловые системы для chroot:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - Если используется UEFI, смонтируйте ESP (EFI System Partition):
sudo mount /dev/sda1 /mnt/boot/efi # путь может отличаться - Перейдите в chroot окружение:
sudo chroot /mnt - Переустановите GRUB на диск (не на раздел!). Для BIOS:
Для UEFI:grub-install /dev/sdagrub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB - Обновите конфигурацию GRUB:
Эта команда автоматически обнаружит ядро и сгенерирует правильныйupdate-grubgrub.cfg. - Выйдите из chroot и перезагрузитесь:
exit sudo reboot
Способ 3: Проверка и исправление файловой системы
Если проблема в повреждении ФС, нужно запустить fsck.
- Загрузитесь с Live USB (как в Способе 2).
- Перед монтированием раздела
/boot(или корневого, если/bootв нём) выполните проверку:
Для ext-файловых систем можно добавитьsudo fsck -y /dev/sda1 # замените на ваш раздел /boot-fдля принудительной проверки. - Если
fsckнашёл и исправил ошибки, попробуйте снова монтировать раздел и переустановить GRUB (Способ 2). - Для файловых систем Btrfs или ZFS используйте их собственные утилиты (
btrfs check,zpool scrub).
💡 Совет: Запускайте
fsckтолько на размонтированных разделах. Иначе возможны дальнейшие повреждения.
Способ 4: Обновление конфигурации GRUB
Иногда grub.cfg устаревает или содержит ошибки.
- Загрузитесь в систему (через grub rescue или Live USB с chroot).
- Если вы в chroot, убедитесь, что раздел смонтирован.
- Перегенерируйте конфигурацию:
Или, еслиupdate-grubupdate-grubнедоступен:grub-mkconfig -o /boot/grub/grub.cfg - Проверьте, что в
grub.cfgправильно указаны пути к ядру и initrd. Откройте файл и найдите строкиlinuxиinitrd. - Если вы используете нестандартную файловую систему, убедитесь, что в начале
grub.cfgзагружаются нужные модули (например,insmod btrfs).
Способ 5: Поддержка специфических файловых систем
Если вы используете Btrfs, ZFS, exFAT или NTFS для /boot, GRUB может не иметь необходимых модулей.
- Установите дополнительные пакеты:
- Для Btrfs:
sudo apt install grub-btrfs(Debian/Ubuntu) илиsudo pacman -S grub-btrfs(Arch). - Для ZFS:
sudo apt install grub-zfs(если доступно) или настройте вручную. - Для exFAT/NTFS: установите
grub-ntfsили соберите GRUB с поддержкой.
- Для Btrfs:
- После установки перезапустите
update-grub. - Вручную добавьте загрузку модулей в
/etc/grub.d/40_customили в основной конфиг, если автоматически не добавилось.
Профилактика
Чтобы избежать ошибки unknown filesystem в будущем:
- Используйте поддерживаемые файловые системы для раздела
/boot. Рекомендуются ext2, ext3, ext4. Избегайте NTFS/exFAT для/boot. - Не редактируйте
grub.cfgвручную. Вместо этого настраивайте параметры через/etc/default/grubи скрипты в/etc/grub.d/, затем запускайтеupdate-grub. - Регулярно обновляйте GRUB вместе с системой:
sudo apt upgrade grubили аналогично. - Создавайте резервные копии конфигурации перед изменениями:
sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup - Избегайте прерывания обновления GRUB (например, отключения питания).
- Для систем с UEFI убедитесь, что EFI System Partition отформатирована в FAT32 и смонтирована правильно.