時々、ハードドライブを正常に見える別のドライブに複製する必要がありますが(SMART値は正常です)、表面に不良セクタがあるかどうかを完全に確認することはできません。
通常、通常のハードドライブを複製すると、以前に削除されていないため、完全に確認されていないターゲットドライブが使用されます。
間違っていたら教えてください。私はddrescueが読み取りエラーだけを報告すると思います。 これはまた、書き込みエラーのために一部のセクタをターゲットドライブにコピーできない場合でも、ddrescueがエラーなしで複製に成功したことを示します。同様に、マッピングファイルは、ターゲットドライブにエラーがあるかどうかを知らせません。
それで、ddrescueがなぜ2つのマッピングファイル(read.log)(write.log)の生成を許可しないのか疑問に思いました。
これは2番目の質問につながります。書き込みエラーを検出する方法はありますか?
注:複製後、両方の1TBドライブのチェックサムを計算するのに時間がかかるとします。より良い解決策はありますか?
ベストアンサー1
ddrescue
書き込みエラーは致命的であるため、書き込みエラーは記録されません。ブロックを書き込む必要があるたびに書き込まれると予想されるバイト数を追跡し、そのバイトが正常に書き込まれない場合はエラーメッセージで中断されます。これを実行すると見ることができます
$ ddrescue --force /dev/zero /dev/full
GNU ddrescue 1.23
Press Ctrl-C to interrupt
ipos: 0 B, non-trimmed: 0 B, current rate: 0 B/s
opos: 0 B, non-scraped: 0 B, average rate: 0 B/s
non-tried: 9223 PB, bad-sector: 0 B, error rate: 0 B/s
rescued: 0 B, bad areas: 0, run time: 0s
pct rescued: 0.00%, read errors: 0, remaining time: n/a
time since last successful read: n/a
Copying non-tried blocks... Pass 1 (forwards)
ddrescue: Write error: No space left on device
正常に完了すると、ddrescue
最善を尽くして読み取ったすべてのデータが正しく記録されます。