答えは簡単です。 EFI システム パーティション (ESP) は FAT32 である必要があります (FAT16 または FAT12 でさえ、ほとんどの適切な UEFI に対応します。ほとんどの場合、vfat
として表示されます)。 Linux では) ext2:の代わりに
mkfs.fat -F32 /dev/sda2
FWIW、grub i386-pc (BIOS/CSM ブート用) をインストールしない場合は、「BIOS ブート」パーティションは必要ありません。 grub i386-pc
でのみ必要です (ただし x86_64-efi
をグラブしない または i386-efi
) GPT で。
/boot
に ESP を使用するかどうかは問題ではありません .その場合は、実行する必要があります:
grub2-install --efi-directory /boot
/boot/efi
にマウントする場合 代わりに、次を実行する必要があります:
grub2-install --efi-directory /boot/efi
--boot-directory /boot
暗示されています(つまり、デフォルト)。 /boot
かどうかは関係ありません ESP、別の別のパーティション、または /
上のディレクトリです ファイルシステム。
grub2-install
を実行するために再度 chroot する必要さえないかもしれません;たとえば、sda4
をマウントしました 、/
のパーティション 、 /mnt
で;そして、マウントされた sda2
、あなたのESP、/mnt/boot/efi
、次に実行するだけです:
grub2-install --boot-directory /mnt/boot --efi-directory /mnt/boot/efi
grub2-mkconfig
でも chroot AFAIKで実行する必要があります。しかし、単純できれいな grub.cfg
を書くつもりなら 代わりに自分で (grub2 を使用する唯一の適切な方法です)、これは気にする必要はありません。
問題は、BIOS、EFI、MBR、および GPT の組み合わせにあるようです。ガイドに従って GPT を使用しようとしましたが、経験が浅すぎて解決できない依存関係がいくつかありました。カーネルがGPTサポート付きで構築されていることさえ私には明らかではありません(構成オプションCONFIG_EFI_PARTITION
を介して) ).
GPT と EFI を削除し、純粋な BIOS と MBR に切り替えたところ、結果のマシンを起動できました。 BIOS と GPT は有効な組み合わせであるはずですが、実際に機能するかどうか疑問に思っています (たとえば、ブートローダー オプションを参照してください)。
マシンを実行できた構成は次のとおりです:
$ 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)
パーティション 1 は /boot
です 、パーティション 2 は /
です 、パーティション 3 は swap
です .