Переустановка загрузчика EFI
Во время установки Debian на новый компьютер возникла проблема.
После завершения работы инсталлятора, и перезапуска компьютера, диск на который устанавливалась система не опознавался как загрузочный.
Решение нашёл на Debian Wiki , но только на английском. Посему, описываю решение проблемы на русском.
Использовал Live-образ Debian 9.3, все действия производятся с учётом того, что:/dev/sda1
- системный раздел EFI,/dev/sda2
- корневой раздел установленной системы.
Проблема заключалась в отказе прошивки UEFI запускать загрузчик debian/grubx64.efi
, потому пришлось взломать резервный загрузчик UEFI.
Начать следует с монтирования разделов восстанавливаемой системы, и виртуальных ФС текущей ОС для входа под chroot.
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
for i in /sys /proc /dev; do mount --bind $i /mnt$i; done
chroot /mnt
Затем, просто скопировать уже установленный файл загрузчика по новому пути.
cd /boot/efi/EFI
mkdir boot
cp debian/grubx64.efi boot/bootx64.efi
exit
Следом можно размонтировать разделы.
for i in /sys /proc /dev; do umount /mnt$i; done
umount /mnt/boot/efi
umount /mnt
Сразу после загрузки системы следует сообщить GRUB, что резервный загрузчик актуален.
echo "grub-efi-amd64 grub2/force_efi_extra_removable boolean true" | sudo debconf-set-selections
Но будьте осторожны, команда выше перманентно переопределит резервный загрузчик, что может быть нежелательно в дуал-бут системах.