ハードディスクのデータ復旧方法

論理障害を整理する

ハードディスク内のデータの復旧を考える場合に、最も重要なのは、まず原因を突き止めることです。
通り一遍に、このとおりやっておけばいいという方法はありません。

パソコンが正常動作しなくなるには、必ず何らかの原因があります。
製品としては、正常動作するように作られているからです。
必要なのは、引っかかっている原因を取り除くことで、そのためには先に原因を理解しなければなりません。

特に、復旧に際して重要なのは、
「なぜそうなってしまったか」ではなく、「なぜ正常動作しないか」という原因です。
「なぜそうなってしまったか」を考えたい気持ちもわからなくはないんですが、
実は、「なぜ正常動作しないか」を突き止めることなしに、「なぜそうなってしまったか」はわからないのです。

Windowsが起動できるできないは関係ありません。
一見、何の操作もできそうになくても、打つ手はあります。
このサイトではそうした手法を書いてきたつもりですが、
思いつくまま記事を追加していったので、サイトの全体像が非常にわかりにくくなってしまいました。
そこで、ハードディスクのデータを復旧する方法について、原因別にまとめておこうと思います。

見えるデータと見えないデータ

まず、原因を追究するにあたって、ハードディスク内のデータをある程度理解しておく必要があります。
細部まで理解する必要はありません。
データを復旧するために必要な全体像さえ見えていたらいいと思います。

ハードディスク内のデータには、普段見えないものが多くあります。
ユーザーにとっては、細かいことまで意識しなくても使えるので便利ですが、
データの復旧を考える際は、逆に意識しなければなりません

これは、隠しファイルや隠しフォルダ、保護されたオペレーティングシステムファイルのことだけではありません。
データの復旧という目的において重要なのは、むしろもっと低レベルのものです。

すべてを理解しなければならないわけではありませんが、
最低限、自分の復旧する目的において重要な部分については理解しておくべきです。
以下、低次から高次のものへと順に書いていきます。

ブートセクタ

MBRとか、よくわからなくても言葉を聞いたことがある人は多いんじゃないでしょうか。
ブートセクタはハードディスクで真っ先に読み込まれる部分なので、
ここに問題があると、致命的な動作不良を起こします

たとえば、下記のメッセージが出て動作停止する場合。

これらはいずれも、MBRの異常が原因の可能性があります。

この状態ではWindowsを起動することさえできませんが、
「Windows 7」で作成できるようになったシステム修復ディスク」から「スタートアップ修復」を実行すれば、
復旧できるかもしれません。
それぞれの詳細については、リンク先ページにまとめてあります。

Windowsが起動できても、ドライブ丸ごと認識しないのであれば、ブートセクタに原因がある可能性が高いです。
特に、MBRにはパーティションテーブルと呼ばれる領域があり、パーティションの情報が収められています。
パーティションテーブルに問題があれば、パーティションを認識できません。
パーティションに関するトラブルの大半は、パーティションテーブルに原因があると言ってもいいかもしれません。

Windows上では、以下の表示内容によって示されます。

結局、MBRやブートセクタを修正することに長けたTestDiskによって復旧できたりします。

ファイルシステム

ファイルシステムは、NTFSやFAT等、ファイルをファイルとして扱うための仕組みのことです。
だから、ファイルシステムに異常があると、

といった症状となって現れます。
原因はすべて似たようなもので、ファイルシステムの管理情報の破損です。

ファイルシステムを修復する機能は、Windows自体が持っています。
chkdskというプログラムが、それです。
特に、NTFSの修復はWindowsにしかできません
ハードディスクからWindowsを起動できなかろうと、ファイルシステムの修復を行うことはできます。

しかし、ファイルシステムを修復する行為は復旧とは言い難い部分があるので、注意が必要です。
つまり、Windowsを起動できない原因がファイルシステムの破損にあり、それを修復できたとしても、
Windowsが起動できるようになるとは限らないということです。
ファイルシステムの修復は、ファイルとしてのアクセスを可能にするもので、
ファイルを修復するものではないからです。

必要なデータは、事前にバックアップを取っておかなければなりません。

ちなみに、ファイルシステムが「RAW」と表示されるのは、
ファイルシステムの問題というより、ブートセクタに限定した問題であることがほとんどです。

Windows

Windowsに関するトラブルは、以上書いてきた内容がすべて正常な状態になってはじめて修正することができます。
つまり、

  1. ドライブを認識
  2. ファイルを認識
  3. Windowsを起動

という順番です。
当たり前ですが、このことを頭の片隅に入れておく必要があります。

Windowsに関するトラブルは、非常に複雑です。
Windowsは膨大なプログラムの集合体なので、
これらのどこに異常があるのかを突き止め、正常な状態に復旧するというのはほぼ不可能です。
だから逆に、Windowsが起動できなくなった原因に心当たりがある場合は、
その分だけ復旧可能性がある
といえます。

Windowsに重大な問題が発生する原因になりやすいものとしては、

などがありますが、
共通しているのは、Windowsの起動と同時に実行されるプログラムに変更があるということです。
これは、Windowsに関する設定を格納したデータベースであるレジストリを書き換えることによって行われています。
特定のレジストリに新しいプログラムへのパスを記述することで、プログラムを自動実行するよう指定しているのです。
この場合、レジストリを以前の状態に戻せば、Windowsを復旧できます

Windowsは、レジストリを過去の状態に戻す機能を持っています。
いわゆる、システムの復元です。
システム回復オプション」や「セーフモード」から「システムの復元」を実行することで、
レジストリを元の状態に戻すことができます。

しかし、Windowsに大きな問題が発生したときには、ハードディスクからこれらの操作を行えない場合があります。
そこで、インストールされているWindows以外のシステムによって、レジストリを書き換える必要があります。
「Windows XP」ではレジストリファイルを手動で置き換えたりしましたが、
「Windows 7」ではシステム修復ディスク」を使って、「システムの復元」を実行できます

また、ウイルス等によって改変されたレジストリキーがわかっている場合は、
Windows PE」をCDから起動して、特定のレジストリを書き換える方法もあります。

でも一番の方法は、必要なデータをバックアップしてからリカバリすることです。
「Cドライブ」のデータはすべてリセットされてしまいますが、これより確実な手段はありません
長年使ってWindowsの動作が遅く不安定になったパソコンでも、リカバリすれば間違いなく軽快になります。
逆に、リカバリしても復旧しないのであれば、論理障害ではないということです。