ハードディスクが不調な時は、生のままでいいからとにかくデータを安全な場所に移したい。というわけで、dd コマンドを使ってローカルに持ってきている。買ったばかりのマックがあって良かった。なにせディスクが空に近いから。
まずは1GBずつ、エラったら128MBずつ小分けにして、その中でエラった箇所を4MB、128KB と小分けにしながら dd コマンドで吸い上げてゆく。9番目のGBブロックの5番目の128MBブロックならこんな感じ。
dd if=/dev/disk2s10 of=disk2s10_08.4 bs=4k count=32k skip=8x32k
大きなブロックで読めないときは、その中のどこかにエラー箇所があるだろうと思うけど、実際にやってみると、小分けにするとエラーにならずに読める場合がある。というか、意外とそういうことが多かった。(解せないので操作ミスも疑ったが、そうではなくて本当に読めているみたい。騙し騙しやるには小刻みの方が良い、ということか?)
とにかく、小さく分けて読んでいったら、結局のところ、一番細かい128KBブロックが1個読めないだけで、あとは全部読み出す事ができた。最後に、読めなかった128KBのブロックだけを、
dd if=/dev/disk2s10 of=disk2s10_06.3.00.00 bs=4k count=32 skip=1671168 conv=noerror,sync
でエラーを無視して読み込んだら、最終的に回収できなかったのは48KB分のみ、となった。まずは満足。
回収したデータをcatで繋いでひとつのファイルにまとめ、amazonで買ったNASに放り込む。さすがに80GB分だと時間がかかるので、続きの作業は明日にする。
ともかくこれで、ハードウェアのトラブルを気にせずに、純粋に論理的な修復作業に移れる。
この先の作業には、二つのやり方がある。
望ましいのは、まとめたファイルをディスクイメージとしてマウントできるようになること。ext3のマウントについてはここに情報があったので、MacFUSE と fuse-ext2 をインストールして試してみる。正常なディスクイメージではないので、もうひと手間かかるかも知れない。それが難しそうなら(面倒そうなら)、PhotoRecを使ってファイルだけでもサルベージする。写真や映像がほとんどなので、意外とこの方法でも十分かもしれない。
0 件のコメント:
コメントを投稿