« ミステリの著者索引で悩む | トップページ | Great Georgeで悩む »

2013年3月24日 (日)

HDDからのデータサルベージに悩む

さて、「メインで使っていたPCのHDDが吹っ飛んだのが昨年の夏の終わりごろだった。」というところまで話を戻そう。
PCを2T(つまり2000Gだが)のHDDを中心として組みなおし、壊れたHDDもPC内部にSATAインターフェースを介してつなぎこんだのは、高速に転送できるだろうと思ってのことだったが、さすがに壊れたHDDだけあって一筋縄ではいかない。転送途中でカッコンカッコンとアクセス異常を起こして、PC全体がハングアップしてしまう。これが起こると、PCの電源を入れなおしてまたコピー作業を試すことになる。

そんなふうにしてコピーしようとすると全くはかどらないので、考えを改めた。まず壊れたHDDをPC内部に組み込むのはやめて、外付けHDDケース(SATA)に格納してUSBで接続するようにする。これで、アクセス異常を起こしても外付けHDDケースの電源を再投入するだけで、PCはそのままにしておける。

さらにスクリプトを組んで、どのファイルのコピーで失敗したのかを記録し、次回はそのファイルをスキップしてコピーを行うようにする。

こういう計画を立てて実際にやってみたのだが、想定外のエラーがでてうまくいかない。単にハングアップするだけでなく、何がどうだとか、何が見つからないとかいろいろと文句を言うので、これらにいちいち対応できないのだ。

そんなわけで、ちょっとしばらく頭を冷やしていたのだが(冷やしすぎ)、スクリプトを新調するにあたって、copyではなくxcopyというコマンドを使うことを考えた。xcopyはMSDOSの昔からあるコマンドだが、copyよりも多機能であるだけでなく、ファイルのコピーの仕方自体も違うようで、copyコマンドでコピーできなかったファイルもxcopyだとコピーできたりすることもある。

さらに、xcopyには大きな機能があって、それはコピー先に同名のファイルがあった場合にタイムスタンプを比較し、コピー元がコピー先よりも新しいときのみコピーするとか、フォルダの階層を辿って深いところまでコピーしてくれるとかなのだが、これらの機能が今回は非常に役に立つのだった(XCOPY /D /S)詳しいことはDOS窓で「XCOPY /?」と打ち込んでヘルプを見ていただきたい。

WindowsXPのファイルシステムであるNTFSは、セキュリティ上の制約からその構造を公開していないので、実際のところcopyとxcopyの動作上の違いはわからないのだが、xcopyはたとえばコピーしようとしてうまくいかなかったときに、何か特殊な手法を持っているような気がする。

というのは、xcopyを起動してそのCPU負荷状況をTaskManagerで見ていると、こんなこんなふうにcopyだったらハングアップしてしまいそうな状況から立ち直っていることが読み取れたりするからなのだ。

Xcopyperformance

しかし、xcopyとて万能ではなく、フォルダごとコピーしたはずなのに、そのフォルダの中身が空だったりする。そんなときにcopyでフォルダの中身をコピーしてやると今度はコピーできたりするので、なんだかさっぱりわからない。

そんなこんなで、壊れたHDDのかなりの部分を修復できたよう泣きがしているのだが、xcopyしたすべてのフォルダの中にdownload\andriod-sdkなんでいうフォルダができていたりするのでまったく油断ができない。中身をちゃんと精査するまではまだまだ安心はできないのだ。

|

« ミステリの著者索引で悩む | トップページ | Great Georgeで悩む »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« ミステリの著者索引で悩む | トップページ | Great Georgeで悩む »