« Just Suite 2009 | トップページ | Vista Transformation Pack 9.0.1 »

2009年1月22日 (木)

レジストリが壊れて起動しなくなったWindows XPを回復する方法

今日、ちょっとWindows XPのレジストリをさわりました。

特に問題が生じたわけでもないのですが、使っているうちにペイントが起動できなくなりました。タスクマネージャで見たところ、プロセスは立ちあがっているのですが、画面にペイントのウィンドウが表示されないという状態でした。変だなと思って、Windowsを再起動することにしました。すると、Windowsの終了ができない状態になっていることがわかりました。Windowsの終了を選んでも、何も起こらないという状況です。

仕方がないので電源を落とすことにしました。

すると!なんとWindows XPが起動しなくなってしまいました。Windowsの背景までは表示されるのですが、ログイン画面が出ません。直感的にこりゃレジストリ破損だなと思いました。

涼しい顔でパソコンを再起動して[F8]キーで押し、メインテナンスを行うことにしました。

で、「前回正常起動時の構成で起動する」を選んでみましたが、起動しません。

それではとセーフモードで起動することにしたのですが、、、

すると!なんとセーフモードも起動しません。同じようにログイン画面になりません。

ブルー画面になるようなエラーではないので、何とかなるかなと思って、いろいろやってみましたが、まったく駄目。

が~ん!真っ青です。これは最悪再インストールするしかないかもしれません。こっちがブルーになりました。

しかし、まだ諦めるのは早い!

さて、どうするかと考えて、そうだXPは復元ポイントを作っているので、復元ポイントの中のレジストリを利用できないだろうかと考えたのです。

で、Googleでいろいろなキーワードで検索してみたところ、

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

というマイクロソフトのサポート情報を見つけました。一通り読んでみると、自分が考えたのと同じやり方のようです。さっそく挑戦してみました。

①Windows XPセットアップディスクから回復コンソールを立ちあげる

②既存のレジストリファイルを念のためバックアップする

copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\default c:\windows\tmp\default.bak

レジストリファイルを削除する

delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

③c:\windows\repairに保存されているレジストリファイルをコピーする

このレジストリファイルはWindows XPの初期設定のレジストリファイルです。これでWindows XPが起動すると、Windows XPは環境を初期状態に戻します。ユーザーの情報やその他の情報がすべて初期化されます。

copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default

④回復コンソールを終了して、Windowsを再起動する

 Windowsが初期設定を始めました。無事に起動しました。でも、すべてが初期状態、コンピュータの名前も変わってしまったし、ユーザー情報も消えたし・・・

サポート情報を見るとWindowsをセーフモードで起動するとある。

ありゃ、大丈夫か?

⑤Widowsを再起動してセーフモードで立ちあげる

大丈夫みたい

⑥C:\System Volume Informationにアクセスして、復元ポイントが保存されているフォルダを探します。

C:\System Volume Informationにアクセスできない場合はフォルダのプロパティを開いてセキュリティの設定を変更します。Aministratorを加えてフルコントロールのアクセス許可を与えます。

C:\System Volume Informationには_restore{16進法の数字}というフォルダがあります。それらのファイルの下にはRPXXというフォルダがいくつかあります。それらが各復元ポイントのフォルダです。この中のどれかに入っているレジストリファイルを使います。

日付を見ながら適切な復元ポイントを探します。昨日のものなどで構いません。

RPXXを開くと、snapshotというフォルダがあります。その中にレジストリデータのバックアップがあります。

⑥レジストリデータのバックアップを取り出す

これらがレジストリのバックアップです。

_REGISTRY_USER_.DEFAULT
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SAM

適当なフォルダを作って、そこにコピーします(移動ではなくコピーです)。

⑦コピーしたらリネームします。

_REGISTRY_USER_.DEFAULT → DEFAULT
_REGISTRY_MACHINE_SECURITY → SECURITY
_REGISTRY_MACHINE_SOFTWARE → SOFTWARE
_REGISTRY_MACHINE_SYSTEM → SYSTEM
_REGISTRY_MACHINE_SAM → SAM

⑧Windowsを再起動して回復コンソールを立ちあげます。

⑨レジストリファイルを削除する。

delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

⑩さきほど復元ポイントから取りだしたレジストリファイルをc:\windows\system32\configにコピーする。

⑪再起動してWindowsを起動する

すると・・・

なんと・・・

何事もなかったかのようにWindows XPが立ちあがりました!

使った復元ポイントが適切だったかどうかを、Windowsの様子を見て確認。OKのようです。駄目なら、[スタート]メニュー[アクセサリ][システム][システムの復元]で他の復元ポイントを使ってみれば良しです。

真っ青になりながらの作業でしたが、無事に回復しました。

人気ブログランキングへ

| |

« Just Suite 2009 | トップページ | Vista Transformation Pack 9.0.1 »

パソコン・インターネット」カテゴリの記事

コメント

情報どうもありがとうございます。
無事にログインできたようで良かったですね。

投稿: toshizo | 2009年2月 6日 (金) 01時10分

質問した者です。

ご回答ありがとうございました。

レジストリの中をレジストリエディタで見てみると、
Default passwordが設定されていたので、
そのパスワードでログインできました。

ありがとうございました。

投稿: | 2009年2月 6日 (金) 00時20分

③までの操作はWindowsXP OSの初期設定のレジストリをもってきて、Windows XPを起動しています。Windows XPがOEMバージョンだった場合には初期設定に何か特別な設定がされているかもしれません。

自分のもOEMバージョンですが問題なく起動できました。

ご使用しているパソコンは初期状態でパスワードが設定されているとかはありませんか。

でも、それだと④の再起動でもログインできないはずですよね。う~む。

普通に起動してパスワードなしでログインできるのであれば、Administratorのアカウントがどうなっているか確認してみると良いと思います。Administrator権限のユーザーを作って、それでセーフモード起動してみるのも良いのではないかと思います。

それから⑥以降の作業はセーフモードでなくてもできるような気がしています。

やり直しがきくのでいろいろと試されてみると良いかと思います。

投稿: toshizo | 2009年2月 2日 (月) 22時24分

質問させてください。
手順の中で
④回復コンソールを終了して、Windowsを再起動
⑤Widowsを再起動してセーフモードで立ちあげる
この時の再起動はどのようにして行うのでしょうか?

回復コンソールのプロンプトでexitコマンドを入れると
自動で再起動されログイン画面が出ずにログインできましたが、その後⑤で再起動してセーフモードで立ち上げると、ログイン画面になりAdministratorのパスワードが要求されます。
設定されていないので空欄で入力してもパスワードが違うと言われログインできません。

よろしくおねがいします。

投稿: | 2009年2月 1日 (日) 15時39分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: レジストリが壊れて起動しなくなったWindows XPを回復する方法:

« Just Suite 2009 | トップページ | Vista Transformation Pack 9.0.1 »