2008年6月18日水曜日

レジストリが壊れて、Windows xp が起動しなくなった

対象

  • Widnows XP sp3 を使用
  • キーボードは USB 接続
  • Windows のインストール CD は XP sp2

 

症状

Windows 上でアプリケーションを使用中 (EasyTune5 Pro でオーバークロック) にシステムがダウンし、その後、再起動がかかった。セーフモードで起動するかどうかの選択画面が表示されたとき、キーボードの操作ができず、「Windows を通常起動する」が自動的に選択される。しかし、その後、 Windows の起動画面が現われる前に、ビープ音と供に再び再起動が行われる。これが延々と繰り返された。

 

対処

USB 接続のキーボードの操作を受けつけるようにする

PC に電源を入れた後、 DEL キーを押して、 BIOS の設定画面を表示させる。

Integrated Peripherals > USB Keyboard Support がデフォルトで Disabled になっているので、これを Enabled に変更。

 

Windows のインストール CD から起動

BIOS の設定画面で、 Advanced BIOS Features > First Boot Device をCDROM に変更する。

Windows のインストール CD を挿入しておく。

Save & Exit Setup で BIOS の設定は終了。

 

回復コンソール

Windows のインストール CD が起動したら、 R キーを押して、回復コンソールを表示させる。 (参考 : Windows XP 回復コンソールについて )

C:\Windows にログオンしたら、次のように表示された。

SYSTEM レジストリはアクティブな ControlSet キーがないようです。

SYSTEM レジストリが壊れている可能性があります。

ここで試しに chkdsk /p でディスクの修復を行い再起動させたが、 Windows の起動画面は表示されなかった。

※ この後、一度 Windows のインストール CD を使って修復を試みたが、作業の途中で中断してしまい、修復を完了できなかった。

 

レジストリの復元

再度、回復コンソールにて、レジストリの復元を試みた。方法は、「Windows XP が起動できない場合のレジストリの復元方法 電子頭脳の実験室/ウェブリブログ」に従った。(こちらのサイトのおかげで、データを失わずに済みました。ありがとうございます。(_0_) )

手順は、

  1. 現在のレジストリのバックアップ
  2. バックアップされているレジストリを復元

具体的には上記のサイトでは、現在のレジストリのバックアップ先として、 c:\WINDOWS\tmp ディレクトリを作成。

c:\WINDOWS\system32\config\ 以下にある system, software, SAM, SECURITY, default を copy コマンドによりバックアップ。

5 つの同ファイルを delete コマンドにより削除。

次に、システムがバックアップしていたレジストリを名前を変えてコピーし、元のレジストリの位置に起く。 このとき、念のため起動しなくなった前日のレジストリを復元することにした。

C:\System Volume Information\_restore{[ランダムな文字列]}\RP[番号]\snapshot\
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_USER_.DEFAULT

(同上より)

空白のあるディレクトリ名をコマンドに伝えるときは、" " で囲むこと。また、上記の 5 つのファイルのうち、最後のファイル名 _REGISTRY_USER_.DEFAULT は他の名前が少し違うので、打ち間違えないように。

 

Windows の修復

再度、 Windows のインストール CD を起動し、今度は回復コンソールを表示させずインストール作業へ。  ENTER キーを押して、セットアップを開始する。 (参考 : ITmedia エンタープライズ:Windows Tips「起動しなくなったWindowsXPを修復する」 )

ライセンス契約に同意する。(F8)

次に、新規インストールは選ばずに、修復(R) を選択する。(修復なので、マイドキュメント内などの自分で作成したファイルは残すことができる。)

後は、インストーラの指示に従う。

 

IE7 の削除

これで Windows xp sp2 で修復された状態となった。しかし、 Windows Update をしようとしたら、次のメッセージが表示され、IE7 が起動できなかった。

「'(null)'が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。ファイルを検索するには、[スタート]ボタンをクリックしてから、[検索]をクリックしてください。」

( Sleipnir より、ツール > Windows Update をしたら、Windows Update を表示されることができたが、途中でエラーが表示され、sp3 にすることはできなかった。)

CTX113807 - Internet Explorer 7をエクスプローラモードで起動すると「'(null)'が見つかりません」というエラーメッセージが表示される - Citrix Knowledge Center」によると、 IE7 が壊れているようなだ。この回避策として、次のように書かれていた。

Internet Explorer 7をアンインストールしてInternet Explorer 6に戻します。

Internet Explorer 7 を削除する方法」には、IE7 を削除するための二つの方法が書かれている。「プログラムの追加と削除」にはIE7 がなかったので、「方法 2 : フォルダからアンインストーラを実行する」によって削除した。上記サイトによると、

1.[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

2.%windir%\ie7\spuninst\spuninst.exe と入力し、[OK] をクリックします。

その後 IE6 から Windows Update をし、 sp3 にすることができた。

最近、頻繁に エクスプローラが落ちるようになったのは、IE7 が壊れていたからだったようだ。^^;

 

関連記事