Windows XP レジストリの手動復元 

復元ポイントは以外に使える

Windows Meから実装されたシステムの復元ですが、性能はイマイチです。復元ポイントは作成されているのにシステムの復元を実行すると「コンビータは次の時点まで復元できません」となったり、復元が完了したとしてもしばらく使っていると挙動がおかしく結局リカバリーする破目になったりと良い思いではありません。

まぁそんなシステムの復元でもソフトのインストールに失敗した時や、とりあえず起動してくれればバックアップが取れるといった時には頼ってしまうわけですが(笑)

で、なにが使えるのかといいますと、システムの復元で作成される復元ポイントです。復元ポイントはSystem Volume Informationの中に作成されます。そのファイルを使用してシステムの復元を行うわけですが、そのファイルの中のレジストリ関連のファイルを手動で移し変えることにより、レジストリの復元を行うことが可能です。
Windowsが動作する上でレジストリは重要な役割を担っているので、レジストリの復元をすることで復旧できる可能性があります。
今回はそのレジストリの復元方法を紹介します。

起動しない原因を特定する

まずはレジストリの復元をして復旧できるのかどうかを判別しなくてはいけません。
Windowsが起動しなくなる原因としては「パソコンパーツの何れかが壊れる」「ハードディスクの不良でアクセスできない」「Windowsを起動するためのファイルが壊れた」「レジストリが壊れた(書き換えられた)為のトラブル」などが考えられます。

「パソコンパーツの何れかが壊れる」の場合は電源も入らなくなってしまうでしょうが壊れたパーツを特定・交換できれば以前と変らず使用できるようになるでしょう。

「ハードディスクの不良でアクセスできない」場合は立ち上がるが動きが遅いとか、起動途中でフリーズするとか、ハードディスクから異音がするなどの症状がでます。しかし、アクセスできなくなる前に何かしら初期症状が出る場合が多いので、おなしいなと思ったらすぐにバックアップを取るように心がけましょう。ハードディスク自体が不良品になってしまうと業者に頼むレベルでしかファイルの復旧は難しくなります。

スポンサードリンク

 

「Windowsを起動するためのファイルが壊れた」「レジストリが壊れた(書き換えられた)為のトラブル」この場合はsystem32の中のファイルを削除してしまったとか、レジストリの編集を間違った(削除してしまった)など間違った作業をしてしまったり、Windowsアップデートに失敗したり、シャットダウンが正常に行われなかったり、ウィルスに感染した場合にも起こりえます。
通常起動できない場合でも、セーフモードで起動できればシステムの復元を実行することは可能なので試してみる価値はあるでしょう。システムの復元で正常に動作するようになれば問題ありませんが、復元が失敗してしまう場合や、セーフモードでも立ち上げることが出来ないほど重傷の場合もあります。そういった場合でも、レジストリが正常でない事が原因ならレジストリを復元すれば正常に起動できるはずです。

レジストリの復元をすれば重要なdllファイルが破損したというようなエラーメッセージが出た場合でも復旧できることがあるのでWindowsのシステム的な問題の場合はレジストリの復元をしてみる価値はありそうです。
それほどWindowsではレジストリは重要な役割をしているということですね!詳しいことは私の知識ではわかりません( ゚∀゚);',*;ガハ!!

復元する為に必要なファイルの場所

良く知られるレジストリのバックアップというと、レジストリエディタを立ち上げてエクスポートする方法があります。しかし、Windowsが立ち上がらないのにエクスポートも何もないですよね(笑)
今回作業しようとしているレジストリの復元では、システムの復元で作成された(作成した)復元ポイントのデータの中にあるレジストリ関連のファイルを使用します。

復元ポイントで作成されるファイル

C:\System Volume Information\_restore{5F8238C6-3A9D-4C23-A270-FE90BE5424F7}({}の中の英数字はパソコンによって変化します)\RPXX\snapshotの中にある

