wmi_exception是wmi子系统异常的统一封装名,真实原因需通过事件查看器定位,常见于驱动非法注册、provider内存越界或tpm-wmi冲突;应筛选系统日志中wmi-activity等来源的错误事件,禁用可疑provider驱动,重置wmi存储库,并在必要时修改secureboot注册表项。

Wmi_Exception 不是独立错误代码,而是 Windows Management Instrumentation(WMI)子系统在执行过程中抛出的异常封装名,真实问题藏在具体错误事件里,必须查事件查看器才能定位。
查事件查看器确认 WMI 异常源头
蓝屏上只显示 Wmi_Exception,说明内核调用 WMI 接口时失败,但没给出根本原因。这类异常几乎都源于驱动、服务或第三方软件对 WMI 提供程序(Provider)的非法注册、内存越界或签名验证失败。
- 进安全模式(Shift+重启→疑难解答→启动设置→按 5)后,立即运行
eventvwr.msc - 左侧展开“Windows 日志”→“系统”,筛选“错误”级别,时间范围设为最近 24 小时
- 重点找来源为
WMI-Activity、WMI-Performance Adapter或TPM-WMI的事件,尤其是事件 ID10、1796、5607 - 若看到
Failed to load provider或Invalid class registration,右侧“详细信息”标签页里的ProviderName和ClassName就是罪魁祸首
禁用或卸载可疑 WMI 提供程序驱动
很多硬件厂商(如联想、戴尔、华硕)和安全软件(如向日葵、TeamViewer、OWNeacSafe)会安装自己的 WMI Provider,它们常以 .sys 驱动形式注册,但未通过微软 WHQL 签名或与 Win11 24H2 冲突。
- 打开设备管理器 → “查看” → 勾选“显示隐藏的设备” → 展开“非即插即用驱动程序”
- 查找名称含
WmiProv、WmiAcpi、OWNeacSafe、Sunlogin、TeamViewer、ElanWmi、ETDwmi的条目 - 右键 → “属性” → “驱动程序”选项卡 → 点“禁用设备”;若灰显,说明已加载失败,可跳过
- 同时打开
services.msc,禁用对应服务:如SunloginClient、TeamViewer、Elan Service、OWNeacSafe
重置 WMI 库并重建存储库
WMI 数据库(%windir%\System32\wbem\Repository)损坏会导致所有 WMI 查询失败,表现为 Wmi_Exception 频发,且 wmic 命令报“not found”或“access denied”。
- 以管理员身份运行命令提示符,依次执行:
net stop winmgmtren %windir%\System32\wbem\Repository Repository.oldnet start winmgmt- 系统会自动重建空 Repository;完成后可运行
wmic os get caption测试是否恢复 - 注意:
Repository.old文件夹可保留 24 小时,确认稳定后再手动删除
绕过 TPM-WMI 冲突(常见于 KB5016061 更新后)
Win11 24H2 用户升级 KB5016061 后频繁触发 Wmi_Exception,事件查看器中伴随 TPM-WMI 源 + 事件 ID 1796,本质是 Secure Boot DBX 变量更新导致 TPM 驱动拒绝响应 WMI 查询。
- 按 Win+R 输入
regedit,导航至:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot - 将
Enable的 DWORD 值改为0(不是删除键,是改值) - 重启后观察是否仍有
Wmi_Exception;若需恢复 TPM 功能,应等待微软后续补丁而非强行开启 - 此操作不影响 BitLocker 解密,但会禁用部分基于 Secure Boot 的运行时保护
真正麻烦的是那些不写日志、不报事件 ID、只在蓝屏瞬间闪出 Wmi_Exception 的情况——这时必须先确保 C:\Windows\Minidump 有有效 .dmp 文件,再用 WinDbg Preview 加载分析,看堆栈里最后一个 WMI 相关模块是谁。没 .dmp,所有推测都是赌运气。











