LINUX.ORG.RU

Приколюхи grub2-efi или ЧЯДНТ?

 ,


0

2

Как сделать чтобы /boot/efi/grub/grubx64.efi по-умолчанию ставил себя в /boot/efi/bootx64.efi?

Собираю ядро с EFI_STUB, сохраняю файл ядра arch/x86/boot/bzImage как /boot/efi/bootx64.efi (жыр32), и отныне система портируется простым dd с винта на винт, без перенастройки всяких там загрузчиков, потому что /boot/efi/bootx64.efi — это то, что как стандарт де-факто должен подхватывать любой UEFI-биос.

А вот grub2 копирует себя в /boot/efi/grub/grubx64.efi, затем ещё добавляет запись имени себя через efibootmgr в список для загрузки. Таким образом перенося систему на другую железку, которая ничего не знает про загрузчик grubx64.efi — она отказывается загружаться с диска. Нельзя так просто взять и перенести систему на другую железу, — там ещё надо будет с какого-нибудь накопителя загружаться и прописывать efibootmgr или переустанавливать grub2, grub-install делать. Не комильфо. Должно быть тупа dd.

Так вот, как грамотно установить grubx64.efi на место bootx64.efi? Хочу перейти на лишнюю прослойку в виде загрузчика, ну чтоб просто по-феншую было.

★★★★★

Последнее исправление: Spoofing (всего исправлений: 1)
Ответ на: комментарий от Thetan

Grub?

Загрузится, куда он денется.

Ядро не пробовал. Но вроде его тоже можно как бинарь EFI грузить.

Deleted
()
Ответ на: комментарий от Thetan

Оно так загрузится. Я извиняюсь, не корректно только указал, не /boot/efi/bootx64.efi, а /boot/efi/boot/bootx64.efi

Ну так вот.

Просто без задней мысли берёшь, собираешь ядро, получившийся arch/x86/boot/bzImage сохраняешь как /boot/efi/boot/bootx64.efi — раздел /boot должен находиться на первом разделе диска и отформатирован в FAT32. Теперь просто втыкаешь этот винт в любую железку с UEFI и она загружает это ядро. По-стандарту. По-умолчанию.

Spoofing ★★★★★
() автор топика

Grub-install --help смотрел?

grub-install делать

Вполне нормальное решение, только делать его надо для изначальной флешки, которую будешь потом через dd раскатывать

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

Мне казалось, что оно обязательно должно лежать в директории boot, то есть должно быть /boot/efi/EFI/BOOT/BOOT{X64,IA32}.EFI.

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

лежать в директории boot

ну это я некорректно по памяти написал, извиняюсь.

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

А, полный путь. Не обратил внимание. Да, должно быть ${BOOT_PARTITION}/EFI/BOOT/BOOT{X64,IA32}.EFI

Можт ТС опечатался просто.

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

Всё, ништяк, спасибо, да. С опцией --removable оно скопировало себя в /boot/efi/BOOT/BOOTX64.EFI

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