起動可能な ISO ファイルの作成

起動可能な ISO ファイルの作成

ISO から USB への「書き込み」ツールの多様性には少々困惑させられます。それぞれが、DD スタイルの直接コピー (既存のコンテンツをすべて消去し、読み取り専用の ISO9660 形式の USB メディアを作成する) から、ループバックで ISO をマウントし、ファイルをコピーし、コピー後の手順としてブートローダをインストールするものまで、問題に対する独自の微妙に異なるアプローチを採用しているようです。

これまで、Etcher、UNetbootin、Rufus、Ubuntu の Startup Disk Creator を試してきました。私は、一貫性があり、クロスプラットフォームなソリューションを本当に探しています。特にイライラするのは、Etcher と UNetbootin は Mac バージョンでは起動可能なメディアを作成できるものの、Linux (VM またはネイティブ マシンのどちらでも) では作成できないことです。つまり、成功したように見えますが、最終的には起動しません。

いずれにせよ、議論を少し裏付けるために、これが私が現在使用している、起動可能な ISO ファイルを作成する方法です。

  • 最新のsyslinuxをダウンロードして解凍します。https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
  • ネットブートをダウンロードlinuxinitrd.gzhttp://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
  • 走るmkisofs -D -V "My App" -r -quiet -o path/to/result.iso -J -l -b syslinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table file1.txt file2.txt file3.txt ...
  • 走るsyslinux/bios/utils/isohybrid.pl path/to/result.iso

いくつかの注意点:

  • 結果として得られた ISO ファイル (最終ステップを除くisohybrid.pl) は、Parallels で CD-ROM としてマウントして起動できます。
  • Etcher を使用して物理 USB に書き込むと、結果は iso9660 としてマウント可能ですが、ターゲットの AMD64 システムでは起動できないようです (はい、「レガシー」モードです)。
  • このisohybrid.pl手順を実行しないと、Etcher は物理 USB への書き込みを拒否します。
  • Mac OS で UNetbootin を使用して物理 USB に書き込むと、起動可能な結果が得られますが、Linux で同じバージョンの UNetbootin を使用して書き込むと、起動不可能な結果になります。
  • 一貫して動作する唯一のツールは Rufus ですが、これは Windows 専用であり、多くのユーザーにとって非常に不便です。

他にも、この問題に遭遇した人がいて、何が問題なのか、あるいは実行可能な方法についてのアイデアを持っていることを期待しています。最終的にコマンド ラインまたは Linux のみのソリューションになるとしても、理想的ではないことは明らかですが、私にとっては受け入れられます。また、Syslinux から Grub または EFI をサポートする他のソリューションに移行すれば、状況が楽になるのであれば、それについても検討します。

Etcher のようなツールがあれば、サポートされている OS のいずれからでも簡単に書き込むことができる起動可能な ISO を作成する方法が確実にあるようです。

答え1

うーん、上記のように isohybrid を実行した ISO は、実際には複数の物理マシンで起動できるようです。そのため、現時点では、これは Parallels といくつかの奇妙な BIOS 設定の問題であると考えています。

Etcher のドキュメントと Ubuntu メーリング リストからの詳細情報:

https://github.com/resin-io/etcher/blob/master/docs/USER-DOCUMENTATION.md#flashing-ubuntu-isos

https://lists.ubuntu.com/archives/ubuntu-devel/2011-June/033495.html

関連情報