Jawabannya sederhana. Partisi Sistem EFI (ESP) harus FAT32 (FAT16 atau bahkan FAT12 juga akan berfungsi untuk UEFI yang paling tepat; sebagian besar ditampilkan sebagai vfat
di Linux) bukan ext2:
mkfs.fat -F32 /dev/sda2
FWIW, jika Anda tidak akan menginstal grub i386-pc (untuk boot BIOS/CSM), Anda tidak memerlukan partisi "boot BIOS". Ini hanya diperlukan oleh grub i386-pc
(tetapi bukan grub x86_64-efi
atau i386-efi
) di GPT.
Tidak masalah apakah Anda menggunakan ESP untuk /boot
. Jika ya, Anda harus menjalankan:
grub2-install --efi-directory /boot
Jika Anda memasangnya di /boot/efi
sebagai gantinya, maka Anda harus menjalankan:
grub2-install --efi-directory /boot/efi
--boot-directory /boot
tersirat (yaitu default); Tidak masalah apakah /boot
adalah ESP, partisi lain yang terpisah, atau direktori pada /
sistem file.
Anda bahkan mungkin tidak perlu melakukan chroot lagi untuk menjalankan grub2-install
; Misalnya, Anda memasang sda4
, partisi Anda untuk /
, pada /mnt
; DAN KEMUDIAN, pasang sda2
, ESP Anda, di /mnt/boot/efi
, maka Anda cukup menjalankan:
grub2-install --boot-directory /mnt/boot --efi-directory /mnt/boot/efi
Meskipun grub2-mkconfig
perlu dijalankan di chroot AFAIK. Tetapi jika Anda berencana untuk menulis grub.cfg
yang sederhana dan bersih diri Anda sendiri (yang merupakan satu-satunya cara yang baik untuk menggunakan grub2), maka ini akan menjadi urusan Anda.
Masalahnya tampaknya mencampur dan mencocokkan BIOS, EFI, MBR, dan GPT. Saya mencoba mengikuti panduan dan menggunakan GPT, tetapi ada beberapa dependensi yang tidak dapat saya selesaikan karena saya terlalu tidak berpengalaman. Bahkan tidak jelas bagi saya bahwa kernel dibuat dengan dukungan GPT (melalui opsi konfigurasi CONFIG_EFI_PARTITION
).
Ketika saya menjatuhkan GPT dan EFI dan beralih ke BIOS murni dan MBR, saya dapat mem-boot mesin yang dihasilkan. BIOS dan GPT seharusnya merupakan kombinasi yang valid, tetapi saya bertanya-tanya apakah ini berfungsi dalam praktiknya (lihat, misalnya, Opsi Bootloader).
Berikut konfigurasi yang dapat saya gunakan untuk menjalankan mesin:
$ 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)
Partisi 1 adalah /boot
, Partisi 2 adalah /
, dan Partisi 3 adalah swap
.