Гид по технологиям

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

6 min read Linux Обновлено 31 Dec 2025
Устранение ошибок загрузчика GRUB
Устранение ошибок загрузчика GRUB

Надпись 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 не находит раздел, указанный в конфигурации — возможно, был удалён, смещён номер раздела или изменена таблица разделов.

Действия:

  1. Войдите в CLI/рескью GRUB (обычно доступен через меню GRUB).
  2. Перечислите видимые диски и разделы:
grub> ls
# Пример вывода: (hd0) (hd0,msdos1) (hd1) (hd1,msdos2)
  1. Найдите раздел с /boot или корневой файловой системой. Для проверки содержимого используйте:
grub> ls (hd0,msdos1)/
# Просмотрите наличие /vmlinuz, /boot, /initramfs и т.д.
  1. Установите корректный root для GRUB (пример):
grub> set root=(hd0,msdos1)
  1. Загрузите ядро и 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 не совпадает с реальным.

Действия:

  1. В CLI GRUB выполните ls по подозреваемому разделу и путям (/boot, /boot/grub):
grub> ls (hd0,msdos1)/boot/
  1. Если файлы находятся в другом месте — установите правильный root и загрузите вручную, как в предыдущем разделе:
grub> set root=(hd0,msdos1)
grub> linux /boot/vmlinuz-<версия> root=/dev/sda1 ro
grub> initrd /boot/initrd.img-<версия>
grub> boot
  1. После успешной загрузки пересоберите конфигурацию 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), или раздел повреждён.

Действия:

  1. В CLI GRUB посмотрите список и содержимое раздела:
grub> ls
grub> ls (hd0,msdos1)/
  1. Если 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‑среды решает большинство проблем.

Краткая методология:

  1. Загрузитесь с live‑USB той же архитектуры (BIOS/UEFI) что и ваша система.
  2. Найдите корневой раздел Linux: lsblk, fdisk -l.
  3. Смонтируйте разделы и выполните chroot в систему.
  4. Переустановите 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.

Вывод команды lsblk в Linux

Альтернативный путь: 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

Пошагово:

  1. Запустите Boot Repair; инструмент выполнит диагностику конфигурации.
  2. Нажмите «Recommended repair» (Рекомендуемые действия) — это самый безопасный путь для подавляющего большинства случаев.
  3. Если инструмент запрашивает подтверждение — внимательно прочитайте предложенные изменения (перезапись MBR, восстановление записи EFI и т.п.).
  4. После завершения перезагрузитесь и проверьте, ушла ли проблема.

Важно: 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) — вставьте их сюда, и я подскажу следующие шаги.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как удалить предустановленный софт (crapware) с ПК
Windows

Как удалить предустановленный софт (crapware) с ПК

Экспорт LUT из Adobe Premiere
Видеомонтаж

Экспорт LUT из Adobe Premiere

Изменить фон Windows Terminal в Windows 11
Windows Terminal

Изменить фон Windows Terminal в Windows 11

Удаление bloatware в Windows 11 — полное руководство
Windows

Удаление bloatware в Windows 11 — полное руководство

Запуск Командной строки с правами администратора
Windows

Запуск Командной строки с правами администратора

Как заблокировать сайты в Chrome — простые способы
браузер

Как заблокировать сайты в Chrome — простые способы