ブートセクタを修正することで、パーティションを復元できるフリーソフト、それが「TestDisk」です。
突然認識できなくなったパーティションも、「TestDisk」によって復旧できる可能性があります。

TestDisk - 実行中

これは、「TestDisk」実行中の画像です。
「TestDisk」は、このようにハードディスク内に残っているパーティションの痕跡をたどって、
パーティションテーブルを書き換えることができます。

やってることはちょっと難しいかもしれませんが、「TestDisk」の操作自体は簡単です。
セクタエディタを使う方法に比べれば、危険性も低いと思います。

「TestDisk」は、MBR(マスターブートレコード)を書き換えます。
つまり、MBRのトラブルで起動できなくなったパソコンも、「TestDisk」によって復旧することが可能です。
でもこれは逆に言うと、「TestDisk」の操作を間違えた場合は、Windowsが起動できなくなる可能性もある
ということを認識しておいてください。

また、「TestDisk」はデータを復元するソフトではありません
データを正しく書き換えるためのソフトです
※バージョン6.10以降で「Undelete」機能が追加され、一部ファイルの復元もできるようになりました。
ハードディスク内に必要なデータがある場合は、最優先してデータのバックアップを行ってください

「TestDisk」を使用する状況は、非常に多岐にわたります。
すべてのケースを網羅することは不可能です。
ここでは、あくまでも、最も多いであろうケースを代表して書いています。
具体的には、パーティションテーブルの破損が原因で、パーティションを認識できなくなった場合についてです。
パーティションを誤って削除した場合も、これに含まれます。

従って、「TestDisk」は、ここに書いてある通りに操作すればいいというものではありません
実際に目の前で起こっていることと照らし合わせて考え、実行する必要があります。
このページは、そのためのヒントとすべきものです。

「TestDisk」の起動

「TestDisk」の入手先は以下のとおりです。

トップページ CGSecurity
ダウンロードページ TestDisk Download

DOS版、Windows版、Linux版等いろいろありますが、お使いのOSに合ったものをお選びください。

ただし、パーティションテーブルに問題があるということは、
Windows自体が起動できない状況も、十分あり得るかと思います。
そんな時は、CDやフロッピーから適当なDOSなりLinuxなりを起動して、
DOS版、Linux版の「TestDisk」を立ち上げたりする必要があるんですが、
面倒なので、Ultimate Boot CDを使った方法が楽です。
具体的な操作方法については、下記ページにまとめてあります。

「TestDisk」を「UBCD」から起動する

また、WindowsのライブCDである「Windows PE」を使うという手もあります。
WinPe-tch Directで作成した「Windows PE」起動ディスクには「TestDisk」が同梱されていて、
ランチャーから簡単に「TestDisk」を起動することができます。
CDから起動しているものの、こちらは基本的にWindowsなので、直感的に操作しやすいかもしれません。

以下、Windows版の「TestDisk」をベースに説明していきます。
他のプラットフォームでも、「TestDisk」を起動してしまえば、あとは一緒ですけどね。

ダウンロードした「TestDisk」のファイルはZIPで圧縮されているので、
各種解凍ソフトを使って解凍してください。
「testdisk-○○」(○○はバージョン番号)というフォルダができ、その中にファイルが展開されます。
Windows版であれば、「testdisk_win.exe」という「TestDisk」の実行ファイルがあるはずです。

ここからは説明のために、ちょっと古いパソコンを使います。
OSは「Windows 2000」、かつて「Windows Me」がインストールされていました。
パーティションをいろいろ区切った経歴があります。

ディスクの管理 - TestDisk開始前

テスト用パソコンのハードディスクは、「ディスクの管理」にて上の画像の状態としました。

「Dドライブ」は、パーティション作っただけ、未フォーマット。
「Eドライブ」は、パーティション作ってからNTFSフォーマット
最後の拡張パーティションは、「True Image」というソフト用のリカバリ領域です。

ディスクの管理 - みな消してみた

とりあえず、「Cドライブ」以外みんな削除してみた

それでは、実際に「TestDisk」を実行していきます。
ここではWindows版なので、「testdisk_win」を実行します。

TestDisk - ログを残すか

「TestDisk」は英語のソフトですが、気にしないでください。
キーボードのみの操作ですが、気にしないでください。
「TestDisk」の優秀な機能にはかえられません。

まず始めに、「TestDisk」の動作履歴をファイルとして残すか聞いてきます。
どれでも好きなものを選択してください。
私は、いつも「No Log」を選択しています。
「Enter」キーで、次へ進めます。

TestDisk - ハードディスク選択

