2008年9月27日土曜日

吹き飛んだパーティションをTestdiskで修復した

とりあえず一言。

初音ミクの消失 …ってレベルじゃねーぞ!!


…ようやく復旧が全て完了したので、ここまでの行動を纏めてみようと思う。


08.08.23 20:00
サブOSとしてServer2003R2の評価版をインストールしようとする。
しかし、ATI SB600のSATAドライバの設定をミスったからか、パーティションの表示がおかしい事になって…

再起動して、LiveCDからUbuntu8.041を起動し、ディスクにアクセスしようとしたところ、拡張パーティション内の論理パーティションにアクセスできなくなっていた。

構成は、
-------------------------------------------
プライマリ・アクティブ Server2008 50GB
プライマリ Server2003R2インストール用 50GB
拡張パーティション 360GB
・Windows用Tmp 10GB
・Data1 100GB
・Data2 140GB
・仮想マシン用 50GB
・Ubuntu 30GB
・Linux Swap 4GB
-------------------------------------------
こんな感じ。大体なので計算が合わないのは仕方ない。

この中の、
プライマリ Server2003R2インストール用 50GB
・Windows用Tmp (NTFS) 10GB
・Data1 (NTFS) 100GB
・Data2 (NTFS) 140GB
・仮想マシン用 (NTFS) 50GB
・Ubuntu (ext3) 30GB
・Linux Swap (Linuxswap) 4GB
が吹き飛んだ。正直涙目ってレベルじゃねーぞ(特にData1と2)
エンコードして溜め込んだmp3音楽データ80GB、ミクディレクトリ全て、動画や文書の中で、バックアップとっていないここ2か月分…
しかもext3でフォーマットされたパーティションも存在しているという…

人生オワタ\(^o^)/

が、ここで人生終わる訳にはいかないので、復旧を試みる。


08.09.23 21:00
とりあえず、これ以上何も書きこまないようにするために、HDDを外し、別のマシンにUSBで繋ぐ。
XPのディスク管理ツールから覗いて見ると、パーティションがあった筈の領域が、「不明な領域」もしくは「空き領域」と表示され…

いつも使っているAcronis Disk Directorを使って復旧を試みる…が、起動時のディスクの検査にやたら時間がかかり、進んでいるのかすら分からない。

とりあえず放置して、1時間後に見ると、ようやく検査が終わっていたので、早速パーティションの復旧のための自動検査をかけた。

数十分後、結果を見て…

/(^o^)\ナンテコッタイ

見つかったのはServer2003R2のインストールを失敗したパーティションだけ。
正直久々に泣きたくなった。


08.9.23 11:00
解析かけているマシンをほったらかしにして、ノートPCのOperaで必死に"パーティション 復旧" とか、"パーティション リカバリ"と…

そんな時にようやくそれっぽいのを発見。

Testdisk
http://cowscorpion.com/HDD/TestDisk.html(閉鎖した模様)
http://www.cgsecurity.org/wiki/TestDisk
ファイル復元+パーティション復元というなかなか豪華な組み合わせ。
Windows、DOS、Linux、*BSD、Solarisにも対応らしい。
ext2やext3も復旧できるのは(゚д゚)ウマー


ということで、適当にTestdiskの使い方を纏めてみる。

まず空いているUSBメモリなどで練習してから実行したほうが良いかと思う。


画像は全てブログ用に、正常なHDDを解析してキャプチャし直したものなので、ちょっと手抜きなところもある。
=======================================================================================

1.とりあえず管理者で起動。検査のLogを作るかどうか聞かれるのでCreateを選択。

makelog?


---------------------------------------------------------------------------------------------------------

2.どのディスクを検査するかを選択。今回はWD5000AAKSを選択してProceed。

select media


---------------------------------------------------------------------------------------------------------

3.パーティションテーブルのタイプを選択。
マカーではないしSolarisなんて大学でしか使っていないのでIntelを選択。
AMD64ユーザーでもIntelを選択。

XBOXパーティションの項目が存在しているのは一体…




---------------------------------------------------------------------------------------------------------

