1.初级阶段,解决因硬件的唤醒事件
powercfg -lastwake
查看上次唤醒电脑的设备
哪些硬件能唤醒电脑?
powercfg /devicequery wake_armed
列出现在可以唤醒电脑的所有硬件设备,可以看到现在键盘能唤醒
powercfg /devicequery wake_programmable
列出全部有能力唤醒电脑的硬件设备,这个范围更大,可以看到也包含了键盘。有能力唤醒,但现在可能不被允许唤醒,你可以允许或禁止这几个设备唤醒电脑,方法如下
如何允许和禁止硬件唤醒电脑?
powercfg /deviceenableawake “HID-compliant mouse (003)”
允许鼠标唤醒电脑
powercfg /devicedisablewake “HID-compliant mouse (003)”
这两条允许和禁止命令与”右键开始菜单-设备管理器-鼠标-电源管理-取消勾选允许鼠标唤醒电脑”的效果是一样的,有的usb无线鼠标在拔插usb接收器后需要再次取消允许唤醒,并且更换usb插口似乎会被识别成不同鼠标,也需要重新设置。网卡同理。有的笔记本上禁止键盘唤醒后依然可以按任意键唤醒,也许需要进入bios设置。
我的电脑支持睡眠和休眠吗?
powercfg -a
查看电脑可用的睡眠类型,以及说明为什么一些睡眠类型不可用。S1是轻度睡眠,S2是更深,S3是最深度睡眠
S0 正常。S1 CPU停止工作。唤醒时间:0秒。S2 CPU关闭。唤醒时间:0.1秒。S3 除了内存外的部件都停止工作。唤醒时间:0.5秒。S4 内存信息写入硬盘,所有部件停止工作。唤醒时间:30秒。(休眠状态)S5 关闭。
powercfg /devicequery wake_from_S3_supported
列出所有支持从最深睡眠状态唤醒电脑的设备
powercfg /devicequery wake_from_any
列出所有支持从任何睡眠状态唤醒电脑的设备
powercfg /devicequery S3_supported
列出支持最深度睡眠的设备,该设备不一定能唤醒电脑
powercfg /devicequery S4_supported
列出支持休眠的设备
powercfg /devicequery all_devices
列出所有设备(较长)
2.中级阶段,晚上莫名自启,解决因自动更新、计划任务的唤醒
电脑有没有计划任务?
powercfg -waketimers
下次可能会被什么计划任务唤醒,比如自动更新,也可以在计划任务里查看
Windows徽标键 S,搜索打开计划任务,进入相关目录即可
如何禁止计划任务和定时器唤醒?
右键任务栏右下角电源图标-电源选项-更改计划设置-更改高级电源设置-睡眠-允许使用唤醒定时器,使用电池和接通电源都可以根据需要设置为禁用
如果已经禁用了定时器唤醒,就不会被上述计划任务唤醒
3.高级阶段,想睡睡不了,解决软件、驱动阻止系统睡眠
首先确认迅雷9的离开模式是否关闭,若未安装迅雷,将注册表的AwayModeEnable设置为0,确保离开模式处于关闭状态
注册表位置:
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
关键:powercfg /requests
查看哪些进程、服务、驱动有电源需求。列表中的程序、驱动会阻止计算机进入睡眠。需要重写(删除)电源需求,方法如下。
格式:powercfg /requestsoverride 请求者类型 请求者名称 电源需求类型(可写1到3个需求类型)
举例:powercfg /requestsoverride PROCESS “chrome.exe”system
此命令会忽略掉chrome阻止睡眠的请求,名称加引号更保险。
如果你遇到下面这种带括号很长一串的情况
SYSTEM:[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_103C84DA&REV_1000\4&306c1263&0&0001)音频流当前正在使用中。
对应命令是:
powercfg /requestsoverride DRIVER “HDAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_103C84DA&REV_1000\4&306c1263&0&0001” SYSTEM
或:powercfg -REQUESTSOVERRIDE DRIVER “Realtek High Definition Audio” SYSTEM
如果还是不能睡眠,那就需要更新音频驱动
恢复电源需求,让其继续阻止电脑进入睡眠:
powercfg /requestsoverride PROCESS chrome.exe
如何填写请求者类型?
请求者类型3种,SERVICE PROCESS DRIVER (服务、进程、驱动),出现在powercfg /requests运行后的SYSTEM、Display、Awaymode等下方,显示为[Driver]、[PROCESS]、[SERVICE]。
如何填写电源需求类型?
电源需求类型4种,Display System Awaymode EXECUTION(显示、系统、离开模式、执行),一般3个请求者类型(SERVICE PROCESS DRIVER)都是出现在powercfg /requests运行后的SYSTEM下方,Display和Awaymode下方很少见。所以电源需求类型通常只填system1个,填3个(system display awaymode)也可以,填三个感觉似乎重写(删除)得更全面,但其实没意义,运行powercfg /requests之后,观察Display、System、Awaymode、EXECUTION哪个下面有就写哪个,若同时出现在Display和System下面就写Display和System。
Display电源需求:即使长时间没有活动,也会请求让显示屏保持打开的状态,如果显示器已经关闭,则“Display电源需求”会打开显示器,不会自启动屏保,启动的屏保会关闭,已锁定系统的继续锁定,没锁定的不锁定。
System电源需求:请求电脑一段时间不活动后仍然保持运行,而不是进入睡眠状态。很多程序和驱动都是采用的system电源需求。
Awaymode电源需求:会让系统进入离开模式而不是睡眠模式。在离开模式下,系统会响应原来的操作,并且继续运行,但会关闭音频和视频来给人一种睡眠的感觉。迅雷开启离开模式就是这个效果(但是迅雷是直接开启系统的离开模式,所以不会显示在powercfg /requests列表里)。
注:如果powercfg /requests列出的有Printer(打印机),一般是有打印队列,也许暂停了,等待打印完成或者将打印任务移出队列即可。也可以输入powercfg -requestsoverride service spoolsv.exe SYSTEM来删除打印机的电源需求,但这样也许打印机在工作时电脑就进入了睡眠,从而中断打印。
powercfg /requestsoverride
不加后面的参数是直接查看刚刚已经重写(删除)过电源需求的进程、服务、驱动
也可在注册表里查看:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerRequestOverride
这里是重写过的电源需求,删除chrome.exe之后Chrome又会阻止系统进入睡眠
有时电脑会在两分钟内黑屏睡眠,这是微软的隐藏设置
在无人参与空闲超时后进入睡眠状态:
微软希望如果系统因远程网络唤醒(Wake on Lan)或触发了定时器唤醒,系统就会在120秒内睡眠,而不是自定义的时间后睡眠。
官方说明:docs.microsoft.com/zh-c
使用Powercfg删除此隐藏设置:
powercfg -attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 ATTRIB_HIDE
使用Powercfg添加此隐藏设置:
powercfg -attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 -ATTRIB_HIDE
修改无人参与空闲超时后进入睡眠的时间为36000秒,默认120秒:
使用电池:
powercfg /SETDCVALUEINDEX SCHEME_CURRENT 238C9FA8-0AAD-41ED-83F4-97BE242C8F20 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 36000
插电源:
powercfg /SETACVALUEINDEX SCHEME_CURRENT 238C9FA8-0AAD-41ED-83F4-97BE242C8F20 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 36000
powercfg /batteryreport
会生成一份笔记本电池使用报告,估计了电池一次性可用时间和寿命
位置在 C:\WINDOWS\system32\battery-report.html
参考链接:
微软官方文档:Powercfg命令参数Powercfg command-line options
三种电源请求(Display System Awaymode)的简要说明:PowerSetRequest function Parameters
三种电源请求(Display System Awaymode)的区别详细说明:Power Request Types: What’s the difference between Display, System, Awaymode. (powercfg)
切换成中文,不过中文把睡眠错误翻译成了休眠:
疑难杂症★有求必应电脑|网络|软件|系统|机房|监控IT信息化·集成部署·互联网云办公·优化提速
IT外包★网管服务WiFi优化·网络提速·电脑加速·系统激活·软件安装·软件修复·游戏加速·硬盘分区·驱动安装·攒机推荐·设备选型·设备调试·机房建设·安防监控·综合布线·系统集成·网络部署等全方位IT顾问咨询服务……