Odpověď je jednoduchá. EFI System Partition (ESP) by měl být FAT32 (FAT16 nebo dokonce FAT12 bude také stačit pro většinu správných UEFI; většinou se zobrazují jako vfat
v Linuxu) místo ext2:
mkfs.fat -F32 /dev/sda2
FWIW, pokud se nechystáte instalovat grub i386-pc (pro zavádění BIOSu/CSM), nepotřebujete oddíl "BIOS boot". Vyžaduje to pouze grub i386-pc
(ale ne grub x86_64-efi
nebo i386-efi
) na GPT.
Nezáleží na tom, zda používáte ESP pro /boot
. Pokud tak učiníte, měli byste spustit:
grub2-install --efi-directory /boot
Pokud jej připojíte na /boot/efi
místo toho byste měli spustit:
grub2-install --efi-directory /boot/efi
--boot-directory /boot
je implicitní (tj. výchozí); Nezáleží na tom, zda /boot
je ESP, jiný samostatný oddíl nebo adresář na /
souborový systém.
K provedení grub2-install
možná ani nebudete muset znovu chrootovat; Například jste připojili sda4
, váš oddíl pro /
, na /mnt
; A POTOM připojeno sda2
, vaše ESP, na /mnt/boot/efi
, pak můžete jednoduše spustit:
grub2-install --boot-directory /mnt/boot --efi-directory /mnt/boot/efi
Ačkoli grub2-mkconfig
musí být spuštěn v chroot AFAIK. Pokud ale plánujete napsat jednoduchý a čistý grub.cfg
místo sebe (což je jediný elegantní způsob, jak používat grub2), pak vás to nebude zajímat.
Problém se zdál být smícháním a sladěním BIOS, EFI, MBR a GPT. Snažil jsem se postupovat podle pokynů a používat GPT, ale byly tam některé závislosti, které jsem nedokázal vyřešit, protože jsem příliš nezkušený. Ani mi není jasné, že jádro bylo sestaveno s podporou GPT (přes konfigurační volbu CONFIG_EFI_PARTITION
).
Když jsem vypustil GPT a EFI a přešel na čistě BIOS a MBR, mohl jsem výsledný stroj nabootovat. BIOS a GPT mají být platnou kombinací, ale zajímalo by mě, jestli to funguje v praxi (viz např. Možnosti bootloaderu).
Zde je konfigurace, se kterou jsem byl schopen spustit stroj:
$ parted
GNU Parted 3.2
Using /dev/sda
(parted) print
Model: ATA VMware Virtual I (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 135MB 134MB primary ext2 boot
2 135MB 19.5GB 19.3GB primary ext4
3 19.5GB 21.5GB 2012MB primary linux-swap(v1)
Oddíl 1 je /boot
, oddíl 2 je /
a oddíl 3 je swap
.