
cdrecord
CDを焼いて画像を作成するのに問題はありませんgenisoimage
。
同様にDVDに記録したい。まず、イメージを作成してからディスクに書き込みます。画像をディスクに書き込む前に確認できるので、非常に便利です。
これまで私が見たのは、growisofs
コマンドを使ってDVDに何かを焼く方法だけでしたが、完了したのはISO9660を使ってDVDを焼くだけです。しかし、UDF画像を焼きたいです。焼く前に作成する必要がありますが、UDFイメージはどのように生成されますか?
そしてBlu-rayの焼き方を説明したりリンクしていただきたいと思います。
すべてのツールは使用する必要があるため、コマンドラインである必要があり、GUIにはオプションがありません。
答え1
実際には、要件に応じてLinuxでUDFファイルシステムイメージを生成する方法は2つあります。
mkisofsを使用したUDF/ISO-9660イメージの生成
このmkisofs
ツールは、結合されたUDFおよびISO-9660ブリッジファイルシステムを一度に作成できます。これは、同じファイルデータを参照してUDFディレクトリと従来のISO-9660ディレクトリを保存するファイルシステムです(したがって、データは一度だけ保存されます)。すべての最新のオペレーティングシステム(Windows XP以降)はUDFデータにアクセスし、ISO-9660情報を完全に無視するため、あらゆる意図と目的のためにはいUDFファイルシステム
このアプローチの利点は、入力ディレクトリから始まり、埋め込まれたファイルシステムイメージで終わるファイルシステムを一度に作成することです。つまり、growisofs
出力をディスクに直接ダンプして書き込むこともできます。考えられる欠点は、従来のISO-9660構造のために無駄なスペースが少なく、結果としてファイルシステムに書き込むことができないことです(したがって、次の条件に該当する場合、DVD-RAMまたはBD-REメディアでは使用できません)。満たす)マウントされたディスクのデータを変更できるようにしたいです。
これらのファイルシステムイメージを生成するには、次のコマンドを使用できます。
mkisofs -udf -o myimage.udf -V MyDiskTitle /path/to/input/files
またはディスクに直接焼く。
growisofs -Z /dev/dvd -udf -V MyDiskTitle /path/to/input/files
このオプションを使用するには最新バージョンが必要です。適切mkisofs
genisoimage
、多くのLinuxディストリビューションに付属して、廃止された古代のフォークではありません。
mkudffsを使用した「純粋な」UDFファイルシステムの作成
もし絶対に〜しなければならないISO-9660データ構造を持たない純粋なUDFファイルシステムがある場合は、ループバックデバイスと一緒にmkudffs
パッケージのツールを使用してローカルイメージを作成できます。これは、上記の方法を使用するudftools
よりmkisofs
も多くの手順が必要ですが、純粋なUDFファイルシステムを作成して読み取り/書き込みでマウントできるDVD-RAMやBD-REなどのランダムアクセスメディアに書き込むことができる唯一の方法です。
まず、イメージを含む空のファイルを作成する必要があります。ここに提供されているサイズは標準CDと一致する650MBであり、DVD / Blu-rayの場合は明らかに大きなサイズが必要です。DVDメディアの正確なサイズについては、このWikipediaの記事を参照してください。。
$ truncate -s 650M /tmp/cdimage.udf
次に、mkudffs
この空のイメージでUDFファイルシステムの作成を呼び出します。
$ mkudffs --media-type=dvdrw /tmp/cdimage.udf
mkudffs(1)
他の可能なメディアタイプを参照してください。truncate
と両方がmkudffs
生成されます。スパースファイルしたがって、ファイルシステムがそれをサポートしている場合、画像を埋めない限り、画像は全体のサイズを占有しません。
その後、イメージをローカルにマウントしてデータをコピーできます。
$ sudo mkdir /media/udfimage
$ sudo mount -t udf -o loop,rw /tmp/cdimage.udf /media/udfimage
データをイメージにコピーし、反対のプロセスを実行してイメージをアンマウントし、ループバックデバイスを取り外します。
$ sudo umount /dev/loop0