boot/grub/efi.img イメージのサイズが正しくありません。

boot/grub/efi.img イメージのサイズが正しくありません。

カスタムUbuntu 16.04 LTSサーバーインストールメディアを作成しようとしており、ここの指示に従います。https://help.ubuntu.com/community/InstallCDCustomization

コマンドを実行しようとすると:

# Hybrid/UEFI
IMAGE=jeremy-uefi.iso
BUILD=/opt/cd-image/

xorriso -as mkisofs -r -V "Jeremys" \
        -J -l -b isolinux/isolinux.bin \
        -c isolinux/boot.cat -no-emul-boot \
        -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
        -eltorito-alt-boot \
        -e boot/grub/efi.img \
        -isohybrid-gpt-basdat \
        -boot-load-size 4 -boot-info-table \
        -o $IMAGE $BUILD

次のメッセージが表示されます。

xorriso 1.4.2 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:/opt/jeremy-uefi.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 31.8g free
Added to ISO image: directory '/'='/opt/cd-image'
xorriso : UPDATE : 2963 files added in 1 seconds
xorriso : UPDATE : 2963 files added in 1 seconds
libisofs: FAILURE : Invalid image size 2368 Kb. Must be one of 1.2, 1.44or 2.88 Mb
libisofs: FAILURE : Trying to use an invalid file as boot image
xorriso : FAILURE : Could not attach El-Torito boot image to ISO 9660 image
xorriso : NOTE : -return_with SORRY 32 triggered by problem severity FAILURE

boot/grub/efi.img イメージで問題を追跡しました。しかし、一日中戦った後でも、私はそれを取り除くことができませんでした。

確実な解決策は、新しい2.88Mb fat16ファイルシステムを作成し、efi.imgの内容をコピーして元のファイルを置き換えることです。しかし、これはもともとUbuntu CDがどのように作成されたのかという質問をもたらします。

答え1

引用するトーマス・シュミット質問に対する彼の答えに見られるように:

-boot-load-size 4 -boot-info-table-eltorito-alt-bootオプションはを修正することが目的なので、最初に作成する必要があります-b。その後、-eltorito-alt-boot領域が続きます-e。フロッピーディスクエミュレーションサイズに関するエラーメッセージを防ぐには、他のオプション-no-emul-boot(と同じ)が必要です。ただし、EFIイメージにはまたはを-b使用しないでください。-boot-load-size-boot-info-table

関連情報