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), хочу открыть для себя что-то новое.

chroot

А на хосте (из которого делаешь чрут) доступно? Если нет, то ты загрузился в Legacy-режиме или UEFI не поддерживается.

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от 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 ★★
() автор топика

livecd сам загружен через efi или через legacy mode? Надо грузить именно через efi, только тогда заработает.

BattleCoder ★★★★★
()

Gentoo

не efistub

ну пчел

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

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

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

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

Да, в VB стоял запуск в BIOS режиме, поставил на EFI, теперь все работает

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

Пока я тестирую и пробую, на первый раз с UEFI решил заюзать grub, который я знаю

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

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

anonymous
()

На виртуальной машине скорее всего не поддерживается режим efi. В VirtualBox в настройках вроде есть такая опция, как в других - хз

mxfm ★★
()

ну так вспомни про

grub-install --removable /dev/sdX
Оно как раз для случая, когда efivar недоступно.

vel ★★★★★
()

efibootmgr и efivars на самом деле не нужно. Просто скопируйте grub.efi в путь /boot/EFI/boot/bootx64.efi

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

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

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

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

от gruи2 нужен grub-mkimage, который соберет в grubx64.efi все модули необходимые для загрузки.

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

Я не понимаю лоровского жаргона. wo za Ъ?

Ъ или true, это люди с ограниченными возможностями.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.