Что означает ошибка GRUB Rescue
Если при включении компьютера вместо привычного меню загрузки вы видите приглашение командной строки grub-rescue>, значит, загрузчик GRUB не может найти свои конфигурационные файлы или модули. Это не ошибка с кодом в традиционном понимании, а аварийный режим, который позволяет вручную указать пути и загрузить систему.
Типичный вывод:
grub-rescue>
Система не загружается дальше, и вы оказываетесь в ограниченной среде с минимальным набором команд.
Причины возникновения
Ошибка GRUB Rescue возникает по следующим конкретным причинам:
- Повреждение MBR/GPT: Загрузочный сектор диска (MBR) или раздел загрузки (EFI System Partition) был перезаписан, например, после установки другой ОС или сбоя.
- Удаление или перемещение файлов GRUB: Файлы в директории
/boot/grub(или/boot/efi/EFI/ubuntuдля UEFI) были удалены, повреждены или перемещены на другой раздел. - Некорректное изменение конфигурации: Ошибки в файле
/etc/default/grubили скриптах в/etc/grub.d/после ручного редактирования без последующегоupdate-grub. - Сбой диска: Появление bad-секторов на диске, где хранятся файлы GRUB, или полный отказ накопителя.
- Неверные настройки BIOS/UEFI: Изменение порядка загрузки, отключениеSecure Boot без соответствующей настройки GRUB.
Способ 1: Восстановление через rescue mode GRUB
Если вы находитесь в grub-rescue>, можно попробовать вручную загрузить систему, не используя LiveCD.
- Найдите раздел с файлами GRUB. Выполните:
ls
Вы увидите список дисков и разделов, например(hd0) (hd0,gpt1) (hd0,gpt2). Затем проверьте каждый:ls (hd0,gpt1)/
Ищите директориюbootили файлыvmlinuz(ядро) иinitrd. Как только нашли, запомните этот раздел (например,(hd0,gpt1)). - Установите переменные
rootиprefix:set root=(hd0,gpt1) set prefix=(hd0,gpt1)/boot/grub
Для UEFI-систем путь может быть(hd0,gpt1)/boot/efi/EFI/ubuntu. - Загрузите нормальный модуль GRUB:
insmod normal
Если модуль не найден, возможно, путь вprefixуказан неверно. - Перейдите в нормальный режим GRUB:
normal
Если всё правильно, появится меню GRUB. Выберите ядро и загрузитесь. - После успешной загрузки исправьте конфигурацию. В терминале ОС выполните:
sudo update-grub
Это пересоздаст конфигурацию и проверит наличие файлов.
⚠️ Важно: Этот способ даёт временную загрузку. Если проблема в повреждённых файлах, после перезагрузки ошибка может повториться. Обязательно выполните
update-grubи, при необходимости, переустановите GRUB (см. Способ 3).
Способ 2: Использование загрузочного носителя (LiveCD/USB)
Если rescue mode не помогает или вы не можете найти нужные разделы, используйте загрузочный носитель с любой Linux-системой (Ubuntu, Fedora, Debian).
- Загрузитесь с Live-носителя. Выберите опцию "Try Ubuntu" или аналогичную, чтобы получить рабочий desktop.
- Определите разделы. Откройте терминал и выполните:
sudo fdisk -l
Найдите корневой раздел (например,/dev/sda2) и раздел/boot(если отдельный). Для UEFI также найдите ESP (FAT32, типEFI System). - Смонтируйте разделы. Для стандартной схемы:
sudo mount /dev/sda2 /mnt sudo mount /dev/sda1 /mnt/boot # если /boot отдельный
Для UEFI:sudo mount /dev/sda1 /mnt/boot/efi
Также смонтируйте системные виртуальные файловые системы:for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done - Перейдите в chroot-окружение:
sudo chroot /mnt - Переустановите GRUB:
- Для BIOS/MBR:
grub-install /dev/sda update-grub - Для UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu update-grub
- Для BIOS/MBR:
- Выйдите и перезагрузитесь:
exit sudo reboot
Уберите Live-носитель при перезагрузке.
Способ 3: Ручное восстановление файлов GRUB (если они повреждены)
Если файлы в /boot/grub отсутствуют или повреждены, их можно восстановить из пакета.
- В chroot-окружении (как в Способе 2) переустановите пакет GRUB:
- Для Ubuntu/Debian:
apt-get install --reinstall grub-pc grub-common - Для Fedora:
dnf reinstall grub2-tools
- Для Ubuntu/Debian:
- Обновите конфигурацию:
update-grub # Ubuntu/Debian grub2-mkconfig -o /boot/grub2/grub.cfg # Fedora - Проверьте целостность файлов:
ls -la /boot/grub
Должны быть файлыgrub.cfg,i386-pcилиx86_64-efiмодули.
Способ 4: Использование утилиты Boot-Repair (для Ubuntu и производных)
Boot-Repair — это автоматический инструмент, который часто решает проблемы с GRUB.
- В Live-сессии Ubuntu добавьте репозиторий и установите:
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair - Запустите:
boot-repair - Выберите "Recommended repair". Утилита автоматически определит проблему и исправит GRUB, MBR/ESP.
- Следуйте инструкциям на экране. В конце появится URL с логом — сохраните его на случай повторения проблемы.
Профилактика
Чтобы избежать повторного попадания в GRUB Rescue:
- Резервное копирование загрузчика:
sudo dd if=/dev/sda of=~/mbr-backup.img bs=512 count=1 # для BIOS sudo cp -r /boot/grub ~/grub-backup/ # файлы GRUB
Для UEFI скопируйте директорию ESP:sudo cp -r /boot/efi/EFI ~/efi-backup/ - Аккуратное управление разделами: Не изменяйте порядок разделов и не удаляйте неизвестные разделы, особенно тип
EFI Systemили с флагомboot. - Регулярное обновление GRUB: После установки нового ядра или изменений в
/etc/default/grubвсегда выполняйтеsudo update-grub. - Мониторинг здоровья диска: Раз в месяц проверяйте S.M.A.R.T.-статус:
sudo smartctl -a /dev/sda
И файловые системы:sudo fsck -f /dev/sda2 - Избегайте установки Windows после Linux: Если нужно установить Windows, делайте это до Linux или будьте готовы восстановить GRUB вручную.
- Используйте LVM или RAID с осторожностью: Сложные схемы хранения увеличивают риск проблем с загрузкой. Убедитесь, что initramfs содержит необходимые модули.