mkisofs エラー - ブート イメージ...efibot.img が許容サイズではありません

mkisofs エラー - ブート イメージ...efibot.img が許容サイズではありません

BIOS または EFI サーバーのいずれかで起動できる rhel-8 インストール ディスクからカスタム ISO を作成しようとしています。ISO を作成しようとするまではすべて順調です。次のコマンドを実行すると:

mkisofs -J -R -T -V "NGS-8.4-0 Server" \
    -o ngs-8.4-0.iso \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    --no-emul-boot \
    --boot-load-size 4 \
    --boot-info-table \
    --eltorito-alt-boot \
    -e images/efiboot.img \
    -m TRANS.TBL \
    ngs-dvd

次のような出力が得られます。

Creating NGS iso...I: -input-charset not specified, using iso-8859-1 (detected in locale settings)

(bunch of TRANS.TBL output deleted)

Size of boot image is 4 sectors -> No emulation
Size of boot image is 19612 sectors -> genisoimage: Error - boot image '/NGS/ngs-dvd/images/efiboot.img' has not an allowable size.

ただし、2 つのオプション ( --eltorito-alt-boot& -e images/efiboot.img) を削除すると、起動可能な ISO が作成されます。何が間違っているのでしょうか?

答え1

どうやらオプションが 2 回必要だったようです-no-emul-boot。ブート イメージ (BIOS と EFI) ごとに 1 回です。最終的な動作構成は次のとおりでした。

/usr/bin/mkisofs -J -R -T -V "NGS-8.4-0 Server" \
    -o ngs-8.4-0.iso \
    -b isolinux/isolinux.bin \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -eltorito-alt-boot \
    -e images/efiboot.img \
    -no-emul-boot \
    -m TRANS.TBL \
    ngs-dvd

答え2

manページより:

-eltorito-alt-boot で開始新しいセットエル・トリートブーツパラメーター1 枚の CD に最大 63 個の El Torito ブート エントリを保存できます。

-no-emul-bootしたがって、回答で再度追加する必要があるという発見は、-eltorito-alt-boot追加された EFI イメージ-e-no-emul-boot適切に動作する必要があり、次の El Torito エントリであり、新しいパラメーター セットで開始されるため、必要なパラメーターを再度明示的にリストする必要があることを意味します。

質問から:

ただし、2 つのオプション (--eltorito-alt-boot と -e images/efiboot.img) を削除すると、起動可能な iso が作成されます。

私も最初はその方法で実行しましたが、レガシー ブートのみとなる ISO が作成されました (EFI はなく、-e後で USB 上の EFI パーティションになる部分が追加されます)。

ちなみに、USB に書き込む前にisohybrid --uefi new.isoコマンドが必要です。

関連する良い投稿と議論があるようですFedora 17 ISO イメージの解析まだ全部読んでいません。

PS 他の多くのオプションがなぜ重要なのか (たとえば、4 以外のサイズは機能しないようです) は、今のところわかりません。-eオプションは私のシステムのマニュアル ページに存在しないようですが、機能します。https://wiki.osdev.org/Mkisofs:

-e ISOPATH は、データ ファイルを EFI の El Torito ブート イメージとして通知します。これはオリジナルの mkisofs のオプションではありませんが、genisoimage の一部のバリアントと xorriso -as mkisofs によって認識されます。

関連情報