Что означает ошибка GRUB
Ошибки GRUB в Ubuntu проявляются в нескольких формах:
- Экран
grub>— минимальный командный интерфейс GRUB, появляется, когда не может найти конфигурационный файлgrub.cfg. - Экран
grub rescue>— ещё более ограниченный режим, активируется при повреждении основного загрузчика или раздела. - Сообщение
error: no such partition— GRUB не может найти раздел с установленной системой. - Пропуск Ubuntu в меню — система не отображается в списке загрузки, хотя установлена.
- Зависание на чёрном экране после выбора пункта — возможно, повреждён конфиг или ядро.
Эти симптомы означают, что загрузчик не может корректно прочитать конфигурацию или передать управление ядру Linux. Чаще всего проблема возникает после:
- Прерывания обновления системы или ядра.
- Вручную изменённых настроек GRUB (например, в
/etc/default/grub). - Повреждения раздела (сбой диска, некорректное изменение таблицы разделов).
- Переустановки Windows, которая перезаписала MBR/ESP.
- Ошибок при клонировании диска или переносе системы на другой накопитель.
Причины возникновения
- Повреждение файла
grub.cfg— конфигурационный файл может быть удалён, повреждён или не обновлён после установки нового ядра. - Неверные настройки в
/etc/default/grub— ошибки в параметрах (например,GRUB_CMDLINE_LINUXилиGRUB_TIMEOUT) могут сделать GRUB неработоспособным. - Перезапись загрузчика Windows — при установке или восстановлении Windows её загрузчик перезаписывает MBR (в BIOS) или запись в EFI-раздел (в UEFI), удаляя GRUB.
- Изменение таблицы разделов — перемещение, удаление или изменение типов разделов, где resides GRUB (особенно
/bootили EFI-системный раздел). - Недостаток места в
/boot— при заполнении раздела/bootобновления ядра могут не устанавливаться полностью, ломая загрузку. - Ошибки в модулях GRUB — повреждение файлов в
/boot/grub(например,core.img) из-за сбоя диска или прерванной записи. - Несоответствие режимов загрузки (BIOS/UEFI) — если Ubuntu установлена в режиме UEFI, а BIOS настроен на Legacy, или наоборот, GRUB не будет найден.
Способы решения
Способ 1: Восстановление GRUB с помощью Boot-Repier (графический способ)
Boot-Repair — это утилита, которая автоматически диагностирует и исправляет большинство проблем с GRUB. Подходит для новичков и быстрого решения.
- Загрузитесь с Live-носителя Ubuntu (как описано в
howToStepsвыше). - Подключитесь к интернету (через Wi-Fi или провод).
- Откройте терминал и выполните:
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair - В открывшемся окне нажмите «Рекомендуемое исправление» (Recommended repair).
- Дождитесь завершения (может потребоваться 5-10 минут). Утилита автоматически переустановит GRUB, обновит конфигурацию и исправит типичные ошибки.
- После завершения закройте окно, перезагрудитесь, извлеките Live-носитель.
⚠️ Важно: Если Boot-Repair предлагает создать отчёт (paste URL), сохраните его — он поможет в дальнейшей диагностике, если проблема не решится.
Способ 2: Восстановление GRUB вручную через chroot (командная строка)
Этот метод даёт полный контроль и работает, когда Boot-Repair не помогает или требуется точная настройка.
- Загрузитесь с Live-носителя Ubuntu и откройте терминал.
- Определите раздел с Ubuntu (см.
howToSteps, шаг 2). Допустим, это/dev/sda3. - Смонтируйте корневой раздел:
Если у вас отдельный разделsudo mount /dev/sda3 /mnt/boot, смонтируйте его:
Если используется UEFI, смонтируйте EFI-системный раздел (обычно FAT32, размер 100-500 МБ):sudo mount /dev/sdaX /mnt/boot # замените X на номер раздела /bootsudo mount /dev/sdaY /mnt/boot/efi # замените Y на номер EFI-раздела - Смонтируйте виртуальные файловые системы:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - Если используется chroot с IPv6-адресацией, можно также смонтировать
/run:sudo mount --bind /run /mnt/run - Выполните chroot:
Теперь вы находитесь в своей установленной Ubuntu.sudo chroot /mnt - Для систем BIOS (Legacy):
Для систем UEFI:grub-install /dev/sda update-grub
Если командаgrub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck update-grubgrub-installзавершается с ошибкой, проверьте, смонтирован ли EFI-раздел и есть ли в нём папкаEFI/ubuntu. - Выйдите из chroot:
exit. - Размонтируйте все разделы:
sudo umount -R /mnt - Перезагрузитесь.
Способ 3: Переустановка GRUB (если предыдущие не помогли)
Иногда помогает полная переустановка GRUB с очисткой старых данных.
- Выполните шаги 1-6 из Способ 2 (chroot).
- Удалите старые файлы GRUB:
rm -rf /boot/grub rm -rf /boot/efi/EFI/ubuntu # только для UEFI - Переустановите GRUB, как в шаге 7 Способ 2.
- Обновите конфигурацию:
update-grub - Выйдите и размонтируйте, перезагрузитесь.
Способ 4: Исправление конфигурации GRUB (если ошибка в конфиге)
Если GRUB загружается, но не находит ядро или показывает ошибки вроде error: file '/boot/vmlinuz-...' not found, проблема может быть в конфигурационном файле.
- Загрузитесь в Ubuntu (через Rescue mode или если загрузка частично работает).
- Откройте файл
/etc/default/grub:
Проверьте параметры:sudo nano /etc/default/grubGRUB_CMDLINE_LINUX— не должен содержать некорректных опций.GRUB_TIMEOUT— разумное значение (например, 5-10 секунд).GRUB_DISTRIBUTORиGRUB_OS_PROBER— обычно оставляют по умолчанию.
- Если вы недавно меняли этот файл, попробуйте временно закомментировать изменения (добавьте
#в начале строки). - Обновите конфигурацию:
sudo update-grub - Перезагрузитесь.
Если система не загружается даже после этого, возможно, проблема в файлах ядра. Проверьте наличие файлов в /boot:
ls -la /boot
Убедитесь, что есть файлы vmlinuz-<версия-ядра> и initrd.img-<версия-ядра>. Если их нет, переустановите ядро:
sudo apt install --reinstall linux-image-generic
sudo update-grub
Профилактика
Чтобы избежать повторения ошибок GRUB:
- Не прерывайте обновления системы — особенно процессы, связанные с ядром (
linux-image-*) или GRUB (grub-pc,grub-efi). Используйтеsudo apt update && sudo apt upgradeв стабильном состоянии. - Создавайте резервные копии важных разделов (например,
/bootи EFI-раздел) перед серьёзными изменениями. Простой способ:sudo cp -a /boot /boot-backup sudo cp -a /boot/efi /boot-efi-backup # для UEFI - Избегайте ручного редактирования файлов в
/boot/grub— изменения должны вноситься через/etc/default/grubиupdate-grub. - Соблюдайте единообразие режима загрузки — не переключайтесь между BIOS и UEFI без переустановки системы. Проверьте текущий режим:
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS - Следите за свободным местом на
/boot— при заполнении (более 90%) удаляйте старые ядра:
Или вручную:sudo apt autoremove --purgedpkg -l 'linux-image*' | grep '^ii' # посмотреть установленные sudo apt remove linux-image-<старая-версия> - При установке Windows рядом с Ubuntu — всегда загружайтесь с Live-USB и восстанавливайте GRUB после завершения установки Windows.
Следование этим рекомендациям значительно снизит риск появления ошибок загрузчика. Если проблема возникла, начните с Boot-Repair — он решает до 80% случаев. В сложных ситуациях используйте ручное восстановление через chroot.