web-dev-qa-db-ja.com

ddrescue --retrimは具体的に何をしますか?

現在、フォレンジックの提案に従って、障害のあるハードドライブでの再試行ログなしスキャン、直接読み取り再試行再スキャン、およびフォローアップレトリム直接スキャンを行っています。私はステップが本質的に何をしていたかを把握していると思った。

私の仮定は:

1)再試行を伴わない最初のスキャンは、エラーを発生させない情報をできるだけ多く取得し、後でより集中的な回復を試行するための情報を記録することでした。

2)2回目のスキャンは、最初のスキャンで記録されたエラーの特定のセクターを可能な限り回復するための最初の積極的な試みでした

3+)--retrimを使用した3回目以降のスキャン「考えた」エラーの残りのリストを調べ、まだ回復可能なものを回復しました。

今私が頭を悩ましている問題は、3回目のスキャンで、リストされた355個のエラーで始まったことです(ログから推測しています)。それは、以前の多くを回復し、数分後には回復できなかった約15分の悪いストレッチの後、良い仕事をしていました。スキャンの早い段階で、この数は285まで減少しました。しかし、今ではエラーの数は296まで戻っています。この数が実際に「増加」するのは何ですか?すでにエラーとしてマークされているもの以外は読み取ろうとしておらず、すでに不良としてマークされているものを正常に読み取ることができた場合にのみ、エラーカウントを変更します。この数字が「上がる」ことを期待していませんでした。だから私は何かを見逃しているに違いない。

SW

1
Scott

私のイラスト:

エラーカウントが「セクターのカウント」である場合、あなたの結論は正しいでしょうが、エラーカウントが「1つ以上の不良セクターの連続ブロックのカウント」であり、そのようなブロックがいくつかのブロックに分割される場合ブロックは読み取り可能として回復されますが、不良セクタに囲まれています。

...GGGBBBBBBBBBBGGG...` (one bad block) -->

...GGGBBBGGBBGBBGGG...` (three bad blocks).

info ddrescueの説明:

合計エラーサイズ(「errsize」)は、トリミングされていない、削られていない、不良セクタのすべてのブロックのサイズの合計です。コピー段階で増加し、トリミング、スクレイピング、再試行中に減少する場合があります。 ddrescueは失敗したブロックをスクレイピングまたは再試行するため、検出された正常なデータはそれらを小さなブロックに分割し、エラーの合計サイズを減らしますが、エラーの数を増やします。

1
sudodus