「TestDisk」による修復対象のハードディスクを上下カーソルキーで選び
「Proceed」を選択します。
「次へ」ということです。
「Quit」=「戻る」です。
これらの表記は「TestDisk」使用中、以後何度も出てきますが、同じことです。

TestDisk - パーティションテーブル種別の選択

パーティションテーブル種別を選択します。
ここではWindowsを対象としているので、「Intel」を選択します。

ただし、2TBを超えるハードディスクや、
「Windows 8」のシステムディスク等でGUIDパーティションテーブルGPTを使っている場合は、
「EFI GPT」を選択してください。

「TestDisk」のメインメニュー画面です。
「TestDisk」のすべてを説明するには、あまりに多機能かつ難解なので、
ここでは最低限必要な部分だけを説明します。

Analyse パーティションの情報を分析する。主に使用。
Advanced 各パーティションのブートセクタPBRやMFTの修復を行う。
Geometry CHSの各値、ならびにセクタサイズを変更する。
Options 「TestDisk」自体の動作オプション。
MBR Code 「TestDisk」によってMBRコード(ブートストラップローダ)を書き直す。
Delete パーティションテーブルを「0」で埋めて消去する。
Quit 戻る。

基本的に意味がわからなければ、「Analyse」以外の部分をむやみやたらと操作しないでください。
冒頭でも書いたとおり、「TestDisk」の操作はちゃんと意味を理解していないと、
新たなトラブルを発生させてしまう恐れがあります。

「TestDisk」は、ハードディスク内のデータの土台となる部分をサクサク書き換えるので、
本来はもっとハードディスクの構造や、起動のしくみについて理解したうえでの使用が理想的です。
そのあたりについて詳しく知りたい方は、ぜひ下記サイトを参考にしてください。

TestDisk非公式ヘルプ

大変詳しくご説明されており、勉強になります。

ここではタイトルどおり、「TestDisk」の使い方を中心に説明していきます。
「Analyse」を選択します。

Quick Search

TestDisk - Quick Search

メインメニューで「Analyse」を選択すると、
「TestDisk」が動作する前の、現在のパーティションの情報が表示されます。
ここでまず、「Quick Search」を選択します。

ちなみに、「Backup」を選択すると、
「TestDisk」の実行ファイルと同じ場所に「backup.log」ファイルを作成し、
現在の情報を保存してから進行します。

TestDisk - Vistaか?

Vista以降で作られたパーティションかどうか聞いてきます。
「Y」か「N」キーで返事してください。

TestDisk - Quick Searchの結果

スキャンが終わると、「Quick Search」で調べた結果のパーティションが表示されます。
先ほどの画面とは似て非なるものです。
注意して見てください。

データの整合性がとれていれば、各パーティションは緑表示されます。
パーティションの左に記載されている記号の意味は以下の通り。

* アクティブなプライマリパーティション。※つまり、システムパーティション。
P プライマリパーティション。
L 論理ドライブ。
E 拡張パーティション。
D 削除予定のパーティション。

ここで、任意のパーティションを選択し、左右カーソルキーを押すと、
パーティション種別を変更できます。
ただし、つじつまの合わない設定はできないようになっています
ここが、「TestDisk」が簡単かつ安全だと思う一番の理由です。

必要なパーティションが見つかった場合は、適宜変更してください。
消してすぐのパーティションだったら、「Quick Search」でたいていあっさり見つかります。
そして、勝手に追加されてます。

なお、そもそもパーティションの意味がわからないという場合は、
下記ページを参考にしてみてください。

「プライマリパーティション」と「拡張パーティション」の違い

TestDisk - ファイル一覧表示

有効なパーティションかどうかを判断するひとつの方法として、
任意のパーティションを選んで「P」キーを押すと、ファイル一覧が表示されます。

上の画面はフォーマットしただけのパーティションなので、「ごみ箱」すらないんですが・・・
でも、何もないということがわかります。

ぜひご確認を。
ちなみにファイル一覧の画面は、「Q」キー退出します。

TestDisk - ファイルシステム損傷

逆に、ファイルが表示できない場合は、
無効なパーティションである可能性が高いと考えていいでしょう。

TestDisk - Quick Searchの結果

以上の操作を通じて、自分の希望通りにパーティションを設定したら、
「Enter」キーを押して先へ進めてください。

どれが必要なパーティションなのかよくわからないという人は、
ヒントとなるような事柄を下記ページにまとめてみましたので、参考にしてください。

「TestDisk」での復元パーティションの選び方

Deeper Search

TestDisk - Deeper Search

この状態で、まだ必要なパーティションが表示されない場合は、
引き続き「Deeper Search」を選択します。
ちょっと時間はかかりますが、ハードディスク全体に渡ってパーティションの痕跡を探してくれます。

