Ответ
GRUB (GRand Unified Bootloader) — сложная система, и его поломка приводит к невозможности загрузить ОС. Основные причины сбоев:
1. Конфликт при двойной загрузке: Установка или обновление Windows часто перезаписывает загрузочную запись (MBR) или раздел EFI, удаляя GRUB.
2. Повреждение загрузочного сектора или раздела: Физические ошибки диска, некорректные операции с разделами (например, удаление или изменение размера раздела /boot с помощью fdisk, gparted).
3. Неполное обновление GRUB: После обновления ядра (apt upgrade, yum update) команда update-grub (или grub2-mkconfig) могла не выполниться автоматически или завершиться с ошибкой, из-за чего в меню загрузки отсутствует новая запись.
4. Повреждение конфигурационных файлов: Ручное редактирование /boot/grub/grub.cfg (что не рекомендуется) или /etc/default/grub с синтаксической ошибкой.
5. Изменение идентификаторов дисков (UUID): Если UUID раздела, указанный в /etc/fstab или конфиге GRUB, изменился (после клонирования, восстановления), загрузчик не найдет корневой раздел.
6. Аппаратные изменения: Замена диска, изменение режима работы SATA контроллера в BIOS/UEFI (с AHCI на RAID или наоборот).
Базовое восстановление GRUB с Live-USB:
# Предполагается, что корневой раздел на /dev/sda1, а загрузочный EFI раздел на /dev/sda2
# 1. Смонтировать корневую и загрузочную файловые системы
sudo mount /dev/sda1 /mnt
sudo mount /dev/sda2 /mnt/boot/efi # Для UEFI систем
# 2. Привязать виртуальные файловые системы и перейти в окружение (chroot)
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
# 3. Переустановить GRUB
# Для BIOS (MBR):
grub-install /dev/sda
# Для UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
# 4. Обновить конфигурацию
update-grub # или grub2-mkconfig -o /boot/grub/grub.cfg
# 5. Выйти из chroot и перезагрузиться
exit
sudo reboot