So-net無料ブログ作成
検索選択

消えたパーティション [ソフトウェア/PC関係]

仕事で使っているThinkPadの,Dドライブのパーティションが忽然と消えてしまった。Cドライブは何事もなさげで,Windowsはふつうにブートするのだが,Dドライブが見えない。当然そこにあったはずのデータも何も見えない。エクスプローラは,フォーマットされていないとのたまっている。そんなはずはない。これは一体どうしたことだ?

こんな理不尽な現象は初めての経験である。最近何か特別なことをしたかと考えてみると,疑わしきは最近導入させられた「PGP Whole Disk Encryption」とかいうやつ。ディスク丸ごと暗号化なんて,怪しい香りがプンプンしてたんだけどねぇ。まぁでも,真犯人だという確たる証拠を掴んだわけでもないし,今はデータを復元できるのかが最優先事項。とはいえ,どう手を打つべきかも皆目見当が付かない。取り敢えず,現状を保存するために,TrueImageで丸ごとHDDのバックアップを取っておく。これで,何かしくじってデータを壊してしまっても,今の状態までは戻すことができる。

バックアップを待ちながら,少し冷静になって考えてみると,単にパーティション情報が壊れてしまっただけではないか,と思いついた。パーティション復元ツールみたいなやつで,修復できるかもしれない。暗号化されているので,Linux系のツールは使えないが,探してみるとWindows用のフリーのものがいくつか見つかった。まず一番簡単な,間違って削除してしまったパーティションを復活するツール。しかし,そもそもパーティション自体は見えているので意味がないということに気付く。

TestDiskのAnalyseメニューに入ったところ。何かエラーがあるっぽいことを言っている。
Deeper Searchで見つかったものの,Cドライブとオーバーラップしているので,このパーティション情報では書き込めない。

次に試したのは「TestDisk」というツール。GUIではない,コマンド・プロンプトで動作するCUIツールで,取っつきにくそうではあるが,その分,プロ仕様で融通の利きそうなツールみたい。早速起動して,Analyseメニューでパーティション情報を表示してみると,やっぱり何かおかしい。"Quick Search"を実行すると,3番目の隠しパーティションは表示されるが,肝腎のパーティションは見えない。そこで,さらに"Deeper Search"を実行してみると,ようやく見覚えのあるボリューム・ラベルのパーティション情報が見つかった。ファイル情報を表示させてみても,それらしいものが見える。このパーティション情報をディスクに書き込めば一件落着と思いきや,Cドライブのパーティションとオーバーラップしてしまっているようで,Dドライブを活かすと,Cドライブが死んでしまうっぽい。うーむ。でも一条の光は見えてきた感じ。

Image Creationで,パーティションの中身をディスク・イメージとして書き出せる。

ここでTestDiskのAdvancedメニューの中に,「Image Creation]という,パーティションの中身をファイル(ディスク・イメージ)に書き出す機能があることに気付いた。しかも,書き出したファイルに対して,TestDiskを使って処理できるらしい。ということは,元のHDD本体ではなく,ディスク・イメージのDドライブのパーティションを復元し,そのパーティションの中身を,再びディスク・イメージに書き出せばよいのでは? 元のHDDのCドライブはそのままに,Dドライブのデータが取り出せるわけだ。

Advancedメニューには,ディスク丸ごとファイルに書き出す機能はないので,まず(論理パーティションを含む)拡張パーティションだけを書き出してみる。しかし,これにTestDiskを使っても,パーティション情報が何も認識されない。おや? ヘッドの数を実HDDに合わせて240に設定しても変わらない。それでは,ということで,Cドライブの基本パーティションも書き出してみる。ファイル名は"image.dd"固定みたいなので,Dドライブのディスク・イメージを上書きしないように注意。で,copyコマンドに「/b」オプションを指定して,CドライブとDドライブのディスク・イメージを,この順番で連結。

copy /b image-C.dd+image-D.dd wholedisk.dd

しかし,これもまたダメ。これはもしかして,マスター・ブート・レコードを含む,先頭のヘッドのデータがないのが原因? 試しに,63セクタ分=32256バイトの,データがすべて0のダミー・ファイルを,さらに先頭に連結してみる。

copy /b dummy.bin+image-C.dd+image-D.dd wholedisk.dd

今度はうまくいった。"Deeper Search"で,実HDDのときと同じように,Dドライブのパーティションが見つかったので,Cドライブを捨てて,Dドライブだけを復元しパーティション情報を保存。Advancedメニューに行って,今作ったDドライブの中身をディスク・イメージに書き出す。

出来たディスク・イメージは,Linuxならループバックでmountすればいいのだろうけど,面倒なので,Windowsでマウントするツールを再び検索。Virtual Disk Driverというのが見つかった。説明書にしたがってディスク・イメージをオープンすると,ドライブ・レターが割り当てられて,アクセスできるようになった。一応あるべきはずのファイルはあるっぽい。あともう少し。

マウントしたディスク・イメージは,元のマシンのセキュリティ設定が生きていて,このままだとサブディレクトリにアクセスできない。そこで,エクスプローラでドライブのプロパティを開き,セキュリティ設定タブの詳細設定から,所有者をこのマシンの管理者グループに変更する。書き込みを行うので,ディスク・イメージを読み書き可能モードでオープンする必要がある点に注意。必要に応じてCACLSコマンドを使って,各ファイルのアクセス権を自分に設定する。

これで準備OK。あとはエクスプローラなりなんなりで,ファイルを取り出せばよい。コピー中に特にエラーは発生せず,ファイルはひと通り無事な模様。一時はどうなることかと思ったが,ようやくホッと一安心である。

しかしまったく,えらい手間と時間がかかった。原稿〆切直前だというのに,いい迷惑である。ディスク暗号化ソフトのせいかどうかは定かでないが,怪しげなものを今後も使って行かざるを得ない以上,まめにバックアップを取るようにしておかないと危険ですな。


nice!(0)  コメント(1)  トラックバック(0) 

nice! 0

コメント 1

NなAおO

コレのディスクマウント方法は割と使えますね。
1台でサクっとこなせるあたりがマシン占有を軽減してくれてありがたいです。
詳し解説ありがとうございます。
by NなAおO (2010-01-25 04:24) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。