Windowsのデバイスマネージャが空っぽになりました。

弊社ブログも社員の現地作業のため、かなり滞っております。
と言う事で、社長の私だけでもと思い、頑張って書いてみたいと思います。

表題でも書きましたが、本日、Windows XP のデバイスマネージャからエントリが全て消えた(表示されない)事に気が付きました。

この辺
http://blog.heiichi.com/?eid=205557
や、この辺
http://snowland.net/nucleus/item/993
に載っているのですが、Microsoft のHP内容
http://support.microsoft.com/kb/311504/ja
では解決出来ず。

試行錯誤の上、解決出来ましたので、そのやり方を掲載します。
ほぼ、備忘録ですね。

なんせ、どうやらデバイスマネージャが参照しているレジストリエントリがおかしくなっている、というあたりは察しが付きました。
で、デバイスは再検出出来るし、デバイスドライバは既にインストールしてあるわけだから、デバイスマネージャのエントリが消えた所で、なんの問題も無いだろう、という思いこみから、荒療治をする事にしました。(レジストリをいじります。自己責任でお願いします。) 

ただ、やってから気づいた事なのですが、デバイスマネージャのエントリを消す、と言う事は、完全なるレガシーデバイス以外は認識していない、という事なので、最低でもP/S2のキーボードは接続する必要があります。

1.セーフモードで起動
2.レジストリエディタで HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet を開く
3.enum エントリを選択、編集-アクセス許可で「フルコントロール」に変更
4.enum エントリの名前を「enum_」等に変更
5.再起動
6.セーフモードで起動
7.デバイスを再認識(この時、USB デバイス等は使えないので、キーボードで色々認識させる)
8.再起動

これで私は復活しました。
ネットワークデバイスも消えていたので、ローカルエリア接続も消えていました。
これも、復活。ただ、ローカルエリア接続が再構成されたので、静的に設定していた IP アドレスは全て、DHCP になっていました(このせいで、ちょっと悩みました)。
なった時はびっくりしてセキュリティパッチをロールバックしたりしましたが、全く関係なかったようです。

以前、セキュリティパッチを当てている最中に再起動がかかった事があったので、この時レジストリのエントリが壊れたのかもしれません。
セキュリティパッチが悪いわけでは無く、何か他の原因かな?とも思ったりしてます。

なんにせよ、エントリが壊れているせいでデバイスが全て見えなくなるのは困りもんです。

最初は「Windows 7 を買って貰うために、ついに XP にトロイを仕掛けたか!?」と思いましたが、有らぬ疑いでした。MSさん、ごめんなさい。

同じ様な感じで悩んでおられる方も沢山おられて、再インストールをされている方も散見します。
悩んでおられる方の一助になれば(問題は、いつこの記事がクロールされるか、ですけど:笑)。


1件のフィードバック so far.

  1. 遠藤社長 より:
    後日談です。

    Routing and Remote Access のサービスが起動しなくなりました。
    理由は不明です。

    Google を漁ってみると、「モデム接続があるとうまく起動出来ない」という記述を見かけたので、早速試してみましたが、変化無し。

    もう一つの方法としてレジストリを変更する方法が紹介(http://support.microsoft.com/default.aspx?scid=kb;ja;315236)されていましたので、それを実行。

    正しくルーティングされました。
    FeeeBSD で言うところの
    sysctl -s net.inet.ip.forwarding = 1
    を実行するのと一緒とか。

    でも、なんか気持ち悪い・・・orz

    そろそろ Windows7 も視野なのだろうか・・・