LinuxВысокая

Восстановление загрузчика GRUB: решение проблем в режиме rescue

Эта статья поможет вам выйти из режима grub rescue и восстановить работоспособность загрузчика GRUB в Linux. Вы узнаете, как временно загрузить систему и навсегда исправить загрузчик.

Обновлено 17 февраля 2026 г.
10-15 минут
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04/22.04Debian 10/11CentOS 7/8RHEL 8/9Fedora 35/36

Введение / Зачем это нужно

При загрузке Linux вы видите приглашение grub rescue> вместо обычного меню GRUB? Это означает, что загрузчик не может найти свои файлы или конфигурацию. Система не запускается, но данные на диске целы. Данный гайд поможет вам временно загрузиться через rescue-режим и полностью восстановить GRUB, чтобы снова видеть меню выбора ОС. Мы разберём случай для наиболее распространённых дистрибутивов: Ubuntu, Debian, CentOS, RHEL, Fedora.

Требования и подготовка

Перед началом убедитесь, что:

  1. Есть доступ к консоли — вы находитесь в режиме grub rescue>.
  2. Знаете, какой раздел содержит Linux — если не уверены, будем искать.
  3. Подготовьте загрузочный носитель (LiveCD/USB) с любым дистрибутивом на основе Debian/Ubuntu или CentOS/RHEL. Он понадобится для финального шага — переустановки GRUB.
  4. Права администратора при работе с LiveCD (обычно они есть по умолчанию).

⚠️ Важно: Если вы не знаете, какой именно раздел содержит вашу систему, не выполняйте команду set root наугад. Это может привести к ошибкам.

Пошаговая инструкция

Шаг 1: Определите разделы диска в rescue-режиме

В приглашении grub rescue> выполните:

ls

Вы увидите список устройств, например:

(hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos3)

или для GPT:

(hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3)

Теперь проверьте каждый раздел на наличие папки /boot или файлов ядра (vmlinuz*, linux). Для раздела (hd0,msdos1):

ls (hd0,msdos1)/

Если в выводе есть boot или файлы вроде vmlinuz-5.4.0-42-generic, этот раздел, скорее всего, содержит вашу систему. Повторите для всех разделов, пока не найдёте нужный.

💡 Совет: Если ls показывает Filesystem is unknown, раздел, вероятно, не содержит Linux или имеет неподдерживаемую файловую систему (например, NTFS). Пропускайте его.

Шаг 2: Установите корневой раздел

Предположим, вы нашли раздел (hd0,msdos1). Установите его как корневой:

set root=(hd0,msdos1)

GRUB запомнит этот раздел для дальнейших операций.

Шаг 3: Загрузите ядро и initrd

Теперь нужно указать путь к ядру (vmlinuz или linux) и initrd (initrd.img или initramfs). Сначала посмотрите, что лежит в /boot на вашем разделе:

ls (hd0,msdos1)/boot/

Пример вывода:

vmlinuz-5.4.0-42-generic
initrd.img-5.4.0-42-generic
grub

Загрузка ядра (подставьте ваши имена файлов):

linux /boot/vmlinuz-5.4.0-42-generic root=/dev/sda1 ro
  • /boot/vmlinuz-... — путь к ядру относительно корня (/).
  • root=/dev/sda1важно: укажите устройство вашего корневого раздела (тот, который вы нашли на шаге 1). Обычно это /dev/sda1, /dev/nvme0n1p1 или подобное. Если не уверены, можно временно указать root=/dev/sda1, но лучше точный путь.
  • ro — монтирует корневой раздел только для чтения на этапе загрузки (стандартный параметр).

Затем загрузите initrd:

initrd /boot/initrd.img-5.4.0-42-generic

⚠️ Внимание: Если у вас CentOS/RHEL 7+, имена файлов могут быть другими, например:

  • Ядро: vmlinuz-3.10.0-1127.el7.x86_64
  • Initrd: initramfs-3.10.0-1127.el7.x86_64.img Всегда проверяйте содержимое /boot!

Шаг 4: Загрузите систему

boot

Если всё сделано верно, система временно загрузится. Это не исправит GRUB навсегда, но даст вам доступ к ОС для дальнейших действий.

Шаг 5: Переустановите GRUB с LiveCD

После успешной загрузки (но в текущей сессии GRUB всё ещё сломан) перезагрузитесь с LiveCD. Затем:

  1. Откройте терминал.
  2. Определите, как ваш корневой раздел называется в LiveCD (обычно /dev/sda1, /dev/nvme0n1p1 и т.д.). Можно использовать lsblk или sudo fdisk -l.
  3. Смонтируйте его в /mnt:
sudo mount /dev/sda1 /mnt

⚠️ Если у вас раздел /boot отдельный, смонтируйте и его: sudo mount /dev/sda2 /mnt/boot (замените sda2 на ваш раздел /boot).

  1. Для Debian/Ubuntu:
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo update-grub
  1. Для CentOS/RHEL/Fedora:
sudo grub2-install --boot-directory=/mnt/boot /dev/sda
sudo grub2-mkconfig -o /mnt/boot/grub2/grub.cfg
  1. Размонтируйте и перезагрузитесь:
sudo umount /mnt
sudo reboot

Удалите LiveCD при перезагрузке. Теперь GRUB должен работать как раньше.

Проверка результата

После перезагрузки вы должны увидеть обычное меню GRUB с выбором операционных систем. Если меню появилось и система загружается — проблема решена.

Если ошибка осталась, проверьте:

  • Правильно ли указан корневой раздел при переустановке (/dev/sda — это диск, а не раздел!).
  • Не менялась ли разметка диска после появления ошибки? Возможно, буквы разделов сместились (например, sda1 стал sda2). Уточните через lsblk в LiveCD.

Возможные проблемы

ПроблемаРешение
error: unknown filesystem при ls (hd0,msdos1)/Раздел не содержит Linux или файловая система не поддерживается GRUB (например, Btrfs без модуля). Попробуйте другие разделы.
linux или initrd не найденыУточните имена файлов в /boot вашего раздела. Возможно, используются другие имена (например, vmlinuz-linux вместо vmlinuz-<версия>).
grub-install завершается с ошибкой No such deviceУбедитесь, что указали правильный диск (/dev/sda, а не /dev/sda1). Также проверьте, смонтирован ли раздел /boot (если он отдельный).
После восстановления GRUB не видит WindowsВыполните sudo update-grub (Ubuntu/Debian) или sudo grub2-mkconfig -o /boot/grub2/grub.cfg (CentOS/RHEL) в уже загруженной системе. Это добавит Windows в меню.
Система загружается, но сразу падает с kernel panicВозможно, в команде linux указан неверный root=. Проверьте, какой раздел смонтирован как / в вашей системе (df -h в LiveCD).

Если ни один раздел не содержит ожидаемых файлов (boot, vmlinuz*), возможно, раздел с Linux был удален или поврежден. В этом случае потребуется восстановление данных или переустановка системы.

Часто задаваемые вопросы

Что такое режим grub rescue и почему он появляется?
Можно ли исправить grub rescue без LiveCD?
Приведет ли восстановление GRUB к потере данных?
Как предотвратить появление grub rescue в будущем?

Полезное

Определите разделы диска в rescue-режиме
Установите корневой раздел
Загрузите ядро и initrd
Загрузите систему
Переустановите GRUB с LiveCD

Эта статья помогла вам решить проблему?