データを検証するために書き込みを行った後、「ディスクの検証」は実際に何をしますか?
「ディスクの確認」機能は、焼き付けたばかりのディスクがうまく機能していることを確認するのに役立ちますが、正確にはどのように機能しますか?本日のSuperUser Q&A投稿には、興味をそそられる読者の質問に対する答えがあります。.
本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.
コバルト123の写真提供(フリッカー).
質問
SuperUser読者user1301428は、ディスクが焼かれた後にどのように検証されるのか知りたいのです。
書き込み後のディスクの検証は、実際にデータを検証するために何をしますか?元のファイルとディスクに書き込まれたファイルとの間のある種の比較であると思いますが、それが実際に低レベルでどのように行われているかは誰にもわかりません。?
つまり、ソースコンテンツとターゲットコンテンツのハッシュを作成してからそれらを比較するのですか。もしそうなら、それはRAMに焼かれた内容のハッシュを格納しますか?それとも、ハードドライブ上の一時ファイルに保存しますか?何が起こっているかのログファイルはありますか?
この機能がどのように機能するのかを正確に知ることに興味があるだけです。そして私はWindows Image Burnerに言及しています.
ディスク検証プロセスの仕組み?
答え
SuperUserの貢献者であるFrank ThomasとSynetechが私たちのために答えを持っています。最初に、フランクトーマス:
IBurnVerificationインターフェイスおよびIMAPI_BURN_VERIFICATION_LEVEL enumについては、Windows APIに関するこれらのMSDNページをチェックしてください。.
データディスクの場合、クイックモードではディスク全体をチェックサムするのではなく、選択したセクタだけをチェックします。それはそれからAPIがREAD_DISC_INFOとREAD_TRACK_INFO呼び出しが新しいディスクに対して成功することを確認します.
完全な検証のために、それは上記のチェックを実行し、そして焼かれているメモリストリームで計算されたチェックサムに対して新しいディスクの最後のセッションでフルチェックサムを行います。チェックサムはRAMに格納する必要がありますが、おそらく短期間の値です。比較は、ソースメディア自体ではなく、RAM内のディスクイメージに対して行われるため、ソースデータが正しく読み取られなかった場合は、誤って書き込まれます。検証ではこれは検出されません.
音楽ディスクの場合、READ_TRACK_INFOとディスクの目次をチェックすることに重点が置かれますが、チェックサムの計算は実行されません。音楽の完全確認モードはありません.
Synetechからの回答が続きます。
Frankは、Windows固有の検証についてうまく説明しました。もっと一般的な答えを出す.
- 書き込み後にディスクを検証すると、実際にデータを検証できますか?
- つまり、ソースコンテンツとターゲットコンテンツのハッシュを作成してからそれらを比較するのですか。もしそうなら、それはRAMに焼かれた内容のハッシュを格納しますか?それとも、ハードドライブ上の一時ファイルに保存しますか?何が起こっているかのログファイルはありますか?
それは確かに比較が実行されることができる1つの方法です:1つのファイルをハッシュし(うまくいけば衝突アルゴリズムの十分に大きい読み取りの低い可能性で)、もう一方のために繰り返し、そしてハッシュを比較します。それが検証の実装方法である場合は、しばらくの間ドライブLEDが点滅してからしばらくの間CD / DVD-LEDが点滅するのを確認できます。.
検証を実装するもう1つの方法は、1つのファイルのブロックを読み、次に別のファイルから同じブロックを読み、それらを比較して、ファイルの終わりに達するまで繰り返すことです。この場合、2つのドライブのLEDが前後に交互に表示されます。.
もちろん、ハードドライブと光学式ドライブにLEDがない場合は、それほど明白ではありません。しかし、ProcessMonitorのようなものでそれを見ることができます。なぜなら、それは一方からの一連の読み取りを記録し、次にもう一方から単一の大きなバーストまたは交互の小さなバーストのいずれかに記録するからです。.
- 元のファイルとディスクに書き込まれたファイルとの間のある種の比較であると思いますが、それが実際に低レベルでどのように行われているかは誰にもわかりません。?
実際には、比較機能がメモリキャッシュからではなく実際のディスクからデータを読み取っているように、ドライブキャッシュをフラッシュするだけです。明らかにこれは重要なステップです。検証がキャッシュから行われると、実際にはディスク上にあるものを表していないため、破損が簡単に防止される可能性があるためです。.
比較がドライブから行われたのか、RAM内のキャッシュから行われたのかは、それがどの程度速く行われたかによってわかります。単純な比較(WinDiff、WinMerge、またはハッシュツールを使用したハッシュなど)を手動で実行した場合、メモリキャッシュからファイルが読み取られているため、比較は予想よりもはるかに速く行われます。実際のディスクから強制的に読み取るようにするには、キャッシュをフラッシュする必要があります。光学式ドライブ(およびフラッシュドライブやメモリカードなどのその他のリムーバブルメディア)では、単にドライブを取り出すだけでキャッシュがフラッシュされますが、ハードドライブの場合はそれほど単純ではありません(通常は問題ではありません)。新しいコピーはテストしたいものです).
説明に追加するものがありますか?コメントで音を消す。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.