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? Хочу перейти на лишнюю прослойку в виде загрузчика, ну чтоб просто по-феншую было.

★★★★★

Ответ на: комментарий от 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 ★★★★★ ()