Day by Day, Site by Site

Open source, Some Code, Troubleshooting, Good Links

Jun 11, 2016 - linux

Восстановление Grub на компьютере с Linux, UEFI, GPT

При попытке сделать загрузочную флэшку, сделал процедуру установки загрузчка Grub на флэшку. В результате поменялась информация и в загрузочном меню UEFI. Видно что то не учел.

Система перестал грузиться с основного жесткого диск, только с флэшки. Для исправления загрузки не подходил обычный способ восстановления загрузчика.

Для решения проблемы используем ссылку Ubuntu 14.04 UEFI boot partition and GRUB reinstall problem. Смотреть сразу последний пост, первый описанный вариант.

Приведу его здесь в пошаговом варианте:

Загружаемся с Live CD и определяем, используется ли UEFI при загрузке с Live CD:

[ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"

В нашем случае должно быть “EFI boot on HDD”.

Устанавливаем efibootmgr:

sudo apt-get install efibootmgr

Проверяем, то что есть EFI раздел и диск с GPT:

sudo gdisk -l /dev/sda

Монтируем файловую систему. В данному случае, root у нас в /dev/sda2, efi раздел в /dev/sda1:

sudo mkdir -p /mnt/system
sudo mount /dev/sda2 /mnt/system
sudo mount /dev/sda1 /mnt/system/efi

Прописываем пункт в меню UEFI:

efibootmgr -c -d /dev/sda -p 1 -w -L Ubuntu

При необходимости удаляем пункты из меню:

efibootmgr -v
efibootmgr -B -b [number item]

Устанавливаем grub-efi:

sudo apt-get install grub-efi-amd64

Устанавливаем загрузчик на диск:

sudo  grub-install --root-directory=/mnt/system --boot-directory=/mnt/system/boot --efi-directory=/mnt/system/efi --bootloader-id=Ubuntu --target=x86_64-efi --recheck  --debug /dev/sda

Далее прописано обновить меню grub. В оригинале написано не правильно. Привожу правильную команду:

sudo grub-mkconfig -o /mnt/system/boot/grub/grub.cfg