「システムの復元」を使うときは、たいてい何かソフトウェア的な問題があり、
とりあえず元の状態に戻してみたい、ということが多いと思います。
ところが、頼みの綱の「システムの復元」ができない場合があります。

「システムの復元」を使う必要に迫られた状況というのは、
Windowsそのものが不安定な可能性も十分に考えられますから、
「システムの復元」は、いつでも使用可能だとは思わないほうがいいです。

というのも、「システムの復元」自体がWindowsの機能の一部だからです。
Windowsが不安定だと、
不安定な「システムの復元」を使って、不安定なWindowsを復旧することになります。
当然、作業に伴うリスクは高くなります。
「システムの復元」自体が動作できなくても、何ら不思議ではありません。

とはいえ、そのような状況からでも、まったく方法がないわけではありませんので、
個人的に思うところをまとめていきます。

「システムの復元」ができない原因

「システムの復元」ができない理由としては、たくさんの要因があるとは思いますが、
代表的なものをいくつか挙げておきます。

システムパーティション(ほとんどの場合、「Cドライブ」)の空き容量が不足している

最もありがち
「システムの復元」ができないと、「システムの復元」の機能を疑ってしまいがちですが、
単純に復元先の容量が足りないから、ファイルを展開できないというだけ

「システムの復元」実行の操作までは何の問題もなく行えるのに、
復元途中で失敗して、巻き戻しみたいに元の状態に戻ってしまう場合は、
空き容量が不足している可能性が高いです。

この場合、適当に空き容量を確保してやれば、
何事もなかったかのように「システムの復元」ができるようになります。
以下、空き容量を確保するための参考ページです。

「Cドライブ」空き容量不足の解消

有効な「復元ポイント」がない

「復元ポイント」選択の画面で、
カレンダーの日付に選択可能な太字のものがない
ということです。
あったとしても、それが復元したい日時より新しくて、復元する意味がなかったり。

「システムの復元」は、
あくまでもバックアップしてあるファイル郡を復元することで、その機能を果たしています。
バックアップファイルが存在しなければ、「システムの復元」を実行することはできません。
「復元ポイント」がないということは、バックアップファイルが存在しないということです。

「復元ポイント」が作成されるのは、

などですが、実際に有効な「復元ポイント」は、
ソフトウェアをインストール、アンインストールしたときである場合がほとんど
です。

こうして作成された「復元ポイント」の裏にあるバックアップファイルは、
実はかなり大きなサイズになっています。
このため、バックアップファイルが一定量を超えると、
日付の古いファイルから順に削除するようになっています

特に、「システムの復元」用のデータ領域を減らしてたりすると、
古い「復元ポイント」はサクサク削除されていきます。

このほかにも、「システムの復元」の設定やサービス自体が無効化されてたりすると、
当然のことながら「システムの復元」を使うことはできません。
ただし、そのようなケースは自分で設定変更しているはずなので、わかるはずです。

「Cドライブ」の空き容量が足りなくなってくると、
「システムの復元」の機能自体を無効にする人もいますが、
個人的には、そのような考え方には賛同できません

Windows XP以降の「システムの復元」は、かなり強力なシステム回復ツールです。
乱用するのは問題ですが、
内容さえ理解していれば、「システムの復元」が非常に有効な機能であることには間違いなく、
空き容量と引き換えに無効にすべきようなものではないと思います。

「システムの復元」ができない場合の対処法

前述のように、「復元ポイント」がない場合はどうしようもありませんが、
「復元ポイント」はあるけど「システムの復元」ができない場合には、
まだいくつかの対処法が残されています。

セーフモードから「システムの復元」を実行する

Windowsの動作が不安定で「システムの復元」を実行できない場合でも、
セーフモードからなら「システムの復元」を実行できる場合があります。

セーフモードから「システムの復元」を実行した場合、
「システムの復元」の復元(つまり、やりなおし)はできなくなりますが、
その点にだけ注意しておけば問題ないでしょう。

強制的にレジストリを置き換える

最後の手段です。
「システムの復元」で使っているレジストリバックアップファイルを参照し、
これを現在使用中のレジストリと置き換えます。

もちろん、レジストリのファイル群はWindowsのシステムファイルなので、
Windows上からこれらを操作することはできません。
ここでは、「KNOPPIX」を使ってレジストリファイルを置き換える方法を紹介します。

レジストリの復旧

「KNOPPIX」はGUIを持っているので、
比較的簡単にレジストリを置き換えることも可能だと思います。

ただし、上記方法は「システムの復元」と同じことをしているわけではありません
復元対象はレジストリのみで、プログラムファイル等には一切手を加えていません。

逆に言うと、プログラムファイルを展開、復元しないので、
空き容量が不足していて「システムの復元」ができない場合でも、
「KNOPPIX」でレジストリファイルのみを復元することはできると思います。