WMIが壊れた

とりの からあげ

2010年11月09日 12:04

サブマシンの共有フォルダが利用できなくなりました。
しばらく使ってなかったのでファイアウォールかなーとか思い、
ネットワーク接続からローカルエリア接続のプロパティを開いて詳細設定タブを押すと

『この接続のプロパティを表示できません。
 Windows Management Instrumentation (WMI) 情報が壊れている可能性があります。
 修正するには、システムの復元を使って
 Windows をそれ以前の時点 (復元ポイントと呼ばれます) まで復元します。
 システムの復元は [アクセサリ] の [システム ツール] フォルダにあります。』

のようなエラーが出てました。
サービスを確認したところ「Windows Management Instrumentation」サービスは
問題なく動いている様子。

検索するとマイクロソフトのサポートページが見つかりました。
http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B823775


方法 1 : コンピュータを以前の復元ポイントに復元する


「個人データ ファイルを失うことなくコンピュータを以前の状態に復元することができます」
って書いてあるけど、
確かにファイルは残るかもしれないけど個人の設定情報は失うだろ・・・とか思いつつ
試してみました。
が、保存領域が少なかったため直近のものしか残ってない。ダメ。



方法 2 : Windows インストールを修復する


これは却下。いくらなんでも乱暴すぎないですか。
他への影響が怖い。



更に検索すると、このページが見つかった。
http://shunichi.hosono.com/2004/10/windows_management_instrumenta.html


方法 3 : %SystemRoot%\System32\Wbem\Repository フォルダ\Wbem\Repository フォルダのファイルを削除して、PCを再起動する

ページ内のマイクロソフトへのリンクは切れていましたが、
検索すると同様の情報は見つかりました。
http://www.gan.st/gan/blog/index.php?itemid=1341

まずサービスの「Windows Management Instrumentation」を停止させ、
その後に「C:\WINDOWS\system32\wbem\Repository」フォルダを削除するとのこと。

試しましたがダメでした。
というかRepositoryフォルダの中身が復活しない。。。



方法 4 : イベントログサービスを「有効」にする

サービスを確認しましたが、イベントログサービスは「有効」になってました。
念のため「Event Log」サービスを再起動して
「Windows Management Instrumentation」サービスも起動させてみましたが変わらず。




更に検索すると、「WMI の FAQ: トラブルシューティングとヒント」というページが。
http://technet.microsoft.com/ja-jp/scriptcenter/ff576025.aspx

そこに リポジトリを再構築する、という項目が。
方法3でやった\Wbem\Repository フォルダの内容を手動で再構築できるらしい。



方法 5 : リポジトリを手動で再構築する

手順としては方法3を行ったあと
レジストリ キー HKLM\Software\Microsoft\WBEM\CIMOM\Autorecover MOFs から
これまでインストールされてきた MOFファイルのリストを取得し、
それらをMofcomp.exe で再コンパイルしていく、といった作業になるらしい。

----------------
Mofcomp C:\WINDOWS\system32\WBEM\cimwin32.mof
Mofcomp C:\WINDOWS\system32\WBEM\cimwin32.mfl
Mofcomp C:\WINDOWS\system32\WBEM\system.mof
Mofcomp C:\WINDOWS\system32\WBEM\wmipcima.mof
Mofcomp C:\WINDOWS\system32\WBEM\wmipcima.mfl
  :
----------------

みたいな感じでバッチファイルを作り、実行!
したところコンパイルエラーが…。
mofcomp.logで確認すると

(Tue Nov 09 10:00:00 2010.1390218) : MOF ファイルの解析中: C:\WINDOWS\system32\WBEM\cimwin32.mof
(Tue Nov 09 10:00:00 2010.1391703) : オブジェクト 1 (行 8 - 11 に定義されている) の名前空間を開こうとしてエラーが発生しました:
(Tue Nov 09 10:00:00 2010.1391703) : エラー番号: 0x8004100a, 機能: WMI, 説明: 重要なエラーです
(Tue Nov 09 10:00:00 2010.1391718) : コンパイラによってエラー 0x8004100a が返されました

のようなエラーが延々と。
というか1年前から出ていたようです。
名前空間が開けないってのが、これが原因ですね。。。



とりあえず今回は時間がないので、続きはまた今度にします。


関連記事