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.
--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
マニュアルページから:
-eltorito-alt-boot は次から始まります。新しいセットエルトリトーブーツパラメータ。 1つのCDにEl Toritoの開始エントリを最大63個まで保存できます。
その結果、-no-emul-boot
後でもう一度追加する必要があることがわかりました。つまり、-eltorito-alt-boot
追加されたEFIイメージも機能-e
し、-no-emul-boot
次のEl Toritoエントリであり、新しいパラメータセットで始まるため、明示的にリストする必要があります。もう一度必須パラメーターです。
質問から:
ただし、両方のオプション(--eltorito-alt-boot&-e Images / efiboot.img)を削除すると、起動可能なISOが生成されます。
最初もこれを行い、従来の起動のみ可能なISOを作成しました(EFIなし、-e
後でUSBのEFIパーティションが追加されました)。
ところで、isohybrid --uefi new.iso
USBに書き込む前にコマンドが必要です。
良い関連記事+議論があるようです。Fedora 17 ISOイメージ解析、まだ読んでいません。
PS他の多くのオプションが重要な理由は何ですか(例:4以外のサイズは問題を解決できないようです)(まだまで)見つかりませんでした。-e
このオプションは私のシステムのマニュアルページにはないようですが、うまくいきます。https://wiki.osdev.org/Mkisofs:
-e ISOPATH データファイルを EFI El Torito ブートイメージとして宣言します。これは元のmkisofのオプションではありませんが、genisoimageとxorriso -as mkisofのいくつかのバリエーションで理解されています。