今日、会社の関係者から、再起動したらPCにログインできなくなったという問い合わせがあった。
現象
覗いてみると、確かにログイン画面に進んでいない。
もう少し細かい流れとしては、
電源ON
↓
Windowsのロゴが出る(背景が黒)
↓
背景がブルーに変わる
↓
↓ここからおかしい
↓
ログインのダイアログが出てくるはずが出てこない。
マウスポインタは出てきて動かすことができるがそれだけ。
右クリックしようがCtr+Alt+Delを押そうが何をしても無反応
↓
電源長押で強制終了するしかない
考えられる対策1
まあよくあるHDD(ハードディスクドライブ)障害か何かだろうとまずは判断し、まずはセーフモードで起動した。
しかし、セーフモードでも同じ現象が起きる。
これまで見てきた障害にはないものだ。。
そもそもHDD障害や他の障害なら、同じような止り方はせず、たとえば
・ログイン画面は出てきて、ログイン後ある程度したら止まる
・最初のWindowsのロゴすら出なくなる
といったことが起きてくるはず。。
あとは自分はよくやるのだが、マシン本体に耳をあて、HDDから異音を出していないかチェックした。
大半は、HDDの障害だと「ギーギー」や「ウィーン、カチ、カチ」といった普段は聞かないであろう音を発している。
今回も電源ONのあと耳をあててみたが、いたって普通のHDDの動く音(「ガガガ、ガガガガガガガー」みたいな)だった。
考えられる対策2
HDD障害のようなハードウェアの故障ではないかもしれないと予測したので、それならば論理的なものがおかしくなったのかもしれないと思い、チェックディスクを行うこととした。
WindowsのインストールCDで回復コンソールを起動し、以下のコマンドを入力(時間がかかるので注意!)。
CHKDSK C: /P | |
CHKDSK C: /R |
このコマンドを実行すると、不良セクタ等が見つかれば修復してくれる。
また、修復に失敗した場合はやはりHDD自体に問題があることも推測できる。
実行した結果、1つの不良セクタを見つけ、修正を完了したと出た。
これで直ると思い、
EXIT |
で回復コンソールから抜け、PCは再びWindowsのロゴが出現した。
チェックディスクの結果
しかし、結果は同じ。全く同じだった。
マウスポインタだけ出現するブルーな画面。
(ブルースクリーンとは違い、デフォルトの背景色なのでやや薄い青であることを補足)
この時点でかなりお手上げ状態。
再インストールも頭によぎった。
唯一の救いは、回復コンソールでディレクトリを移動したりファイル一覧を見たりCOPYしたりすることはできたので、ディスク自体は死んでいないとある程度判断できた。
なので、PCからHDDを取り出し、他の正常なPCにデータを吸い出す方法を視野に入れていた。
1つの突破口
それから少し時間が経ち、問題の出たPCの使用者が他のPCでググってくれていた。
なんでも、他でも全く同じような現象が起きているとのこと。
しかもごく最近に。
自分でも別途確認してみたが、たしかにここ1〜2日に集中して質問があがっている。
おそらく、自分たちと同じお手上げ状態になったのだろう。
最近旬なTwitterでも調べてみたが、やはり最近の投稿に同じようなことがいくつか。
これはあきらかにおかしい。
そして数ある質問とそれに対するコメントや回答の中に、「WindowsUpdate」が原因ではないかというものがあった。
正確には今月14日(2009/10/14)にMicrosoftから出た大量のセキュリティパッチ。
以下のURLにその詳細が。
http://www.microsoft.com/japan/protect/computer/updates/bulletins/200910.mspx
このセキュリティ更新は非常に大きなものだったのを覚えている。
なかなかダウンロードが終わらないぐらいのサイズの大きさ。
しかも、「緊急」なのがほとんど。
MSも急いで出したのだろうか。
対応
結局、問題の出たPC使用者の方に、回復コンソールから今回分のセキュリティパッチを削除してもらうようにした。
本家のMSに「レジストリの破損により Windows XP を起動できなくなった場合の回復方法」として載っている。
http://support.microsoft.com/kb/307545/JA/
ただ、少し見辛いため、WindowsWorldにて過去載っていたものを引用。
(1)WindowsXPが正常起動しなくなったコンピュータを、WindowsXPのインストールCDを使用して起動します。または、WindowsXPのインストール用起動ディスクの1枚目をフロッピーディスクドライブにセットして起動します。
(2)WindowsXPのセットアッププログラムが開始されるので、「セットアップの開始」画面が表示されたら「R」を押して、回復コンソールを起動します(画面3)。
(3)キーボードの種類を指定後、「どのWindowsにインストールしますか?」と表示されたら、通常は「1」と入力し、Administratorのパスワードを入力します。WindowsXP Home EditionでAdministratorのパスワードを設定したことがない場合は、パスワードは空の状態なのでそのまま「Enter」キーを押してください。複数のWindowsがインストールされているマルチブートシステムの場合は、問題のあるWindowsの番号を指定してログオンしてください。
(4)回復コンソールにログオンすると、初期フォルダがシステムドライブ内のWindowsのルートフォルダ(デフォルトのインストールの場合は「C:\Windows」)になるので、次の「CD」コマンドを使って「System32\Config」フォルダに移動します。レジストリは、このフォルダにある「SYSTEM」「SOFTWARE」「SAM」「SECURITY」「DEFAULT」の5つのファイルで構成されます。
cd System32\Config
(5)次の10行のコマンドラインを実行して、既存の問題のあるレジストリファイルのバックアップコピーを作成してから、レジストリファイルを削除します(画面4)。ファイルがすでに存在しない場合は「ファイルが見つかりませんでした」と表示されますが、ここでは無視してかまいません。
copy SYSTEM SYSTEM.BAK
copy SOFTWARE SOFTWARE.BAK
copy SAM SAM.BAK
copy SECURITY SECURITY.BAK
copy DEFAULT DEFAULT.BAK
del SYSTEM
del SOFTWARE
del SAM
del SECURITY
del DEFAULT(6)次に、システムドライブの「System Volume Information」フォルダに移動します。この「System Volume Information」フォルダには、WindowsXPの「システムの復元」のチェックポイントで保存された、システム状態のスナップショットが格納されています。なお、フォルダ名に半角スペースが含まれるので、必ずフォルダ名を二重引用符(")で囲んでください。
cd "System Volume Information"
(7)「DIR」コマンドでフォルダ内のファイルとフォルダを確認します。このフォルダ内にある「_restore{xxxxxxxx-xxxx- xxxxxxxx-xxxxxxxxxxxx}」(xxxは半角大文字英数字)という名前のフォルダを探して、「CD」コマンドでそのフォルダに移動します。「_restore{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}」が複数存在する場合は、タイムスタンプ(日時)が新しい方を選択してください(画面5)。
cd _restore{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
(8)「_restore{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}」フォルダに移動したら、ここでも「DIR」コマンドを実行してフォルダ内を参照します。ここで「RPx」(xは1以上の整数)という名前で、タイムスタンプが最も新しいフォルダを探します。
(9)手順?で特定したフォルダ内の「Snapshot」フォルダに移動します。例えば、「RP1」フォルダの場合は、次のコマンドラインで移動します。
cd RP1\Snapshot
(10)「RPx\Snapshot」フォルダに移動したら、「DIR」コマンドでフォルダ内を参照してみてください。次の5つのファイルが確認できるはずです。これらのファイルが、それぞれレジストリファイル「SYSTEM」「SOFTWARE」「SAM」「SECURITY」「DEFAULT」の最新のコピーになっています。
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_USER_.DEFAULT(11)次の5つのコマンドラインを実行して、レジストリファイルのバックアップを元の位置に戻します(画面6)。
copy _REGISTRY_MACHINE_SYSTEM C:\Windows\System32\Config\SYSTEM
copy _REGISTRY_MACHINE_SOFTWARE C:\Windows\System32\Config\SOFTWARE
copy _REGISTRY_MACHINE_SAM C:\Windows\System32\Config\SAM
copy _REGISTRY_MACHINE_SECURITY C:\Windows\System32\Config\SECURITY
copy _REGISTRY_USER_.DEFAULT C:\Windows\System32\Config\DEFAULT(12)回復コンソールのコマンドプロンプトで「exit」と入力し、コンピュータを再起動します。正常に起動できることを確認してください。
WindowsXPでは、「システムの復元」機能がデフォルトで有効になっていますが、環境によっては無効になっている場合もあるでしょう。その場合は、上記の方法で探した最新のレジストリのバックアップコピー(_REGISTRY_*)と、「C:\Windows\Repair\」フォルダの下にある「SYSTEM」「SOFTWARE」「SAM」「SECURITY」「DEFAULT」の新しい方を、「C:\Windows\System32 \Config」フォルダにコピーしてください。
対応結果
上位対応を実施していただいた後、再起動するとちゃんと正常に立ち上がったという連絡をもらった。
かなりほっとした。
ただ、今回の現象は自分のPCや一部の人たちだけでなく、日本中、はたまた世界中のWinXPの一部の人たちに影響するのではないかと思う。
あと1〜3日ぐらいしたら御祭騒ぎになるのだろうか。。。