Устранение ошибок загрузчика GRUB: подробное пошаговое руководство

Что такое GRUB и как он работает
GRUB (Grand Unified Bootloader) — загрузчик, который запускает операционную систему и передаёт ей управление. В типичной установке GRUB использует конфигурационный файл /boot/grub/grub.cfg и двухэтапный процесс загрузки: первичный загрузчик считывает конфигурацию, затем загружает ядро и initramfs (инициализационный RAM‑диск).
Коротко: grub.cfg — главный источник правил загрузки. Любые неверные записи в нём или повреждения файлов могут привести к невозможности загрузки системы.
Важно: прежде чем вносить изменения, сделайте полную резервную копию важных данных и, при необходимости, снимите образ диска (dd, Clonezilla и т.п.).
Быстрая ориентировка по типичным сценариям
- Вы видите сообщение GRUB и меню загрузки — можно работать через CLI GRUB.
- Система тупо не загружается и не показывает меню — используйте live‑USB для диагностики и восстановления.
- После установки/обновления Windows или манипуляций с разделами — часто повреждается загрузчик GRUB.
Типичные ошибки GRUB и как их лечить
Ниже — подробные инструкции по наиболее частым сообщениям об ошибках и пошаговые команды для восстановления. Все примеры предполагают, что вы понимаете, какой диск и раздел соответствует вашей системе (sda/sdb, msdos/GPT и т.п.).
No such partition — раздел не найден
Симптом: при загрузке появляется “error: no such partition” или GRUB переходит в rescue/CLI.
Причина: GRUB не находит раздел, указанный в конфигурации — возможно, был удалён, смещён номер раздела или изменена таблица разделов.
Действия:
- Войдите в CLI/рескью GRUB (обычно доступен через меню GRUB).
- Перечислите видимые диски и разделы:
grub> ls
# Пример вывода: (hd0) (hd0,msdos1) (hd1) (hd1,msdos2)- Найдите раздел с /boot или корневой файловой системой. Для проверки содержимого используйте:
grub> ls (hd0,msdos1)/
# Просмотрите наличие /vmlinuz, /boot, /initramfs и т.д.- Установите корректный root для GRUB (пример):
grub> set root=(hd0,msdos1)- Загрузите ядро и initrd, указав реальный путь и правильный root= для ядра (у вас может быть /dev/sda1, /dev/nvme0n1p1 и т.д.):
grub> linux /vmlinuz-<версия> root=/dev/sda1 ro
grub> initrd /initrd.img-<версия>
grub> bootПримечание: имена файлов /vmlinuz- и /initrd.img- и путь /boot могут отличаться в вашей системе.
File not found — файл не найден
Симптом: “error: file not found” при попытке загрузки указанных в grub.cfg файлов.
Причина: отсутствует файл ядра/инициализационного образа или путь в grub.cfg не совпадает с реальным.
Действия:
- В CLI GRUB выполните ls по подозреваемому разделу и путям (/boot, /boot/grub):
grub> ls (hd0,msdos1)/boot/- Если файлы находятся в другом месте — установите правильный root и загрузите вручную, как в предыдущем разделе:
grub> set root=(hd0,msdos1)
grub> linux /boot/vmlinuz-<версия> root=/dev/sda1 ro
grub> initrd /boot/initrd.img-<версия>
grub> boot- После успешной загрузки пересоберите конфигурацию GRUB в системе (обычно sudo update-grub или sudo grub-mkconfig):
sudo update-grub # Debian/Ubuntu
sudo grub-mkconfig -o /boot/grub/grub.cfg # альтернативыUnknown filesystem — неизвестная файловая система
Симптом: “error: unknown filesystem” при попытке прочитать раздел.
Причина: GRUB не соответствует модуль для текущей ФС (например, ext4, xfs, btrfs), или раздел повреждён.
Действия:
- В CLI GRUB посмотрите список и содержимое раздела:
grub> ls
grub> ls (hd0,msdos1)/- Если ls показывает «unknown filesystem» или не может отобразить содержимое, попробуйте подгрузить модуль ФС (пример для ext2/3/4):
grub> insmod ext2Для btrfs используйте insmod btrfs, для xfs — insmod xfs и т.д. После этого повторите ls и, если файлы видны, продолжайте как в предыдущих разделах:
grub> set root=(hd0,msdos1)
grub> linux /boot/vmlinuz-<версия> root=/dev/sda1 ro
grub> initrd /boot/initrd.img-<версия>
grub> bootЕсли модуль отсутствует, возможно, ваша версия GRUB собрана без поддержки этой ФС — в таком случае понадобится загрузиться с live‑USB и восстановить/переустановить GRUB.
Переустановка GRUB с live‑USB (chroot‑метод)
Когда ручная загрузка не помогает, обычно переустановка GRUB из live‑среды решает большинство проблем.
Краткая методология:
- Загрузитесь с live‑USB той же архитектуры (BIOS/UEFI) что и ваша система.
- Найдите корневой раздел Linux: lsblk, fdisk -l.
- Смонтируйте разделы и выполните chroot в систему.
- Переустановите GRUB и обновите grub.cfg.
Пример шагов (предположим, корень — /dev/sdb1):
# На live‑машине
lsblk
sudo mount /dev/sdb1 /mnt
# Если отдельный /boot есть, укажите его
sudo mount /dev/sdb2 /mnt/boot # если отдельный /boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
# Теперь внутри chroot
grub-install /dev/sdb # укажите диск, не раздел (например /dev/sda или /dev/nvme0n1)
grub-mkconfig -o /boot/grub/grub.cfg
# Выйти и отмонтировать
exit
sudo umount /mnt/dev/pts /mnt/dev /mnt/proc /mnt/sys /mnt/boot /mnt
sudo rebootЗаметки:
- Для систем с UEFI нужно дополнительно монтировать EFI раздел (обычно /boot/efi) и указывать –target=x86_64-efi при grub-install.
- Всегда устанавливайте GRUB на устройство (например, /dev/sda), а не на раздел (/dev/sda1), если вам нужен загрузчик в MBR/EFI.
Альтернативный путь: Boot Repair — автоматизированный инструмент
Если комфорт с командной строкой низкий, Boot Repair — удобная утилита с графическим интерфейсом, которая анализирует систему и предлагает рекомендованное восстановление.
Установка примеров:
Для Ubuntu / Linux Mint:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install boot-repairДля Fedora (если доступно в репозитории):
sudo dnf install boot-repairДля Arch (через AUR):
yay -S boot-repairЗапуск:
boot-repairПошагово:
- Запустите Boot Repair; инструмент выполнит диагностику конфигурации.
- Нажмите «Recommended repair» (Рекомендуемые действия) — это самый безопасный путь для подавляющего большинства случаев.
- Если инструмент запрашивает подтверждение — внимательно прочитайте предложенные изменения (перезапись MBR, восстановление записи EFI и т.п.).
- После завершения перезагрузитесь и проверьте, ушла ли проблема.
Важно: Boot Repair автоматизирует многие операции, но всё равно создайте бэкап прежде чем соглашаться на изменения.
Контрольный список перед любыми операциями (SOP)
- Сделайте резервную копию важных данных (копирование /home, экспорт баз данных, образ диска).
- Зафиксируйте состояние разделов: sudo fdisk -l или lsblk — сохраните вывод в файл.
- Определите схему загрузки: BIOS/Legacy или UEFI.
- Подготовьте live‑USB подходящей архитектуры и режима загрузки (UEFI/Legacy).
- Если есть сомнения — сфотографируйте экран с ошибкой и сохраните логи.
Когда предложенные методы не помогут (контрпримеры)
- Физическая поломка диска (bad sectors, SMART ошибки): программные правки не спасут — требуется замена диска и восстановление из бэкапа.
- Поломка таблицы разделов с повреждением метаданных на нескольких разделах — может потребоваться низкоуровневое восстановление (testdisk) или восстановление данных специалистом.
- Неправильная прошивка UEFI/BIOS или аппаратный сбой контроллера SATA/NVMe — сначала устраните аппаратную проблему.
Альтернативы и дополнительные подходы
- Восстановление загрузчика с помощью testdisk (восстановление таблицы разделов).
- Использование альтернативного загрузчика (systemd‑boot, rEFInd) на UEFI‑системах — полезно, если GRUB конфликтует с прошивкой.
- Восстановление из бэкапа grub.cfg и /boot вручную.
Решение для разных ролей (короткие чеклисты)
Администратор:
- Проверить lsblk/fdisk, сохранить вывод.
- chroot + grub-install + grub-mkconfig.
- Обновить документацию и создать снимок состояния.
Домашний пользователь:
- Попробовать Boot Repair из live‑USB.
- Если не помогает — сделать бэкап и обратиться к администратору.
Инженер поддержки:
- Попросить логи: вывод lsblk, fdisk -l, blkid, dmesg, journalctl -b.
- Диагностика на месте или по удалённой сессии с live‑USB.
Краткая методология принятия решений (Decision flow)
flowchart TD
A[Система не загружается] --> B{Показывается ли меню GRUB?}
B -- Да --> C[Перейти в CLI GRUB и выполнить ls]
B -- Нет --> D[Загрузиться с live-USB]
C --> E{Файлы видны?}
E -- Да --> F[set root -> linux/initrd -> boot]
E -- Нет --> D
D --> G[Смонтировать, chroot, grub-install]
G --> H{UEFI?}
H -- Да --> I[Убедиться в правильном EFI разделе и --target=x86_64-efi]
H -- Нет --> J[Установить в MBR: grub-install /dev/sdX]
F --> K[Если успешно -> обновить grub.cfg и тест]
I --> K
J --> K
K --> L[Резервное копирование и документирование]Критерии приёмки
- Система успешно загружается в обычный режим без ошибок GRUB.
- Пункты меню GRUB соответствуют реальным установленным ОС/ядрам.
- Конфигурация grub.cfg обновлена и содержит корректные пути к ядру/initrd.
- При UEFI — корректно монтируется EFI раздел и присутствует запись для загрузчика.
Короткий глоссарий (1 строка)
- GRUB — загрузчик для Unix‑подобных систем; grub.cfg — его конфигурационный файл;
- initrd/initramfs — начальный RAM‑диск, содержащий драйверы для загрузки системы;
- MBR/EFI — места размещения загрузчика в BIOS/UEFI.
Риски и рекомендации по безопасности
- Всегда проверяйте, на какой диск устанавливаете GRUB (чтобы не перезаписать другой загрузчик).
- Для шифрованных корневых разделов процесс восстановления требует знания ключей/паролей и правильной последовательности монтирования.
- Не выполняйте произвольные скрипты из непроверенных источников.
Ресурсы и дальнейшее чтение
- man grub, man grub-install, документация дистрибутива (Ubuntu, Fedora, Arch).
- Официальная страница Boot Repair и репозитории вашего дистрибутива.
Заметки: если вам нужна проверка вывода команд (lsblk, fdisk -l, sudo blkid) — вставьте их сюда, и я подскажу следующие шаги.
Похожие материалы
Как удалить предустановленный софт (crapware) с ПК
Экспорт LUT из Adobe Premiere
Изменить фон Windows Terminal в Windows 11
Удаление bloatware в Windows 11 — полное руководство
Запуск Командной строки с правами администратора