ぽっぺん日記@karashi.org
2005-09-28(Wed) [長年日記]
_ [UNIX]Linux ユーザのためのデータ救出
ddに与えるパラメータの説明が参考になった。
'conv=sync,noerror' がポイントで、エラーが起こっても少しスキップして続きをコピーし続けます。スキップする大きさが bs= で指定した大きさです。あまり小さくすると転送速度が遅くなるようです。エラーがたくさん起こるディスクだと、この値を大きくしておかないと、いつまでたっても終わりません。大きくしすぎると、エラー箇所の巻き添えで捨ててしまうデータが増えてしまいます。 bs=65536 のような値が指定しやすいでしょうか。
KNOPPIXでデータのサルベージをした時に、いつまでもddが終わらなかったのはbs=512にしたせいかも。

>いつまでもddが終わらなかったのはbs=512にしたせいかも。<br>確かに512byteごとに読み取りをするので、その度ごとにtimeout待ちするから壊れたHDDだと時間がかかりますね。<br>余り壊れていないHDDならibs=512でも、obs=で65536とすれば書き込みはまとめてしまうので実用としては問題ないですが。<br>でも被害をセクタサイズである512byteに留めておくのは仕方が無いかも?
> 余り壊れていないHDDならibs=512でも、obs=で65536とすれば書き込みはまとめてしまうので実用としては問題ないですが。 <br><br>知りませんでした。参考になります。<br><br>> でも被害をセクタサイズである512byteに留めておくのは仕方が無いかも?<br><br>確かに、重要なデータが入っているHDDの場合だと、それが最善な感じがします。妥協して、bsをファイルシステムのクラスタサイズに合わせてあげるって感じでしょうか(間違っているかも)。