4.何をするか選択。とりあえず解析するのでAnalyseを選択。
詳しくないのなら他の項目は触らないのが吉。




---------------------------------------------------------------------------------------------------------

5.現在のパーティション構造が表示される。

*はアクティブパーティション(起動時に一番最初に読み込まれるパーティション)
Pはプライマリパーティション
Eは拡張パーティション
Lは論理パーティション

とりあえずQuick Serchをしてみる。
(7でDeeperSerchをするつもりならStopしてもおk)

current partition structure


---------------------------------------------------------------------------------------------------------

6.その結果。

今回は何も変更せずにEnter。
(この時点でパーティションが見えていて、その内容の正しさに確信があれば修復してもおkだが、私の場合は見えなかったので…)

quickserch


---------------------------------------------------------------------------------------------------------

7.最初のメニューに戻るか、詳細検索をするか、6.で変更した項目を書き込むかを選択する。

今回は、QuickSerchではパーティションを発見できなかったので、Deeper Serchを選択。

Deeper_serch_menu


---------------------------------------------------------------------------------------------------------

8.Deeper Serch中。WD5000AAKSをSATA接続で検査した場合、1時間ぐらいかかった。




---------------------------------------------------------------------------------------------------------

9.Deeper Serchの結果。
(画像では、面倒なので途中で止めたため、2つしか表示されていない)

左から、
パーティションの種類、パーティションのフォーマットの種類、パーティションの開始位置、パーティションの終了位置、パーティションのサイズ、パーティションのラベル、
となっている。

・キー上下でパーティションを選択
左右でパーティションの種類の選択(*:アクティブパーティション、P:プライマリパーティション、E:拡張パーティション、L:論理パーティション D:削除する(された)パーティション)

・Aでパーティションのステータスを変更(元のステータスが分からない場合は絶対に弄らないように)

・Lでバックアップの読み込み

・Tでパーティションのフォーマットの種類の変更(どのフォーマットとして読み込むか。NTFSパーティションをFAT32として認識してしまう、などを解決)

・Pでパーティションの中のファイルを表示。ファイルを選択しcでバックアップも可能だが、日本語ファイル名が化けるのがツラい。ディレクトリ操作は左右で。qでパーティション一覧へ戻る。
バックアップをとる時に、復旧作業中のディスクに書き込まないように注意。

必要な設定が済んだらEnter。
整合性が取れていないとエラーになる。

DeepserchList


今回はパーティションが消えただけなので、左右でパーティションの種類を変更するだけで大丈夫だった。
パーティションの開始/終了位置に矛盾が無いか、や、Pでパーティションの中身の確認をしながら作業すれば、間違えることは無い筈。


---------------------------------------------------------------------------------------------------------

10.最終的にどのような構成になるか表示される。
選択結果に自信があれば、思い切ってWrite。

Write

=======================================================================================


08.09.24 05:00
そして、再起動。

復活キタ━ヽ(ヽ(゚ヽ(゚∀ヽ(゚∀゚ヽ(゚∀゚)ノ゚∀゚)ノ∀゚)ノ゚)ノ)ノ━!!!!

しっかりとext3パーティションも復活。
速攻で別HDDにバックアップを取って、全てのパーティションを再構築した。


再度言うが、とりあえず空いているUSBメモリなどで練習してから実行したほうが良いかと思う。

この事件から、ミクディレクトリのバックアップがHDD1+HDD2+DVD-RWの3重になったのは言うまでもな(ry




※08.12.18 修正
タイトルが「吹き飛んだパーティションをTestDriveで修復した」になっていたのを修正。
TestDriveじゃ某レーシングゲーム…だよな…

2 件のコメント:

inshin さんのコメント...

このブログの内容を参考にして、同じ方法で仮想マシン内のWindowsのパーティションを修復できました。
助かりました!ありがとうございます。

Takuya さんのコメント...

起動ディスクの別パーティション(データ領域)が「未フォーマット」状態になって困っていたところ、本投稿を参照にして、復旧に成功しました。
本当に助かりました!ありがとうございます。