旧版内核调用程序阻止睡眠模式

旧版内核调用程序阻止睡眠模式

我遇到了 Windows 7 无法睡眠的问题。

PowerCfg -requests

说“旧版内核调用程序“驱动程序阻止睡眠模式。这没有什么帮助或信息。我如何获取有关该对象的更多详细信息?

编辑:

我找到

Powercfg -requestsoverride 

是处理此类行为异常的驱动程序和软件的最佳方法。

选项-requestsoverride文档记录不全。MSDN 没有提到 NAME 区分大小写,并且要从覆盖列表中删除请求,您需要提供带有空白 REQUEST 参数的选项。

答案1

感谢所有的建议!

最后我通过反复试验、禁用设备并重新启动缩小了问题范围。这是因为电视卡驱动程序挂起了,尽管不再使用,但并未释放电源请求。

编辑:

不幸的是,电视卡的问题时不时地重复出现。谷歌搜索显示这也是很常见的。我发现禁止驱动程序发出电源请求

Powercfg -requestsoverride Driver "Legacy Kernel Caller" System

解决了它。

“Legacy Kernel Caller” 在不同的 Windows 语言版本上有翻译。在我的波兰系统上,它显示“Starszego typu obiekt wywołujący jądro”。

答案2

从开始菜单中,输入“性能信息和工具”。

单击“高级工具”,然后单击“生成系统健康报告”。它应该指出遗留驱动程序问题。

编辑:

也試一試powercfg -request

答案3

就我而言,Spotfiy 的行为不当。人们疯狂在他们的论坛上讨论这个错误。

解决方案:在让电脑进入睡眠/休眠状态之前退出 Spotify

我仍然质疑 Windows 为何允许一个编程不当的软件覆盖所有电源计划设置并创建唤醒计时器。微软应该承担部分责任。

编辑:似乎问题是3天前关闭所以我想我们应该很快就会得到修复。

答案4

我遇到了这个问题,并且 Legacy Kernal Caller 不断间歇性地回来,即使它已被证实在要忽略的事物列表中。

如果有人仍然遇到这样的问题,这里有一个批处理文件的链接+如何设置任务的说明.....两者都是学习曲线,我永远不想重复!!

https://github.com/richdyer2000/Sleepy

该批处理文件主要执行睡眠管理:

主循环运行约 300 秒(标准循环有 300 次迭代,ping 命令的计数为 2,用于控制持续时间),每次读取“powercfg -requests”的输出。如果它在一行中发现除“DISPLAY:”、“SYSTEM:”、...“ACTIVE LOCK SCRREN:”、“None.”或“[DRIVER] Legacy Kernel Caller”之外的任何内容,则主循环将重新启动。

如果到达主循环的末尾,则执行命令“rundll32.exe powrprof.dll,SetSuspendState 0,1,0”。在 Windows 10 上,似乎需要运行“powercfg -hibernate off”才能获得适当的睡眠状态,因此我将其包含在睡眠命令之前的代码中以确保万无一失。

相关内容