_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_USER_.DEFAULT

この5つのファイルがレジストリのバックアップファイルとなります。

_restoreフォルダの{}の中の英数字はパソコンによって異なります。RPXXのXXは数字です、そしてRPXXフォルダが復元ポイントの数だけ作成されているので、フォルダの作成日を頼りに何時の復元ポイントを利用するか決めてください。

Windowsが使用しているレジストリ関連のファイルのある場所

C:\WINDOWS\system32\configの中にある

SAM
SECURITY
software
system
default

の5つのファイルがWindowsが必要とするファイルになります。

そうなんです。snapshotの中にある5つのファイルをリネームしてsystem32のconfigフォルダの中へ放り込むだけなのです(・∀・)

復元作業

ハードディスクを取り出す方法

ハードディスクを取り出しUSB接続ケースなどで別パソコンへ接続して操作する方法が一番単純というか分かりやすいかもしれませんね。しかし、この作業を行うにはprofessionalエディション以上のWindowsへ接続する必要があります。(Homeエディションの場合はセーフモードであればセキュリティタブが表示されますが、USB接続デバイスは使用できないことが多いので、作業する場合は内臓接続しなくてはいけません。)
まず、System Volume Informationは保護された隠しファイルなので、フォルダオプションから「保護されたオペレーティングシステムファイルを表示しない」のチェックを外します。
次にSystem Volume Informationへのアクセス権がありませんので、Administratorを追加します。プロパティのセキュリティタブから[グループ名またはユーザー名]の下にある追加ボタンをクリックしてください。
ユーザー又はグループの選択画面が表示されますので詳細設定をクリックします。今すく検索をクリックしてAdministratorsを選択し、OKボタンをクリックして戻ればアクセスできるようになります。

接続した作業するハードディスクと使用しているパソコンのハードディスクを間違えないように注意してください。

WINDOWS\system32\configの中にある5つのファイルは必要ありませんが、念の為に削除せずに名前の変更をしておく方がいいでしょう。

SAM→SAM.bak
SECURITY→SECURITY.bak
software→software.bak
system→system.bak
default→default.bak
(大文字小文字は関係ないはずですが、お使いのパソコンと同じようにしてください。)

スポンサードリンク

 

準備ができたら、System Volume Information\_restore{5F8238C6-3A9D-4C23-A270-FE90BE5424F7}\RPXX\snapshotの中にある

_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_USER_.DEFAULT

をWINDOWS\system32\configへコピーします。
次に「_REGISTRY_MACHINE_」と「_REGISTRY_USER_.」の部分を取り除いて

SAM
SECURITY
software
system
default

としてください。

元のパソコンへ接続して起動できれば復旧完了です。

KNOPPIXでレジストリ復元方法

CDで起動できるLinuxOSのKNOPPIXを利用してハードディスクへアクセスすることができます。
アクセス権などの変更無しにすべてのフォルダやファイルへアクセスできるので簡単。

KNOPPIXの使い方などはKNOPPIXの紹介エントリーをご覧ください。

KNOPPIXを立ち上げてファイルマネージャを起動します。
左側に認識できるデバイスが表示されているのでハードディスクのCドライブを見つけます。私の画像では5555 5555とおかしな表示になっていますが、通常はsda1などの表示になっています。
CドライブにはWINDOWSフォルダやProgram Filesフォルダがあるのですぐに分かるでしょう。

KNOPPIXでレジストリの復元

まずは、WINDOWS\system32\configの中にある5つのファイルを念の為に削除せずに名前の変更をしておきます。

KNOPPIXでレジストリの復元

名前の変更は右クリックで「名前の変更」を選択するかF2ボタンを押してください。

SAM→SAM.bak
SECURITY→SECURITY.bak
software→software.bak
system→system.bak
default→default.bak
(大文字小文字は関係ないはずですが、お使いのパソコンと同じようにしてください。)

