testdiskすばらしい!復活への道(4)

前々回RAID 0システム起動しません!!復旧への道(2) - まがらちゃんのまあ息災といったところ
Intel ICH9R上のRAID0 Array再構築に成功した(と思われる)。
しかし、いまだパーティションが無事なのかは不明だ。

RAIDドライバを読み込んでなんかしらのOSで起動し、
見えないRAID Arrayがどうなっているか確認できないことには
方針が決まらない。

ちなみに、PupyやSystemrescueCD、Ultimate Boot CD、
Paragon Backup & Recoveryなどで起動してみたけど
やっぱりディスクが3台見えるだけでArrayは見えなかった。
ICH9Rのドライバ組み込んでないからねぇ。

一番手っ取り早いのが、FDドライブを買いに行くことなんだけど、
もうFDは使わずになんとかすることにした。

XPセットアップディスクにRAIDドライバを追加する

と言っても手書きじゃないけどね。

ググってたら
「F6回避ツール」
http://www.mercury.sannet.ne.jp/moonsault/f6tool/index.html

というのを見つけたので使わせてもらうことにした。

XPのセットアップディスクのドライバ類が入っているCABを展開して、
追加ドライバを入れられるというもの。サービスパックなども追加できる。
再圧縮かけると時間がかかるらしいがそのままでも行けそうなので
DVD-Rに焼いてみたが600MBちょいだったからCD-Rでも良かったかも。
USBにいれて起動してみたけど、boot.iniが致命的なエラーとかで
起動しなかった。また今度やってみよう。

この「XPセットアップディスク with ICH9Rドライバ」CDで起動。
回復コンソールを開いてMAPコマンドを実行するも、WD20EARS が
C:になっていてArrayは見当たらない。
んー、パーティションテーブルが壊れたのは確定か??

図らずもWindows 7導入へ

とりあえず、用事があったので秋葉原に行ったついでに
SSDWindows 7を買ってきてみた。


余計なものが見えるようだがキノセイダ
A・Bとかイランのだが、なんかくれたんで。

SSDを繋いでWindows 7をインストールしようとすると
おーーーー!?
なんか

未割り当て領域 596.2GB

Arrayが見えた!
一筋の希望の光がっ

ここは、testdiskでパーティション情報を拾い出したいところだが、
いかんせんLinux系で起動してもArray見えなかったしなぁ・・・

testdiskについてあれこれ調べていると「Windows版」という言葉が!
えっ、Windows版あったのか。

ということで、Windows 7をインストールして、Windows版のtestdiskを実行することにした。
セットアップの最初の画面が出るまでに4,5分かかるんだけどこう言うものなの?
なんかナイト2000的なピロピロでも動かしておいてくれればいいのに、
ハングアップしたと思うじゃないか・・・。

くどいですが・・・

ここから先の記述には、
データが全て飛ぶかもしれない情報が含まれています。

testdiskは操作を誤ると、簡単にディスクの管理情報を失います。
以下に書いてある方法を理解せずにそのままあなたの環境で実行した場合、
修復するのはさらに困難な状況となるかもしれません。
Windowsの起動プロセスがどうなっているのか、ディスクのパーティション情報は
どこに書かれているのか、取得できたパーティション情報は正しいものか等、
以下のサイトで学習した上であなたの環境を照らし合わせて実行したほうがよいでしょう。

書いてある通りに実行したけどうまくいかなくても、私は何の責任も取りません。
at your own risk

今回復旧させる上で、以下の情報を参考とさせて頂きました。

【TestDisk】で失われたパーティションリカバリする
http://uiuicy.cs.land.to/testdisk1.html

また、Windowsの起動プロセスやGeometry等について勉強させて頂きました。

Windows XP/2000の起動トラブル
http://uiuicy.cs.land.to/bootdisk5.html

TestDisk 非公式ヘルプ
http://uiuicy.cs.land.to/testdisk/tdisk01.html

Geometryメニュー
http://uiuicy.cs.land.to/testdisk/tdisk04.html

testdiskを使ってパーティションを復活させたい場合、最低でも上記4つのページを読んで
やるべきことを理解してから実行したほうがいいです。

