ISOイメージをDVD ROMに書き込む

ISOイメージをDVD ROMに書き込む

DVD-ROMに書き込む前に.isoイメージを作成する必要がありますか?つまり、ファイルをDVD-ROMに書き込む前にWindowsでこれに気付いたことはなく、isoイメージファイルを作成したこともありませんでした。しかし、Linuxに移行し、ターミナルコマンドを学ぶ過程で、それが言及されているのを見ました。iso ファイルを作成したら、それをディスクに書き込みます。つまり、私の好奇心は次のように要約されます。

1) 書き込む前に .iso イメージ ファイルを作成する必要がありますか?
2) 必要な場合、なぜそれが必要なのですか?

答え1

データは、正しいディスク リードイン、リードアウト、およびファイル システム構造を使用して、正しい形式で DVD に書き込まれる必要があります。

ディスクに書き込むには、収集されたデータ (ファイル) をディスク書き込みバッファに渡す前に、その場で ISO フォーマットを適用するか、ドライブに直接ストリーミングできるイメージ ファイルを作成する必要があります。

いずれにせよ、書き込む前にデータを適切に整理する必要があります。

Linux には、ある作業を行うための「1 つの優れたツール」を作成し、その後、完全なタスクを達成するためにツールを連結する習慣があります。そのため、多くのディスク書き込みツールは、実際の作業を行う別のツールまたはツール セットのグラフィカル ユーザー インターフェイスにすぎません。結局のところ、すでに完全に優れた一連の車輪が利用できるのに、なぜ車輪を再発明する必要があるのでしょうか。

答え2

.iso書き込む前にイメージファイルを作成する必要がありますか?

はい、いいえ。はい、適切なバイトストリームを作成する必要があります。いいえ、それは、通常ファイルHDD または SSD に保存します。

なぜそれが必要なのでしょうか?

多くのLinuxツールは「一つのことをうまくやる」というルールに従っています。mkisofsISOイメージを作成する場合は、例えばcdrecordまたはcdrskinそれを焼くためです。Windows では、すべてを自分で実行するために肥大化するツールの方がはるかに一般的です。別の回答で既に示唆されているように、ツールはオンザフライでイメージを作成する可能性があり、これらのイメージを一時ファイルとして保存する可能性もあります。

Linuxでも同様のことが実現できます-omkisofs; このオプションがない場合、が使用されます。光学メディアに書き込むプログラムは、 を「トラック アット ワンス」モードでstdout使用できます。stdin

または、メモリ内に一時ファイルを作成することもできます ( のように/dev/shm/)。

答え3

コマンドラインで ISO9660 互換の CD-ROM を書き込むには、常に iso(9660) イメージを構築する手順が必要になると思います。

ただし、k3b (KDE) や brasero (gnome) などのグラフィカル ツールを使用すると、この手順を明示的に実行しなくてもデータ CD-ROM を作成できます。これらのツールでは、書き込みプロセス中にイメージがオンザフライで構築される可能性があります。

答え4

1) いいえ。他の人が言っているように、データはハードディスクに中間保存する必要はありません。ISO 9660 のプロデューサー プログラムはデータ ストリームを「標準出力」に出力し、バーナー プログラムはこのデータ ストリームを「標準入力」で取得できます。これは「パイプ」と呼ばれ、非常に基本的な Unix シェルの動作です。

典型的な例としては次のようなものがあります:

mkisofs /some/directory | cdrecord -v dev=/dev/sr0 -
私自身のやり方は次のとおりです。
xorriso -outdev /dev/sr0 -blank as_needed -map /some/directory /
(データ転送は libisofs と libburn の間で内部的に行われます。)

GUI 書き込みプログラムも忘れてはいけません: K3b、Xfburn、Brasero など。これらは、ユーザーの手助けをほとんど必要とせずに ISO 作成プログラムと書き込みプログラムを連携します。

編集:Nis のコメントに反応してみる:

1 つのファイルの内容のみを保存したい場合は、そのファイルをメディアに書き込むだけで済みます。後でファイル /dev/sr0 を開くと、保存した内容 (およびおそらく末尾のゴミ) がそこに表示されます。

複数のファイル、またはファイル名やその他の属性を保存する場合は、ファイルを何らかのファイルシステムまたはアーカイブ形式にラップする必要があります。この形式は、後で適切なファイルシステム ドライバー (例: Linux "iso9660") またはアーカイブ アンパッカー (例: プログラム "tar") によって読み取ることができます。

もちろん、ハードディスクからいくつかのファイルだけを選択して、結果のファイルシステムまたはアーカイブで異なる名前を付けることもできます。(mkisofs には、名前の変更を制御するためのオプション -graft-points と "pathspecs" /ISO/PATH=/DISK/PATH があります。一部のアーカイブ プログラムには、アーカイブにコピーされるときにファイル名を変更する同様の機能がある場合があります。)

ほとんどのファイルシステムは、ランダムアクセス書き込み可能デバイスまたはディスク上のファイルシステムイメージファイルに作成する必要があります。これは、それらをシーケンシャルなデータストリームとして作成するプロデューサープログラムがないためです。このようなシーケンシャルなストリームは、パイピングの前提条件です。

アーカイバ (例: "tar" または "zip") と ISO 9660 ファイルシステム プロデューサーは、結果をシーケンシャル ストリームとして出力することができます。したがって、これらのプログラムでは、出力を書き込みプログラムの入力にパイプすることができます。

(編集終了)

2) ここで、最初に ISO イメージ ファイルを保存し、それをメディアに書き込むように指示する提案が数多くある理由について説明します。

最初の CD バーナーの古き悪しき時代には、「バッファ アンダーラン」のリスクがありました。ドライブの書き込み速度が ISO 作成プログラムがデータを配信できる速度を超えると、ドライブはエラーをスローし、CD-R は部分的にしか書き込まれませんでした。コンピューターがまず ISO プログラムを実行してすべてのデータを作成し、その後に書き込みプログラムを起動してハード ディスクから ISO イメージを読み込むと、成功の可能性が高まりました。

この時代は、1990 年代後半に「バーン フリー」が発明され、ドライブがさらにデータを待機して CD の書き込みを再開できるようになったことで終わりました。バッファ アンダーランや書き込み中止の問題は、DVD や BD メディアには発生しませんでした。

関連情報