次に、System Volume Information\_restore{5F8238C6-3A9D-4C23-A270-FE90BE5424F7}\RPXX\snapshotの中にある

_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_USER_.DEFAULT

KNOPPIXでレジストリの復元

をWINDOWS\system32\configへコピーします。
次に「_REGISTRY_MACHINE_」と「_REGISTRY_USER_.」の部分を取り除いて

SAM
SECURITY
software
system
default

としてください。

以上の作業が終わったら、KNOPPIXを終了してWindowsを通常起動してください。Windowsが正常に起動すれば無事に復旧完了です。

Windowsの回復コンソールで復元方法

Windows XP 回復コンソールについて (上級ユーザー向け)
http://support.microsoft.com/kb/314058/ja

回復コンソールを使用しての方法も上記2つと同じ事をするわけですが、手間なのとコマンドを間違えなくうたなくてはいけないので少々面倒です。
マイクロソフトサポートオンラインに詳しく説明が記載されているので、そちらを参考にしてください。以下は作業の意味合いを記載しています。

レジストリの破損により Windows XP を起動できなくなった場合の回復方法
http://support.microsoft.com/kb/307545/ja

パート1
セーフモードで立ち上げるためにレジストリを一度Windowsセットアップ直後に戻しています。C:\WINDOWS\repairの中にあるレジストリファイルは基本的にWindowsセットアップ直後の物が入っているようです。
Administrator又はAdministrator権限のユーザでセーフモード起動できる場合はパート1は必要ありません。

パート2
回復コンソールではSystem Volume Informationへアクセスできないので、回復コンソールでアクセスできる場所(C:\Windows\Tmp )へ必要なファイルをコピーして、すぐに使用できるように名前を変更しています。

パート3
既存のレジストリを削除して、パート2で用意した復活させるレジストリをコピーしています。

パート4
パート3ではレジストリの復元を行っているだけなので、Windowsの復元機能でその他の復元をします。
マイクロソフトの方では記載されていないですが、ここで戻す復元ポイントはパート2でコピーしたレジストリの復元と同じタイミングの復元ポイントがいいかもしれません。

マイクロソフト仕様の作業であっても保障された行為ではありません。行っていることは同じなので、KNOPPIXを使って作業した方が遥かに楽でしょう。
Windows XPインストールCDを持っていない場合は回復コンソール起動フロッピー(CD)を作成するのも面倒ですし、起動ディスクは他のエディションやバージョンへは使いまわしもできません。

復旧後

レジストリの復元をした場合、Windowsは正常に動作していてもインストールしたアプリケーションが正常に動作しない場合がありますので、その場合はアプリケーションの再インストールをしてください。

あとがき

作業は比較的簡単でWindowsの復旧ができる可能性も高いですが、イレギュラーな方法である事は間違いありませんので自己責任でお願いします。
また、大事なファイルは日頃からバックアップとる様に心がけ、なにか危険な作業をする場合は覚悟の上で行うようにして下さいね(笑)
決して「何かあればレジストリの復元すればいいや」などという考えは起こさないように!

そして、このレジストリの復元作業なのですが、どうもWindows XP限定かもしれません。Windows Vistaではまだ確認していませんが、windows 7ではconfigフォルダに対象の5つのファイルはあるものの\System Volume Informationの中の対象ファイルがありません。XPではsnapshotフォルダの中に対象ファイルがありましたが、Windows7では{xxxxx-xxxxx-xxxx}_OnDiskSnsnapshotPropという実行ファイルとして纏められているようです。

Windows7ではレジストリのバックアップは
C:\Windows\System32\config\RegBack
の中に保存されているようです。

ファイルの戻し先は「C:\Windows\System32\config」でWindows XPと同様です。


FC2ノウハウ

この記事へのコメント

コメントをお寄せ下さい

(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://z0001.blog87.fc2.com/tb.php/210-ed2b4e19