上个月我用一台老ThinkPad T480,系统是Win10 22H2,晚上合盖让它休眠,第二天早上按电源键,屏幕死活不亮,只有风扇呼呼转。强制重启后进事件查看器,发现Kernel-Power 41错误,但没蓝屏。我反复测试了三次,每次休眠超过半小时就无法唤醒,必须长按电源键关机。排查了电源管理、驱动、快速启动,都没用。最后在系统日志里找到一条警告:模块shdocvw.dll加载失败,指向explorer.exe进程。这个DLL是Windows Shell部件,负责浏览器与桌面集成,它出问题会导致休眠时系统状态保存不完整,唤醒时无法恢复图形界面。
第一步:我直接打开C:\Windows\System32,找到shdocvw.dll,右键属性查看数字签名是否正常。发现签名没问题,但文件大小比正常版本小了2KB。接着用DISM命令修复系统映像:dism /online /cleanup-image /restorehealth,然后运行sfc /scannow。扫描完成后重启,发现shdocvw.dll被替换为原始版本,大小恢复。我再次休眠测试,半小时后唤醒成功,屏幕正常亮起。但第二天又复现了,说明问题没根治。
第二步:我怀疑是某个第三方软件或服务在休眠时修改了shdocvw.dll的引用。用Process Monitor监控休眠唤醒过程,发现休眠前,某个后台进程(是旧版迅雷的加速服务)会调用shdocvw.dll,导致其句柄被占用。休眠时系统试图释放该DLL,但被占用而失败,唤醒时explorer无法重新加载它。我直接卸载了迅雷,并清理了残留服务。再用autoruns禁用所有非微软的Shell扩展,特别是浏览器辅助对象(BHO)。再次休眠测试,连续一周没再出现无法唤醒。注意:shdocvw.dll相关的错误经常被误判为显卡驱动问题,实际上排查时优先看系统日志里是否有这个DLL的加载失败记录。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除,本文链接:https://www.spubm.cn/72229.html
