grub-mkrescueを使用して再スピンしてライブUSBを作成する

grub-mkrescueを使用して再スピンしてライブUSBを作成する

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ツールです。

良い一日を過ごしてください:)

まな

おすすめ記事