Saemon Zixel on Nostr: UEFI оказалась не такой уж и сложной ...
UEFI оказалась не такой уж и сложной технологией.
Оказывается, можно просто создать раздел FAT32 с типом ef, сделать его активным, создать там папку EFI, а в ней BOOT. И положить туда grubx64.efi переименовав его в bootx64.efi. И при перезагрузке прошивка EFI материнской платы сама найдёт этот раздел, залезет в папку EFI/BOOT и загрузит и запустит bootx64.efi. И появится командная строка GRUB2.
Если подложить в правильное место grub.cfg, то появится меню, а не командная строка.
Поскольку я использовал для экспериментов GRUB из ubuntu, то в нём был захардкожен путь /EFI/ubuntu. Соответственно, туда и пришлось класть grub.cfg и grubenv (для удобства).
Но это при условии, если в NVRAM переменные BOOT001, BOOT002 и т.д. отсутствуют или ведут к несуществующим или поломанным загрузчикам. UEFI в первую очередь пытается загрузить файлы загрузчики из этих переменных.
Можно ещё распаковать в EFI раздел rEFInd, который может загружать разные операционные системы в режиме EFI. А поскольку он основывается на GRUB2, тоже умеет напрямую грузить ядро linux.
#uefi #efi #grub2 #refind #devops #linux
Published at
2025-01-10 18:11:24Event JSON
{
"id": "2380b708b09ad28e4baa5fa8e6a19cc47f417b218524d49d7da01f3d91c21801",
"pubkey": "dfcb01ad97e65bfa5a779ab7ce27b19985c5b682ef3bfbececaad03805600439",
"created_at": 1736532684,
"kind": 1,
"tags": [
[
"t",
"uefi"
],
[
"t",
"efi"
],
[
"t",
"grub2"
],
[
"t",
"refind"
],
[
"t",
"devops"
],
[
"t",
"linux"
],
[
"proxy",
"https://lor.sh/users/saemonzixel/statuses/113805405988337647",
"activitypub"
]
],
"content": "UEFI оказалась не такой уж и сложной технологией.\n\nОказывается, можно просто создать раздел FAT32 с типом ef, сделать его активным, создать там папку EFI, а в ней BOOT. И положить туда grubx64.efi переименовав его в bootx64.efi. И при перезагрузке прошивка EFI материнской платы сама найдёт этот раздел, залезет в папку EFI/BOOT и загрузит и запустит bootx64.efi. И появится командная строка GRUB2.\n\nЕсли подложить в правильное место grub.cfg, то появится меню, а не командная строка.\n\nПоскольку я использовал для экспериментов GRUB из ubuntu, то в нём был захардкожен путь /EFI/ubuntu. Соответственно, туда и пришлось класть grub.cfg и grubenv (для удобства).\n\nНо это при условии, если в NVRAM переменные BOOT001, BOOT002 и т.д. отсутствуют или ведут к несуществующим или поломанным загрузчикам. UEFI в первую очередь пытается загрузить файлы загрузчики из этих переменных.\n\nМожно ещё распаковать в EFI раздел rEFInd, который может загружать разные операционные системы в режиме EFI. А поскольку он основывается на GRUB2, тоже умеет напрямую грузить ядро linux.\n\n#uefi #efi #grub2 #refind #devops #linux",
"sig": "83287b74e7edc5b6d931de7298c3b3274f374bd21d3724a84f3f0231d03b4bb9a34fb8e7af970e0296bc657e79f82626b9b4c220795a20d8e6b9c40e14d366e4"
}