すでに画面表示されたパーティションの構成で問題なければ、Writeの項目まで進んでください。

なお、「Deeper Search」実行中に必要なパーティションが見つかった場合は、
途中で「Stop」を選択してスキャンを止めても構いません

特に、パーティションが1つしかなかった場合、必要な情報はディスクの先頭部分に集中しているはずです。
大容量のハードディスクで「Deeper Search」を実行すると、
無駄に長い時間がかかってしまうだけになるかもしれませんので。

TestDisk - Deeper Searchの結果

「Deeper Search」の結果です。
パーティションの候補が増えています。

選択肢が多すぎるので、各パーティションは一旦削除扱いとされています。
実際に削除されているわけではありませんので、ご安心を。
画面の見方や操作方法は、「Quick Search」のときと同じです。

左右のカーソルキーで、パーティション種別を希望通りに変更してください。
また、「P」キーを押してファイル一覧が表示可能か確認してみましょう。

特に、いろいろパーティションを区切った経歴のあるハードディスクでは、
「Deeper Search」で多くのパーティション候補が検出されるので、
いろんな手がかりをもとに、パーティションを選んでいく必要があります。
そのへんについては、くどいようですが、復元パーティションの選び方のページにまとめてあります。

逆に、購入時からパーティションの変更を行っていないのであれば、
上の画面のように無駄に多数行出てくるようなことはないので、比較的判断しやすいと思います。

TestDisk - Structure: Bad.

わざと、つじつまが合わない設定をしてみました。
「Structure: Bad.」と怒られます。
候補が多い時には、何気にありがたい機能です。

TestDisk - パーティション設定終了

復元するパーティションを選び終わったら、「Enter」キーを押してください。

Write

TestDisk - 確認画面

「TestDisk」が設定するパーティションの一覧が表示されます。
ここで、十分に確認しておいてください。
「Write」を選択すると、
現在画面に表示されているパーティションの情報を、パーティションテーブルに書き込みます。

TestDisk - 最終確認

最終確認です。
「Y」キーを押すと、いよいよ実際にパーティションテーブルに書き込みます。

そうです、実はここまで、
「TestDisk」はハードディスクに対して、一切変更を加えていない状態なんです。
「あ、ヤバいかも。」と思ったら、いつでも途中でやめてください。

また、ここで違った画面が表示される場合があります。
それは、PBRが破損していて、そのままではパーティションを復元できないことを意味します。
でも、「TestDisk」ではPBRを修復することも可能だったりします。
詳細は下記ページにて。

「TestDisk」によるPBRの修復

TestDisk - 再起動してください

再起動をうながすメッセージが出てきて、完了です。
「TestDisk」を終了し、再起動して動作確認してみましょう。

ディスクの管理 - TestDisk終了後

再起動後、「ディスクの管理」を開いてみました。
「TestDisk」によって、使えていたパーティションはすべて復旧しました
リカバリ領域から起動する「True Image」も、正常動作しました。

ただし、ひとつだけ「TestDisk」で見つからないパーティションがありました。
なぜ、見つからなかったのでしょうか?

それは、このパーティションがまだフォーマットされていなかったので、
このパーティションに関するPBRが一度も作られていないんですね。
「TestDisk」が必死にブートセクタの残骸を探しても、ないものは見つけようがありません。

「未フォーマット」=「使ってない」ということなので、実はどうでもいいんです。
作り直したらいいだけの話ですので。

復旧できない場合

ここまでの操作で、「TestDisk」ではパーティションが確認できているものの、
「Write」としても、Windowsからは当該パーティションにアクセスできない場合
があります。
このようなときは、PBRを確認してみることを強くおすすめします
つまり、下記ページを参考にしてみてください。

「TestDisk」によるPBRの修復

「TestDisk」がエラーなく終了したとしても、それが正しいデータ構造になっているとは限りません。
特に、「TestDisk」は動作のあやしい記憶装置に対して使われることが多いソフトなので、
「TestDisk」自体が記憶装置を誤認識してしまうこともあります。
最終的には、ユーザー本人が状況を見極め、判断する必要があるのです。

一方、「Read error」が表示され、セクタの読み取りができないためにパーティションを検出できない場合は、
「TestDisk」を使ってどうこう、という問題ではありません。
セクタが読み取れないってことで、物理障害の範疇です。

不良セクタの修復を試みるツールもありますが、データの復旧という面ではかなり厳しくなります。
正常動作するハードディスクにセクタ単位でデータをコピーした後、復旧可能性を探るべきです。
データの重要度が高い場合は、データ復旧業者に依頼したほうがいいかもしれません。