Восстановление загрузки Linux при ошибке GRUB
Быстрое руководство по содержанию
- Когда загрузчик не загружается
- Работа в оболочке GRUB (
grub>) — пошагово - Работа в режиме GRUB Rescue (
grub rescue>) — пошагово - Альтернативные подходы и восстановление через Live USB
- Частые причины и когда эти методы не сработают
- Методология диагностики и чек-листы для ролей
- Сводка и критерии приёмки
Когда загрузчик не загружается
Отказ загрузки — одна из наиболее неприятных проблем: компьютер включается, но ОС не стартует. На Linux основной загрузчик — GRUB (чаще GRUB 2). GRUB читает конфигурацию и загружает ядро и начальный ramfs. Если конфигурация повреждена или файлы утеряны, вы можете оказаться в минималистичной командной оболочке GRUB.
Символы, которые вы можете увидеть:
grub>или
grub rescue>Первая оболочка (grub>) предоставляет больше команд; вторая (grub rescue>) — сильно урезанная. Оба варианта позволяют загрузиться вручную и затем восстановить постоянную конфигурацию.

ALT: Экран начальной загрузки Ubuntu Linux на ноутбуке с логотипом и строкой загрузчика
Важно: под «GRUB» обычно понимают GRUB 2 — современный загрузчик с 2012 года, унаследовавший ряд изменений в форматах конфигурации и поддержке загрузки с внешних носителей.
Работа в оболочке GRUB (grub>) — пошагово
Это пошаговая инструкция, когда вы попали в grub>.
- Просмотрите доступные устройства и разделы
lsВы увидите список вроде (hd0), (hd0,gpt1), (hd0,gpt2) и т. п. Обозначения:
(hd0)— первый жесткий диск(hd0,1)или(hd0,gpt1)— первый раздел на первом диске
- Просмотрите содержимое конкретного раздела
ls (hd0,2)/Ищите папки /boot и /etc — это укажет на ваш Linux-раздел.
- Проверка текстовых файлов (опционально)
cat (hd0,2)/etc/issue
cat (hd0,2)/etc/fstab- Просмотр файлов в /boot
ls -lh (hd0,2)/bootВы должны увидеть файлы vmlinuz-<версия> и initrd.img-<версия> или аналогичные.
- Указываем GRUB корневой раздел
set root=(hd0,2)- Загружаем ядро и указываем корневой раздел Linux (в примере — /dev/sda2)
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2 ro quietПримечание: используйте правильный путь к образу ядра и устройство root для вашей системы. На современных системах вместо /dev/sda2 могут использоваться UUID или метки LVM/RAID.
- Загружаем initramfs
initrd /boot/initrd.img-6.2.0-20-generic- Запускаем загрузку
bootЕсли система загрузилась — выполните в ОС:
sudo update-grub
sudo grub-install /dev/sdagrub-install указывайте на диск (например /dev/sda), а не на раздел (не /dev/sda1).
Примеры и пояснения
- Если в
lsвы видите(hd2,1), это третий диск (sdc) раздел 1 — т.е./dev/sdc1. - Опция
ro quietвlinuxпомогает указать режим монтирования и уменьшить вывод во время загрузки; при отладке можно убратьquiet. - Если у вас UEFI, ядро и initramfs всё равно в /boot, но GRUB может находиться в ESP-разделе (обычно
vfat,EFI), и для установки GRUB нужно учитывать режим (UEFI vs BIOS).

