Как восстановить загрузчик GRUB и систему Linux: пошаговое руководство
Восстановление загрузчика GRUB и системы Linux зависит от типа загрузки (UEFI или Legacy BIOS) и причины сбоя. Существует несколько проверенных методов: автоматическое восстановление через Boot-Repair, ручная переустановка через chroot, специальные команды для UEFI-систем и экстренная загрузка из консоли grub rescue.
Оглавление
Автоматическое восстановление через Boot-Repair
Этот метод рекомендуется для новичков и подходит для большинства случаев, включая проблемы после установки Windows.
Пошаговая инструкция:
- Загрузитесь с Live USB/LiveCD того же дистрибутива, что установлен на диске
- Установите утилиту
boot-repair:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair
- Запустите утилиту командой
boot-repairи выберите опцию «Recommended repair» (Рекомендуемое восстановление) - После завершения перезагрузите систему — утилита автоматически переустановит GRUB и обновит конфигурацию
Ручное восстановление через chroot для Legacy BIOS
Если автоматические средства не помогли, используется ручная переустановка загрузчика в окружении установленной системы.
Процесс восстановления:
- Загрузитесь с Live USB и определите разделы командой
lsblkилиfdisk -l - Смонтируйте корневой раздел Linux:
sudo mount /dev/sdXn /mnt
(где sdXn — ваш корневой раздел)
3. Если есть отдельный раздел /boot, смонтируйте его:
sudo mount /dev/sdYn /mnt/boot
- Выполните chroot в систему:
sudo chroot /mnt
- Переустановите GRUB на диск (не на раздел):
grub-install /dev/sdX
- Обновите конфигурацию:
update-grub
(или grub-mkconfig -o /boot/grub/grub.cfg для Arch/Fedora)
7. Выйдите из chroot (exit), размонтируйте разделы и перезагрузитесь
Восстановление для систем с UEFI
Для UEFI-систем процесс отличается необходимостью монтирования EFI-раздела.
Инструкция для UEFI:
- В режиме Live USB смонтируйте корневой раздел и EFI-раздел в
/mnt/boot/efi - Войдите в chroot, как описано выше
- Переустановите GRUB с указанием целевого каталога EFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
- Установите пакет
os-prober, если нужно добавить Windows в меню загрузки:
apt install os-prober
- Сгенерируйте новый конфиг:
update-grub
Экстренная загрузка из grub rescue
Если система не грузится и вы видите консоль grub rescue>, можно попытаться загрузиться вручную без Live USB.
Шаги для загрузки:
- Найдите раздел с ядром командой
ls (hd0,msdos1)/boot(перебирайте разделы) - Укажите путь к модулям:
set prefix=(hd0,msdos1)/boot/grub
- Загрузите модули нормального режима:
insmod normal
normal
- Если система загрузилась, немедленно выполните для закрепления результата:
sudo grub-install
sudo update-grub
Важные примечания
После восстановления GRUB может не увидеть Windows. Установка пакета os-prober и выполнение update-grub решает эту проблему.
Всегда проверяйте целостность файловой системы (fsck) перед восстановлением загрузчика, так как повреждение файловой системы может быть первопричиной сбоя.
Для серверов или сложных RAID-конфигураций рекомендуется использовать специализированные Rescue-режимы хостинг-провайдеров или SystemRescueCd.
Частые ошибки
Забыли установить os-prober
После восстановления GRUB Windows не появляется в меню загрузки. Решение: установите пакет os-prober и выполните update-grub.
GRUB установлен на раздел вместо диска
При ручной установке через chroot команда grub-install /dev/sdXn (с номером раздела) не работает. Устанавливайте на весь диск: grub-install /dev/sdX.
Не смонтирован EFI-раздел для UEFI
Для UEFI-систем обязательно монтируйте EFI-раздел в /boot/efi перед chroot, иначе grub-install не сможет найти целевой каталог.
Поврежденная файловая система
Попытка восстановить загрузчик без проверки целостности ФС может не решить проблему. Выполните fsck на разделах перед восстановлением.
FAQ
Можно ли восстановить GRUB без Live USB?
Да, если вы попадаете в консоль grub rescue>. Найдите раздел с ядром, установите путь к модулям через set prefix, загрузите модули командой insmod normal и normal. После успешной загрузки выполните sudo grub-install и sudo update-grub.
Почему после восстановления GRUB не видит Windows?
GRUB может не обнаружить Windows автоматически. Установите пакет os-prober и выполните update-grub для обновления конфигурации загрузчика.
Чем отличается восстановление для UEFI и Legacy BIOS?
Для UEFI необходимо смонтировать EFI-раздел в /boot/efi и использовать специальные параметры grub-install: --target=x86_64-efi, --efi-directory=/boot/efi и --bootloader-id=GRUB.
Что делать, если автоматическое восстановление не помогло?
Используйте метод ручного восстановления через chroot: загрузитесь с Live USB, смонтируйте разделы, войдите в chroot и выполните grub-install с последующим update-grub.