以下のように、DVDビデオディスクからISOイメージを作成するためのコマンドラインを説明する多くの記事がインターネットにあります。
dd if=/dev/sr0 of=mydvd.iso conv=noerror,sync,notrunc
notrunc
なぜ必要なのか理解したいです。私が知っている限り、man
このコマンドのページではnotrunc
出力ファイルが切り捨てられるのを防ぐことができます。これは、基本的にファイルが存在する場合はdd
既にある内容だけを上書きし、触れていない内容があればdd
(ファイルの他の点を見てみると)、元の内容は変更されずにそのまま維持されるという意味です。
ISOを作成するときは、新しい、きれいで空のファイルから始めたいですか?
本当に悪いディスクの場合、私が考えることができる唯一の方法は、notrunc
同じ出力ファイルに対して同じddコマンドを複数回実行して、毎回別のビットを埋めるようにするddを使用することです。出力ファイルがないと効果はありませんnotrunc
。
そうですか、それとも誰もが指定する他の理由はありますかnotrunc
?
(CSS、ARccOSなどをバイパスする方法を尋ねるのではなく、dd
使用法だけを尋ねることです。)
答え1
私が推測しなければならないなら、に関するウィキペディア記事dd
:
notrunc 変換オプションは、出力ファイルが切り捨てられないことを意味します。つまり、出力ファイルがすでに存在する場合は、指定されたバイトのみが置き換えられ、出力ファイルの残りの部分は保持されます。
notrunc
パフォーマンス上の理由で使用されます。数バイト/キロバイト/メガバイトなどを更新するためにファイル全体を書き換える必要はありません。
メモ:この質問に対する最終回答は StackOverflow Q&A でなければなりません。こんにちはコメントで引用したタイトルは次のとおりです。ddを使用してディスクを複製するときは、なぜconv = notruncを使用するのですか?。答えは優れており、O_TRUNC
ブロックデバイスとファイルへの影響を示すC ++プログラムが含まれています。
答え2
DVD全体をDVDのペイロードのみを含むファイルにコピーする場合は、これは必要ありません。実際、notruncはプライバシーのリスクを引き起こし、DVDペイロードよりも古いファイルを上書きするとメディアオーバーフローを引き起こす可能性があります。この場合、古いファイルの残りのブロックはコピーされたDVDコンテンツに追加されたままになります。したがって、ファイルシステムとともに新しいDVDにコピーされます。
Starfryのコメントでは、ISO 9660ファイルシステムのブロックのみをコピーすることをお勧めします(実際にISO 9660の場合)。これは、DVDメディアがファイルシステムよりも多くのブロックを配信できるため便利です。