不良セクタが多発した場合、Windowsでは容易にシステムが起動しなくなりますが、そんな時でも、Linuxを使えば一部のデータを救済出来る事があります。
一部データの抜き出しなどは、Windowsで操作するよりも、遥かに高い確率で成功します。また、ddを使って、Diskのコピーを作成出来れば、高い確率でシステムの大部分を復旧出来ます。(たぶん)
で、ddでのコピーの仕方
Disk to Disk
元のDiskと同等以上の容量を持つDiskを、一度にシステムに接続出来る場合
# sudo dd if=/dev/sda of=/dev/sdb bs=4096 conv=noerror,sync
|
*二台接続出来ない場合は、一端USB Diskなどにファイルとして保存して、そこからコピー先にddし直します。
if
|
入力ファイル または デバイス
ファイル名を指定したり、/dev/sda などのデバイス名を指定する
|
of
|
出力ファイル または デバイス
|
bs
|
バッファーサイズ
標準値だと非常に遅い。エラーが出た際はここに指定したサイズ単位でコピーが行われないので、速度と安全性のバランスを考えて設定する。エラーが無いDiskをコピーするのであれば、8192 とか大きな値を設定しても問題ない
|
conv
|
noerror:
エラーが発生しても、処理を継続する
sync:
エラーが発生した位置は、nullで埋められる。noerrorを一緒に指定してください。指定しない場合、エラー部分が詰めて処理される為、データが破壊されます。
|
途中経過の確認
動作中は、基本的に何のメッセージも出力されません。コピーの進捗を知りたい時は、別のターミナルを開いて、dd にシグナルを送ります。
シグナルを受けた dd は、コピーしたデータ量、経過時間、転送速度などを出力します。
|