本記事は、マイクロソフト社員によって公開されております。
こんにちは、Windows サポートチームの中森です。
今回は、 Windows Management Instrumentation (WMI) のリポジトリが
破損した際に、安全に復旧するための手順をご紹介いたします。
はじめに
WMI とは Windows OS の設定や状態を確認したり管理するために用意された機能 (インターフェース) です。
この機能を提供するための WMI クラス情報と定義情報を格納しているデータベースを WMI リポジトリと呼びます。
この WMI リポジトリには、 3rd パーティ製品をインストールした際に、導入される WMI クラス情報も含まれており、
Windows OS の機能のみでなく、ご利用環境のソフトウェア全般から利用されております。
WMI リポジトリの破損について
WMI リポジトリは、独自のデータベース形式で管理されており、通常は、簡単に破損するものではありません。
しかしながら、破損しないことを保証したものでもありませんので、後述の復旧方法が機能として用意されております。
なお、多くの場合、 WMI リポジトリが破損したタイミングではエラーや警告等は記録されず、
WMI リポジトリ破損後に WMI を利用した機能がエラーとなり、 WMI リポジトリの破損が検出されます。
そのため、 WMI リポジトリが破損した場合でも、破損原因を特定することは基本的には出来かねますため、
以下の復旧方法により、システムの回復をいただけますと幸いでございます。
WMI リポジトリの復旧方法
WMI リポジトリを復旧する際には、管理者権限で起動したコマンド プロンプトより、WMI サービスの停止、
ならびに、 WMI リポジトリの修復と再構築の後、システムを再起動することで復旧が完了いたします。
1 | 1. 対象のマシンへ管理者権限を持つアカウントにてログオンします。 |
WMI リポジトリ復旧時の注意事項
WMI リポジトリの復旧時、停止した WMI サービスは、コマンド net start winmgmt
で起動することができますが、
依存するサービスすべてをシステム起動時と同様に起動させることはできませんので、 WMI リポジトリの復旧後は、
システムを再起動することを強くお勧めいたします。
また、 winmgmt /resetrepository
を実行しますと、WMI リポジトリを OS インストール直後の状態にしたのち、
登録されている定義ファイルをもとに WMI リポジトリを再構築いたします。
このとき、 3rd パーティ製のアプリケーションが WMI リポジトリを拡張しているものの、復旧用のファイルが
用意されていない場合、 WMI リポジトリの復旧後、ご利用のアプリケーションに影響が生じる場合もございます。
そのため、 WMI リポジトリの復旧後は、何らかの問題が生じていないかどうか、ご利用環境を、ご確認ください。
影響が生じたアプリケーションが確認された場合には、対象アプリケーションの提供元へ復旧方法を確認いただくか、
対象アプリケーションを再インストールなど、お試しいただけますと幸いでございます。
なお、今回ご紹介した復旧手順は、最低限実施いただきたいものをおまとめしたものとなりますので、
WMI リポジトリのリセット後も WMI に関する不具合やエラーが続く場合、他トラブルシューティングが
必要となる場合もございます。
以上の情報が WMI リポジトリを復旧したい、ご利用者の皆様の一助となりますと幸いです。
関連記事
winmgmt コマンドについて
https://docs.microsoft.com/en-us/windows/win32/wmisdk/winmgmt
WMI: Repository Corruption, or Not?
https://techcommunity.microsoft.com/t5/ask-the-performance-team/wmi-repository-corruption-or-not/ba-p/375484
WMI: Rebuilding the WMI Repository
https://techcommunity.microsoft.com/t5/ask-the-performance-team/wmi-rebuilding-the-wmi-repository/ba-p/373846
本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。
更新履歴
2022/06/01 初版公開
2022/07/04 verifyrepository, salvagerepository について補足追記