ブート・イメージとブート・ローダー

インストール・メディアの中に efi.img や efiboot.img のような名前のファイルがある。 これを「EFI ブート・イメージ」と呼ぶことにする。

EFI ブート・イメージは VFAT フォーマットのディスク・イメージファイルである。 だからマウントすることもできるし、mtools で扱うこともできる。

例:

mdir EFI/BOOT -i isoroot/EFI/BOOT/efi.img
mcopy ::EFI/BOOT/BOOTX64.EFI bootx64.efi -i isoroot/EFI/BOOT/efi.img
truncate –s 4M efi.img
mkfs.vfat efi.img

EFI ブート・イメージの内容は次のようなツリーになっている

ROOT
`—efi
  `—boot
    |-- bootx64.efi
    `-- grubx64.efi

これと同じツリーがインストール・メディアの中にも見られる。

ROOT
`-- BOOT
     |-- BOOTx64.EFI
     `-- grubx64.efi

つまり、インストール・メディアの BOOT 以下にあるツリーを VFAT フォーマットのディスク・イメージに固めたものが EFI ブート・イメージであるという構造になっている。

ここで BOOTx64.EFI などの拡張子 EFI が付いたファイルが「ブート・ローダー」である。

インストール・メディアの BOOT 以下のツリーを元に EFI ブート・イメージを作成する手順を示しておこう。

truncate -s 4M efi.img
mkfs.vfat efi.img
mcopy -s ISOROOT/EFI ::/ -i efi.img

ブート・ローダーをビルドするには grub-mkimage コマンドを使う。
ただしほとんどの場合、インストール・メディアに含まれているブート・ローダーをそのまま流用するのが手っ取り早くて確実である。

参考情報

nak