← Назад к вопросам

Из-за чего может возникнуть неполадки GNU GRUB в Linux

2.2 Middle🔥 81 комментариев
#Linux и администрирование

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Возможные причины неполадок GNU GRUB в Linux

GNU GRUB (Grand Unified Bootloader) — критически важный компонент загрузки Linux, и его неполадки могут полностью заблокировать доступ к системе. Проблемы возникают из разных слоёв: от аппаратного уровня до конфигурации ОС.

Основные категории проблем

1. Повреждение или удаление загрузочных файлов

  • Перезапись MBR/GPT: Установка другой ОС (особенно Windows) поверх Linux, использование dd или fdisk без понимания последствий.
  • Повреждение файлов GRUB:
    # Критические файлы, которые могут быть повреждены
    /boot/grub/grub.cfg
    /boot/grub/i386-pc/core.img
    /boot/grub/x86_64-efi/grub.efi
    
  • Нехватка места в разделе /boot: При обновлении ядер старые файлы не удаляются, новый образ ядра не записывается.

2. Изменение геометрии диска или разделов

  • Изменение порядка дисков в BIOS/UEFI (например, после добавления нового HDD/SSD).
  • Переразметка диска с изменением UUID разделов, на которые ссылается GRUB.
  • Миграция на другой диск без обновления конфигурации загрузчика.

3. Ошибки конфигурации

  • Неправильное обновление grub.cfg:
    # Команда обновления может завершиться с ошибкой
    sudo update-grub
    # Или для систем на systemd:
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    
  • Некорректные записи в /etc/default/grub: Ошибки в параметрах ядра, таймаутах, графическом режиме.
  • Проблемы с модулями: Отсутствие необходимых модулей для файловых систем (ext4, btrfs, LVM, ZFS) или аппаратного обеспечения (RAID).

4. Аппаратные проблемы

  • Сбой диска: Bad-блоки в области, где расположены файлы GRUB или MBR.
  • Проблемы с питанием или обновлением: Прерывание процесса обновления GRUB (апдейт системы, установка нового ядра).
  • Несовместимость UEFI/BIOS: Особенно при переключении режимов (Legacy ↔ UEFI) или сбое NVRAM.

5. Проблемы при обновлении системы

  • Обновление дистрибутива с существенным изменением версии GRUB (например, переход с GRUB Legacy к GRUB 2).
  • Конфликт версий между пакетами grub, grub2, grub-efi.
  • Автоматическое обновление, которое не учитывает специфику конфигурации (кастомные ядра, нестандартные разделы).

Примеры диагностики и восстановления

Проверка конфигурации GRUB:

# Проверка текущей конфигурации
cat /etc/default/grub
# Просмотр сгенерированного grub.cfg
grep -i "menuentry" /boot/grub/grub.cfg
# Проверка UUID разделов
blkid

Восстановление GRUB с LiveCD/USB:

# Монтирование корневой файловой системы
sudo mount /dev/sdXY /mnt
sudo mount /dev/sdXZ /mnt/boot  # если /boot отдельно
# Для UEFI:
sudo mount /dev/sdXW /mnt/boot/efi
# Chroot и переустановка
sudo chroot /mnt
grub-install /dev/sdX
update-grub

Типичные сценарии и решения:

  1. После установки Windows система не загружается в Linux

    • Причина: Windows перезаписывает MBR/UEFI загрузчик.
    • Решение: Восстановление GRUB с Live-носителя с grub-install.
  2. GRUB показывает только командную строку (grub>)

    • Причина: Повреждение grub.cfg или отсутствие модулей.
    • Решение: Вручную загрузить ядро или восстановить конфигурацию:
      # В командной строке GRUB
      set root=(hd0,gpt2)
      linux /vmlinuz root=/dev/sda2
      initrd /initrd.img
      boot
      
  3. Ошибка "error: file '/boot/grub/i386-pc/normal.mod' not found"

    • Причина: Файлы GRUB удалены или раздел /boot не монтируется.
    • Решение: Проверить целостность раздела /boot, переустановить пакет grub-pc.

Профилактика проблем

  • Регулярное резервное копирование конфигурации GRUB:
    cp /boot/grub/grub.cfg ~/grub.cfg.backup
    
  • Использование отдельного раздела /boot (особенно для RAID/LVM).
  • Ведение журнала изменений в /etc/default/grub.
  • Установка альтернативного загрузчика (например, systemd-boot для UEFI) как fallback.

Вывод: Проблемы с GRUB чаще всего возникают на стыке изменений — обновление системы, изменение дисковых разделов, установка дополнительных ОС. Глубокое понимание процесса загрузки (BIOS/UEFI → bootloader → kernel → initramfs) и наличие Live-носителя для восстановления — ключевые элементы для оперативного решения таких инцидентов в production-среде.