web-dev-qa-db-ja.com

不良ブロック(WindowsのCRCエラー)でファイルを回復する方法はありますか?

私が見るものはこれです:

  • ファイルのCRCが計算されたCRCと一致しないため、Windowsはファイルを読み取るときに文句を言います。
  • これは、NTFSにファイルのCRCがあることを意味します。
  • 問題のあるブロック/セクターはわかっているか、少なくとも推測できると思います。
  • また、「間違ったデータ」がディスクから読み取られることも期待しています。
  • 「間違ったデータ」のビットを1つずつ反転すると、力ずくで正しいデータを見つけることができます。
  • したがって、CRCに一致する統計とブルートフォーシングビットを使用してファイルを回復できます。

私の質問は、この種のことを行うソフトウェアはありますか?私はそれを行うことができます(CRC、ドライブの「間違った」データを取得し、そこに問題のあるブロック/セクターがどれであるかを知り、関連する指示があれば、自分でそれを破壊するスクリプトを書くことができれば幸いです) 。

ちなみに、これはメカニカルHDDです。

編集: 16進エディタなどを調べたところ、ゼロや最後のブロックのコピーなど、不正なブロックがゴミとして表示されていることに気付きました(これはプログラムによって異なるようです)したがって、破損した「実際のデータ」を取得するには、一部のハードウェアを無効にする必要があります。これは、不良なブロックの読み取りを拒否する修正です。これはECCと呼ばれていると思います。また、ほんの数ビットでブロックが「不良」としてマークされている場合は、Windowsの32ビットチェックサムを使用してブルートフォース攻撃を行うことができると思います。

したがって、この質問は、自分でこれを行うためのガイダンスで簡単に答えることができます。

3
Camilo Martin

残念ながら、私がやりたかったこと 不可能 (NTFSはCRCを保存しませんが、ハードドライブは保存します)。

ただし、ハードドライブを回復している最中なので、SpinRiteをお勧めします(1日あたり数GBの非常に遅い速度で、ファイルシステムをマウントしてファイルの状態を確認することがあります)。

それはあなたのために働くかもしれないし、そうでないかもしれないので、データが数千ドルの価値があるならば、専門のハードドライブ回復場所に行ってください。それはひどく費用がかかりますが、時々専門家はありそうもない状況からデータを取得します。

ああ、最後の推奨事項:データが数千の価値がある場合は、ドライブに触れないでください。もうマウントしないでください。あえて起動しないでください。chkdskを実行しないでください。何もしないでください。ドライブが回復する可能性が損なわれる可能性があります。
しかし、それが曲、映画、またはその他の非IMのドライブである場合によってtanコンテンツ、心ゆくまでプレイするチャンスをお見逃しなく! :)

1
Camilo Martin