#222 如何排查 WMI 错误

icon孙锋在 2020-7-20 下午5:45 编写 ( icon佟裕在 2023-4-25 下午3:13 更新 <历史> )
  编辑(登录)
  收藏
  响应调查   响应调查

  主题

在某些情况下,Acronis 产品可能会产生由 Windows 管理规范(WMI) 故障引起的错误。例如,操作失败并有“ WMI 'ExecQuery' 失败”的信息提示。

错误日志示例

Error code: 1012; Module: 20
LineInfo: 0xC523D9A02D03D55C
Fields: {"Query":"SELECT \* FROM Win32_OperatingSystem","$module":"mms_vsa64_3917"}
Message: WMI 'ExecQuery' failed.

或者

Error code: 1012
Module: 20
LineInfo: 0xC523D9A02D03D55C
Fields: {"$module":"mms_vsa64_12420","Query":"SELECT \* FROM Win32_OperatingSystem"}
Message: WMI 'ExecQuery' failed for query '%ls'.

或者

A Windows Management Instrumentation (WMI) query has failed. The WMI repository may be corrupted or it works incorrectly.

WMI 就是 Windows Management Instrumentation 的缩写,Acronis 在 Windows 计算机上使用其功能来获取有关磁盘,系统和服务的信息。 WMI 错误表明 Acronis Agent 已尝试通过 WMI 工具进行查询,而 WMI 工具无法处理该查询。

本文介绍如何使用 WMIDiag 工具排查 WMI 错误。

确认 WMI 已损坏

  1. 启动 WMI MMC 管理单元:转到开始->运行->输入 wmimgmt.msc
  2. 右键单击“ WMI控件(本地)”,然后单击“属性”。
    image-20200720083710443.png
    或者,也可以通过转到控制面板->管理工具->计算机管理来打开 WMI 属性。 在左侧窗格中,单击服务和应用程序-> WMI 控件,右键单击并选择属性。

  3. 如果 WMI 正常工作,您将看到成功连接窗口,如下所示。
    image-20200720083825641.png

  4. 如果看到无效的类或任何其他错误消息,则 WMI 无法正常工作

启用WMI事件跟踪

默认情况下,不会跟踪WMI事件。此过程描述如何使用事件查看器启用WMI事件跟踪并定位WMI事件。
1.打开事件查看器:

  • 按Win+R;
  • 在打开的“运行”窗口中,键入eventvwr.msc,然后按Enter键

2.在“视图”菜单上,单击“显示分析和调试日志”:
clip-20230425140659.png
3.在“应用程序和服务日志”>“Microsoft”>“Windows”>“WMI活动”下找到WMI的跟踪通道日志。
4.右键单击跟踪日志并选择财产。单击“启用日志记录”复选框以启动WMI事件跟踪。
clip-20230425140857.png
5.复现问题
6.WMI事件出现在WMI活动的事件窗口中。双击列表中的事件以查看详细信息。
7.在某些情况下,事件将包含有关如何解决特定错误的说明。对于其他事件,请使用搜索中的“事件ID”和“源”在线查找其他信息。
如果需要,请联系MS支持部门以获得WMI故障排除方面的帮助。

如何检查 WMI 存储库一致性

在 Windows Vista 或更高版本中,可以通过命令提示符中的以下命令检查存储库是否已损坏(开始->搜索->输入“ cmd”->右键单击并选择以管理员身份运行):
winmgmt /verifyrepository
如果存储库未损坏,将返回“ WMI 存储库是一致的”消息。 如果存储库是一致的,则需要使用 WMIDiag 实用工具进行更详细的故障排除。
如果命令返回 WMI 数据库处于不一致状态,请按照以下说明执行存储库的恢复。

Rebuilding WMI repository manually can result in some 3rd party products not working until reinstallation.

强烈建议在更改WMI存储库之前创建系统的备份。如果 Acronis 产品由于 WMI 错误而无法正常工作,则可以使用Acronis 可启动媒体或第三方工具创建备份。

如何重建 WMI 存储库

  1. 禁用并停止 WMI 服务。
    sc config winmgmt start= disabled
    请注意disabled前面要有空
    net stop winmgmt
    (这将停止 Acronis 服务)

  2. 运行以下命令
    Winmgmt /salvagerepository %windir%\System32\wbem
    Winmgmt /resetrepository %windir%\System32\wbem

  3. 重新启用WMI服务并重新启动计算机
    sc config winmgmt start= auto
    如果一致性检查后问题仍然存在,请重建 WMI 存储库:

  4. 禁用并停止 WMI 服务。
    sc config winmgmt start= disabled
    net stop winmgmt

  5. 将位于 %windir%\System32\wbem\repository 路径下的存储库文件夹更名为 repository.old。

  6. 重新启用WMI服务。
    sc config winmgmt start= auto

  7. 要重新创建存储库,需要运行 WMI-using 应用程序。 最简单的方法是再次启动 WMI MMC 管理单元(开始->运行-> wmimgmt.msc),右键单击 WM I控件(本地),然后单击属性。 创建新存储库时将有几秒钟的延迟。


原文链接: https://kb.acronis.com/content/62731


 添加评论