LINUX.ORG.RU

Grub не ставится на EFI

 , ,


0

2

Чтобы занять себя этим замечательным летом, решил попробовать Gentoo, но пока только в виртуалке, для тренировки. Проблема возникла на настройке grub, а именно спотыкается об efi:

(chroot) live cd / # grub-install --target=x86_64-efi --efi-directory=/boot
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.

Ядро стоит sys-kernel/gentoo-kernel-bin, efibootmgr установлен.
emerge --config sys-kernel/gentoo-kernel-bin запускал, но ни # modprobe efivars ни # modprobe efivarfs не работает, говорит что такого модуля в /lib/modules/5.10.27-gentoo-x86_64 нет (ошибка кроется тут?).
/boot точно сделан как EFI partion, размечен как vfat.

Нашел эту страницу на хэнбуке. Проверяю:

# mount | grep efivars

А у меня там ничего. В русском переводе указано такое предложение:

Если данная файловая система не смонтирована (она должна быть смонтирована через скрипт инициализации sysfs), можно смонтировать ее вручную следующей командой:root #mount -t efivarfs efivarfs /sys/firmware/efi/efivars

Но у меня нет ни /sys/firmware/efi/efivars ни /sys/firmware/efi, а создать я их не могу.

efibootmgr -v тоже отвечает: EFI variables are not supported on this system.

Что я делаю не так? Что мне надо сделать чтобы все заработало?

P.S. Я хочу попробовать поставить именно EFI, потому что до этого все ставил на BIOS (Legacy mode), хочу открыть для себя что-то новое.

Ответ на: комментарий от mord0d

Хороший вопрос. Учитывая, что это все делается в VirtualBox, я не знаю в каком режиме оно запускается.

Но если верить этому, то:

VirtualBox by default uses the BIOS firmware for virtual machines. It supports EFI too, but unfortunately does not support booting UEFI-based system volumes

Сейчас попробую переключить.

snake266 ★★ ()
Ответ на: комментарий от utanho

Да я видел это, но у меня ядро бинарное, потому что на виртуалке я буду компилировать его целую вечность. Я сначала хотел поставить sys-kernel/gentoo-kernel, но после трех часов компиляции понял, что для тестов в виртуалке пойдет и бинарное ядро. Да и если поставлю на реальное железо, то наверно тоже бинарное ядро буду использовать.

Пока писал сообщение груб уже все сделал и я перезагрузил виртуалку. Так что, да, проблема была в том, что VB грузит образы в BIOS, если не указать обратное

snake266 ★★ ()
Ответ на: комментарий от Meyer

Задрали ефидрочеры со своим стабом. Варианты загрузки. Изменение параметров командной строки ядра. И всё это с нормальным красивым графическим бэкграундом вместо недоделанных костылей ефибиоса.

anonymous ()
Ответ на: комментарий от Meyer

Зачем тебе гроб для UEFI, когда есть EFI Stub?

Потому что прошивка EFI на большинстве плат ужасно кривая и лучше с ней работать как можно меньше. Я бы даже советовал efivars и efibootmgr заменить на EFI/boot/bootx64.efi

Xenius ★★★★★ ()