
BIOS起動可能パーティションを含むisoイメージがあるとします。この画像をUSBフラッシュドライブに書き込むことができます
Linuxでは、次のことができます。
dd if=pmagic_2013_02_28.iso of/dev/sdc1
これで、BIOSを搭載したコンピュータからUSBディスクを起動できるようになりました。ただし、UEFIシステムではUSBドライブは起動しません。 EFIを起動可能にするにはどうすればよいですか?
答え1
ISOイメージを作成するにはEl Toritoの魔法が必要です。バラよりこれ。
答え2
イメージを(U)EFI起動可能にするには、パスの下で起動するinitramfsイメージファイルを含むデフォルトのVFAT32パーティションが必要です/efi/boot/bootx64.efi
。
答え3
唯一の機会は、ISOイメージを再構築し、必要なUEFIファイルを追加することです。あなたと一緒なら、xorriso
これを行うことができます。
まず、元のISOファイルの内容を抽出します。
xorriso -osirrox on -indev IMAGE.ISO -extract / ISO_DIR
次に、FATパーティションでなければならないESP(EFIシステムパーティション)を作成する必要があります。私たちはそのようなパーティションを含むファイルを生成します:
BOOT_IMG=efi.img
grub-mkimage \
-C xz \
-O x86_64-efi \
-p /boot/grub \
-o bootx64.efi \
boot linux normal configfile \
part_gpt btrfs fat iso9660 loopback \
test keystatus gfxmenu regexp \
efi_gop efi_uga all_video gfxterm font \
echo read ls cat png jpeg halt
mkfs.vfat -C $BOOT_IMG \
$(( ($(stat -c %s bootx64.efi) / 1024 + 511) / 32 * 32 ))
mmd -i $BOOT_IMG ::/efi
mmd -i $BOOT_IMG ::/efi/boot
mmd -i $BOOT_IMG ::/boot
mmd -i $BOOT_IMG ::/boot/grub
mcopy -Q -i $BOOT_IMG bootx64.efi ::/efi/boot
# You may create a grub.cfg file if you want.
[ -f grub.cfg ] &&
mcopy -Q -i $BOOT_IMG grub.cfg ::/boot/grub
ESPを作成したら、次のコマンドを使用してUEFIブータブルISOイメージを構築できます。
xorriso -as mkisofs \
-r -J -l \
-iso-level 3 \
-joliet-long \
-append_partition 2 0xef $BOOT_IMG \
-partition_cyl_align all \
-o uefi-bootable.iso \
ISO_DIR
uefi-bootable.iso
ISOイメージが現在のディレクトリに作成されます。
起動可能な ISO イメージの次のリソースを読み取ることができます。