ALT: Приглашение командной строки оболочки GRUB с подсказкой доступных команд
Работа в режиме GRUB Rescue (grub rescue>) — пошагово
Если вы находитесь в grub rescue>, набор команд ограничен. Тем не менее, можно загрузиться, выполнив дополнительные шаги:
- Найдите раздел с файлами GRUB и /boot
ls
ls (hd0,2)/- Установите префикс (путь к файлам GRUB) и корень
set prefix=(hd0,2)/boot/grub
set root=(hd0,2)- Подключите модуль normal (в
grub>он обычно доступен)
insmod normal
insmod linuxЕсли команда insmod не находит модуль, проверьте правильность prefix и root — модуль должен находиться в prefix.
- Загрузите ядро и initrd, как в обычной оболочке
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2 ro
initrd /boot/initrd.img-6.2.0-20-generic
boot- После успешной загрузки в ОС восстановите конфигурацию
sudo update-grub
sudo grub-install /dev/sda
ALT: Ввод команд в среде GRUB rescue для указания префикса, root и загрузки ядра
Другие возможные способы восстановления
Если ручная загрузка не помогает или файлов нет, вот альтернативы:
- Загрузка с Live USB (Live CD) и восстановление GRUB из chroot:
- Загрузитесь с Live USB вашей дистрибуции.
- Найдите разделы (
lsblk,fdisk -l). - Смонтируйте корневой раздел и, при наличии отдельного /boot и ESP, смонтируйте их тоже.
- Выполните chroot и обновите grub:
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot # если есть отдельный /boot
sudo mount /dev/sdaX /mnt/boot/efi # если UEFI ESP
for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done
sudo chroot /mnt
update-grub
grub-install /dev/sda
exit- Использовать автоматические инструменты: Boot-Repair (GUI) может восстановить GRUB в большинстве случаев.
- Переустановить ядро/пакеты initramfs: если отсутствуют initrd или vmlinuz, переустановите пакет ядра или выполните
update-initramfs -u. - Для систем с LVM/RAID/шифрованием: смонтируйте и активируйте тома LVM, расшифруйте машины с LUKS перед chroot.
Когда эти методы не сработают — распространённые причины
- Диск физически повреждён или таблица разделов повреждена.
- GRUB-файлы отсутствуют и у вас нет резервных копий ядра или initrd.
- Корневой раздел зашифрован и initramfs не настроен для расшифровки. Тогда простая загрузка ядра без расшифровки не даст результата.
- Сложные конфигурации LVM/RAID: если не активировать тома в Live-режиме, файловая система останется недоступной.
- Неправильный режим загрузки: попытка загрузиться в BIOS-режиме при установленном GRUB в UEFI-режиме или наоборот.
Важно: если диск использует аппаратный RAID или сложный контроллер, GRUB может не иметь доступа к разделам без специальных модулей.
Методология диагностики (минималистичный SOP)
- Зафиксируйте текущее сообщение об ошибке и снимок экрана.
- Определите, какой режим GRUB у вас (
grub>илиgrub rescue>). - Выполните
lsв GRUB для обнаружения разделов. - Убедитесь, что на разделе есть
/bootи файлы ядра. - Попробуйте ручную загрузку ядра и initrd.
- Если успешно — обновите
grub.cfgи переустановите загрузчик. - Если неуспешно — загрузитесь с Live USB и проделайте chroot-процедуру.
- Документируйте изменения и протестируйте несколько перезагрузок.
Чек-листы по ролям
Для пользователя (не админа):
- Подготовьте Live USB с тем дистрибутивом, который вы используете.
- Сфотографируйте экран с ошибкой (желательно полный вывод).
- Наберите команды
ls,catв GRUB и сохраните вывод (скриншоты). - Звоните администратору или в поддержку с этой информацией.
Для администратора:
- Проверить таблицу разделов и идентифицировать ESP/LVM/RAID.
- Проверить наличие
/bootи файловvmlinuz/initrd. - Выполнить ручную загрузку из GRUB; если не удаётся — перейти к Live USB и chroot.
- Обновить
grub.cfgи выполнитьgrub-installв нужном режиме (UEFI/BIOS). - Протестировать перезагрузку и регрессионное тестирование обновлений ядра.
Ментальные модели и полезные эвристики
- «ls → найти /boot → проверить версии → установить root → linux+initrd → boot» — последовательность действий. Это простой «путь к загрузке».
- Всегда думайте о трёх уровнях: (1) конфигурация GRUB, (2) файлы в /boot, (3) доступ к разделам (LVM/RAID/шифрование).
- При неопределённости используйте Live-режим — он позволяет работать с файлами без риска дозагрузки.
Совместимость и нюансы UEFI vs BIOS
- BIOS (Legacy): GRUB обычно устанавливается в MBR диска
/dev/sdX. - UEFI: GRUB (или shim) устанавливается в EFI System Partition (ESP), обычно монтируется в
/boot/efiи отформатирована как FAT32. - При смене режима (UEFI→BIOS или наоборот) GRUB может не найти свои модули.
- При восстановлении в UEFI-режиме используйте параметр
--target=x86_64-efiи укажите--efi-directory=/boot/efiпри grub-install, если требуется.
Примеры ошибок и контрпримеры
- Контрпример 1: Если
ls (hd0,2)/bootне показывает ядро и initrd — ручная загрузка невозможна; используйте Live USB и восстановление файлов. - Контрпример 2: Если корневой раздел зашифрован LUKS, попытка
linux ... root=/dev/sda2приведёт к аварии — нужно чтобы initrd содержал модуль расшифровки или выполнялась расшифровка до монтирования.
Диагностическое дерево (Mermaid)
flowchart TD
A[Старт: Устройство не загружается] --> B{Появляется какой prompt?}
B -->|grub>| C[Выполнить ls, найти /boot]
B -->|grub rescue>| D[Установить prefix и root]
C --> E{Найдено ядро и initrd?}
D --> E
E -->|Да| F[Задать linux, initrd, boot]
E -->|Нет| G[Загрузиться с Live USB и восстановить файлы]
F --> H{Загрузилось?}
H -->|Да| I[Выполнить update-grub и grub-install]
H -->|Нет| G
G --> J[Проверить LVM/RAID/шифрование или аппаратные проблемы]
J --> K[Восстановление или замена диска]Критерии приёмки
- Система загружается в графический/текстовый логин без ручного вмешательства в течение обычной последовательности загрузки.
sudo update-grubвыполняется без ошибок и в/boot/grub/grub.cfgпоявляются актуальные записи.grub-installпрошёл успешно (если был выполнен), и при перезагрузке GRUB стартует корректно.
Примеры команд для Live USB и восстановления (с пояснениями)
- Найти диски и разделы:
sudo fdisk -l
sudo lsblk -f- Смонтировать разделы и выполнить chroot:
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot # при наличии отдельного /boot
sudo mount /dev/sdaX /mnt/boot/efi # при UEFI
for i in /dev /dev/pts /proc /sys /run; do sudo mount --bind $i /mnt$i; done
sudo chroot /mnt
update-grub
grub-install /dev/sda
exit
for i in /run /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
sudo umount /mnt/boot/efi
sudo umount /mnt/boot
sudo umount /mnt- Восстановление initramfs (в chroot):
update-initramfs -u -k all- Переустановка ядра (по пакетному менеджеру, пример для Debian/Ubuntu):
sudo apt-get install --reinstall linux-image-$(uname -r)Безопасность и предостережения
- Не изменяйте таблицу разделов без создания резервной копии, если данные важны.
- При работе с chroot убедитесь, что монтируете /dev, /proc, /sys и /run — иначе команды типа grub-install могут не сработать.
- Если диск физически неисправен — сначала клонируйте важные разделы (ddrescue), а затем восстанавливайте загрузчик.
Краткая сводка
- В
grub>используйтеls,set root=,linux,initrd,boot. - В
grub rescue>дополнительно используйтеset prefix=иinsmod normal. - После загрузки выполните
update-grubиgrub-install. - Если файлы отсутствуют или есть LVM/RAID/шифрование — используйте Live USB и chroot.
Резюме
В большинстве случаев ручная загрузка через GRUB позволяет временно вернуть систему в рабочее состояние. После этого нужно восстановить конфигурацию GRUB через update-grub и, при необходимости, grub-install. В сложных случаях (шифрование, LVM/RAID, физический сбой диска) потребуется работа из Live-режима и дополнительные шаги по монтированию, расшифровке и восстановлению файлов.
Дополнительные ресурсы: используйте официальные страницы вашего дистрибутива и документацию GRUB для нюансов установки в UEFI/BIOS режимах.
Похожие материалы
Как найти камеру в смарт‑телевизоре
Как создать сайт: выбор платформы и запуск
Как отформатировать HDD или SSD в Windows
Как открыть сайт, если он не загружается
Изменение размера таблицы и столбцов в Excel