Ubuntu 20.04.1に基づいてLinux respinを作成しています。最終的な.isoを生成するためにdistroshare(もはやサポートされていない)というスクリプトを実行しています。生成された.isoは動作しますが、いくつかの奇妙なことがあります。
- .isoを開くと、すべてが大文字の8.3スタイルです。
- Rufusを使用してUSBに書き込むと、BIOS(またはUEFI-CSM)のターゲットシステムオプションのみが表示されます。
- Rufusを使用してUSBに書き込むときは、強制的にddモードで書く必要があります。
- SecureBootモードでシステムを起動できません。
公式Ubuntu .isoをダウンロードすると状況が異なることがわかりました。
- すべてが混在している場合です。
- BIOSまたはUEFIのターゲットシステムオプションが表示されます。
- ISOモードを使用してUSBに書き込むことができます
- SecureBootから起動する
これらが関係しているかどうかはわかりませんが、スクリプトの重要なコマンドは次のとおりです。
grub-mkrescue -o "${WORK}"/live.iso "${CD}"
このコマンドの出力は次のとおりです。
Creating the iso
xorriso 1.5.2 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/home/distroshare/live.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 11.2g free
Added to ISO image: directory '/'='/tmp/grub.PGtTeI'
xorriso : UPDATE : 574 files added in 1 seconds
Added to ISO image: directory '/'='/home/distroshare/CD'
xorriso : UPDATE : 590 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img'
libisofs: NOTE : Automatically adjusted MBR geometry to 1021/165/32
xorriso : UPDATE : 1.13% done
xorriso : UPDATE : 11.48% done
xorriso : UPDATE : 19.02% done
xorriso : UPDATE : 28.71% done, estimate finish Thu Sep 10 16:43:07 2020
xorriso : UPDATE : 38.24% done, estimate finish Thu Sep 10 16:43:08 2020
xorriso : UPDATE : 45.26% done, estimate finish Thu Sep 10 16:43:08 2020
xorriso : UPDATE : 56.44% done, estimate finish Thu Sep 10 16:43:08 2020
xorriso : UPDATE : 65.32% done, estimate finish Thu Sep 10 16:43:08 2020
xorriso : UPDATE : 74.83% done, estimate finish Thu Sep 10 16:43:08 2020
xorriso : UPDATE : 83.64% done, estimate finish Thu Sep 10 16:43:08 2020
xorriso : UPDATE : 92.53% done
ISO image produced: 1346790 sectors
Written to medium : 1346790 sectors at LBA 0
Writing to 'stdio:/home/distroshare/live.iso' completed successfully.
grub-mkrescueに別のスイッチを使用する必要がありますか?代わりにgrub-mkimageを使用する必要がありますか?これが意味するものはありますか?
編集:トーマスのコメント後の追加情報
-Jスイッチを使ってみたところ、正常に動作しました。実際には grub-mkrescue スイッチではなくパススルー xorriso スイッチなので混乱しています。
私はまだ完全なEFI / SecureBoot問題について非常に混乱しています。現在、ISOのルートディレクトリにefi.imgというファイルがあります。 grub-efi-amd64-signedをインストールした以外は、どのようにそこに到達したのかわかりません。署名されたと言って、SecureBootがUbuntu製品を信頼していることがわかったので、うまくいくと思いましたが、そうではありません。
md5の合計を計算する前に、単にUbuntu isoから/ EFI / BOOTディレクトリをコピーして私のisoのルートに入れることはできますか?それとも/ EFIディレクトリを取得するには別の作業を行う必要がありますか?
答え1
.isoを開くと、すべてが大文字の8.3スタイルです。
MS-Windowsでこれが起こると、ISOにJolietツリーがないためかもしれません。これを行うには、grub-mkrescueに-Jオプションを追加してください。
Linux やその他の Unix シリーズシステムでは、ISO の Rock Ridge データにより元のファイル名が表示されます。
Rufusを使用してUSBに書き込むときは、強制的にddモードで書く必要があります。
これは、RufusがGRUBのBIOSブートデバイスを認識しないためです。 Rufusサポートチームに説明や改善を依頼してください。
SecureBootモードでシステムを起動できません。
これには、Microsoft Inc.が署名したブートローダが必要です。 Ubuntuはこのプロセスを経ました。 (ubuntu-19.04-desktop-amd64.iso EFIパーティションの/EFI/BOOT/BOOTX64.EFIに「Microsoft」という単語が46回表示されると計算しました。)
おそらく、プログラムに直接署名し、EFIに署名を受け入れるように指示することもできます。でもそれは私の能力外のことだと心配です。
代わりにgrub-mkimageを使用する必要がありますか?
代わりに。 grub-mkrescue は grub-mkimage を使用して EFI パーティションを作成します。通常、grub-mkrescueは、GRUBブートデバイスを使用してISOを作成するために推奨されるGRUBツールです。
良い一日を過ごしてください:)
まな