私はmkisofsモードでxorrisoを使ってカスタムisoを作成しています。ビルドが正しいようです。その後、ISOをチェックすると、2つのブートイメージ(BIOS 1、UEFI 2)が表示されますが、OVMFファームウェアを使用してqemuからISOを起動すると、ブータブルメディアが見つかりません。
qemuで同じブートを試みますが、ubuntu 16.04サーバーisoを新しくダウンロードしてもブートに問題はありません。
UEFI 以外の BIOS を使用すると、両方が正常に起動します。
xorriso コマンド:
xorriso -as mkisofs \
-l -J -R -V version \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-isohybrid-mbr isohhdpfx.bin \
-eltorito-alt-boot -e EFI/BOOT/BOOTX64.EFI -no-emul-boot \
-isohybrid-gpt-basdat \
-o testos.iso ./cddir/
xorriso -report_el_torito plain
2つのiso(ubuntuと私がカスタマイズしたもの)の使用と確認の詳細はcmd
次のとおりです。https://gist.github.com/deitch/e069268f92402d6a2b1c7e060ddba622
ベストアンサー1
飛行していただきありがとうございますxorriso
。
問題は、xorrisoがEFIシステムパーティションとして表示されるようにしたイメージファイルにあります。名前付きバイナリファイル/EFI/BOOT/BOOTX64.EFI
(または/BOOTIA32.EFI
32ビットx86の場合...)と他のファイルを含むFATファイルシステムイメージである必要があります。内容を理解するには、Ubuntu ISOで/boot/grub/efi.imgファイルをマウントしてください。
Ubuntuやその他のオペレーティングシステムで使用されるFATファイルシステムは、GRUB2プログラムgrub-mkimageによって作成された可能性があります。 ISOLINUX / SYSLINUX EFIソフトウェアは、CD-ROMデバイスを見つけたときに飛び出すので動作しません。
起動可能なISOを取得する非常に便利な方法はプログラムですgrub-mkrescue
。 GRUB2がBIOSおよびEFI用に構成されている場合(イメージgrub-pc
EFI:バイナリパッケージのインストール)はいハードドライブのBIOS用MBRとハードドライブのEFI用GPTがあります。grub-efi-amd64
grub-efi-ia32
grub-mkrescue
BOOTX64.EFI
BOOTIA32.EFI