昨日はddrescue
を使用して、1:1のコピーを取得し、それをイメージとして新しいドライブに保存しました。故障したドライブの先頭に不良クラスターがあることを知っていたので、逆方向に読んだとします。つまり、-R
スイッチ、マニュアルページから:
-R --reverse
すべてのパスの方向を逆にします(コピー、トリミング、スクレイピング、再試行)。通常は順方向に実行されるすべてのパスが逆方向に実行されるようになり、その逆も同様です。 '
--reverse
'は、各フェーズでコピーされるブロックのサイズを変更するのではなく、試行される順序のみを変更します。
もちろん、私はmapfile
を使用してプロセスを再開できるようにしました。
さらに、私は直接アクセスを使用しました。すべてのドライブがこれをサポートすることになっているわけではありませんが、私のものはサポートしています。
私が使用した完全なコマンドラインは次のとおりです。
ddrescue -d -R /dev/sdb baddrive.ddrescue.img baddrive.ddrescue.log
結果は、サイズが4096バイトの1エラーです。
mapfile
の関連部分は次のとおりです。
# current_pos current_status
0x1375BCE00 +
# pos size status
0x00000000 0x1375BC000 +
0x1375BC000 0x00001000 -
0x1375BD000 0xE7A97F9000 +
不良クラスターを100回再試行して、完全に停止していることを確認することはできますか?
はい、可能です。
mapfile
の行を変更する必要があります。
0x1375BC000 0x00001000 -
そのように最後に疑問符を含めるには:
0x1375BC000 0x00001000 ?
これで、回復プロセスを再開する準備ができました。そこに再試行オプションを追加するだけです。
-r n --retry-passes=n
指定された回数の再試行パスの後に終了します。デフォルトは0です。-1は無限大を意味します。すべての不良セクタは、各パスで1回だけ試行されます。前回の実行で検出された不良セクタを再試行するには、ゼロ以外の数の再試行パスを指定する必要があります。