testdisk実行、そして伝説へ(なにが?)

testdiskを起動するとログの出力について聞いてくる。

まあ、ここはCreateで問題ないな。

次の画面で、お!おーーーーIntel Raid 0 Volume!

これを選択して(というか先頭なんですでに選択済だが)Enter。

EFIじゃなくて普通にMBRな構成なので、[Intel]を選択。

そしてAnalyse。

[Analyse]/[Advaced]/[Quit] 以外は、上記testdiskについての参考ページには
「知識のない人が安易に行うときわめて危険です」と書かれている。
もうすこし大きくなってからいろいろ試してみます・・・。

ん??なんだこれ?

繋がっているのはRAID0のArrayとはいえ、普通のHDD扱いのはず。
なのでStartのC/H/Sはそれぞれ0/0/1となるはずなのだが、0/32/33・・・
そして、総セクタサイズが204800とかちっこい。

まあ、Quick Searchで先にいってみよう。

Should TestDisk Search for partition created under Vista ? [Y/N]

と聞かれるのでN。
(通常パーティションの区切りはシリンダの変わり目になるというルールがあるのだが、
Vistaはこのルールがあてはまらないそうだ)


見えましたね〜
上が約60GB、下が約560GB。ちゃんと2つパーティションが見える。
これはいけるかもしれない。

Enterで先に進める。

Deeper Searchを実行。

検出できたパーティションテーブルが次々に表示される。
また、謎のパーティションテーブルが出て来ましたね。
約600GBで1時間40分ほどかかりました。

結果表示。
パーティションテーブルはバックアップセクタのものがあるので、重複するものはまとめられる。

ちなみに、この環境はインストール時にシステム用とデータ用を作成しただけなので少ないです。
解放して作り直した場合なども残骸として残っているので、パーティションを何度も作り直して
いたりするともっと沢山でるでしょう。

Pを押してリスト表示してみる。

C:のrootディレクトリが見えました。
ちなみに、ファイルリストが見えたからといって確実に本物とは言えないらしい。
しかし、見えない場合は偽者か復旧不可能なまでに破損しているとのことなので、
とりあえずは見えたってことが大事ですな。qでさっきの結果画面まで戻ります。

先程の結果を見てみると、1つ目と2つ目のパーティションには'D'が付いていて、
3つ目にアクティブな基本領域である'*'がついている。

システムが入っているアクティブな基本領域は60GBのほうなので、右カーソルで'*'に変更する。

もちろん同一HDD内にアクティブな基本領域は1つしか持てないので、
赤い文字で「Structure: Bad.」と表示される。

なので、3つ目のデータ用パーティションを変更しようとカーソルの下を押すと自動的に3つ目が'P'に。

データ用のパーティションのほうは、Startが7649/1/1になっているが、真ん中の数字はHead 1。
基本領域や拡張領域はHead 0から始まる(MBRがある1シリンダ目は例外)ので、7649/0/1となる。
ということで、このパーティションは論理領域。ここは'P'ではなく'L'であるはずだ。

ということで、カーソルの右をおして'L'にする。

2つ目のはパーティションテーブルをぶっ壊した元凶のようなので、これは'D'のまま除外することにした。

うん。アクティブな基本領域と、拡張領域およびその下の論理領域の構成になっている。

Writeで書き込みを実行。

確認画面が出るので、Yを押す。ドキドキ

さて、再起動してちゃんと起動するか!?


ちゃんと、XPが起動できました。
まあ、chkdskがかかってちょっとだけ消えたファイルがあったけど問題ないレベル。
ひさびさの達成感!

いままで、PromiseのFasttrak66やGA-7DXRのオンボード、GA-965P-DS4のICH8R、
本機のICH9RなどでRAID0を使って来ましたが、大体Arrayが見えなくなるとやり直ししてた。
今回は、今まであやふやのまま放置してきた、Windowsの起動プロセスやCHSを学習しつつ
データまで手元に戻ったので得るものが多かった。

でもまあ、他にも問題が生じたのでそれについては次回。