Windows 10在设置时间之前休眠


39

我的计算机在屏幕和设置的睡眠时间之外入睡。我确保将屏幕保护程序设置为无,并且电源选项和高级设置与睡眠设置匹配。无论如何,尽管我将睡眠时间设置为1小时,但它将在大约2-4分钟后进入睡眠状态。如果我重新启动,这将暂时解决问题,直到计算机正常睡眠或启动睡眠。之后,它将恢复为简短的睡眠模式。在安装Windows 10之后,这种情况开始发生。此外,我使用的无线鼠标和键盘(Microsoft&Logitech)已关闭“允许该设备唤醒您的PC”选项,但同样的事情也会发生。

这台计算机是由第三方制造的,但是我通过命令行进行了检查,并且主板是英特尔台式机DP55WB媒体系列microATX。

关于我应该从哪里开始寻找的任何线索?


如果您指出您正在谈论的计算机类型和型号,将很有帮助。即使台式机主板也可以具有一些可配合使用或更改电源计划的软件。 superuser.com/questions/984881/… 提出了与此类似的问题。
Psycogeek

我没有品牌和型号,但我想出了主板并将其添加到问题中。希望有帮助。
user2168046

1
也请检查这些较旧的版本,superuser.com / questions / 556883 /…和superuser.com/questions/124772/…,因为它们至少具有答案,即使是较旧的操作系统也要寻找的东西。另一个想法是创建一个自己的自定义电源配置文件,从他们所谓的高性能配置文件开始,该配置文件将在注册表中放置一个新项目,并以无睡眠类型的配置文件开始。检查以查看何时应用了哪种功率配置文件
Psycogeek 2015年

1
@Facebook授予现有答案
Martheen Cahya Paulo

1
@MartheenCahyaPaulo感谢您的赏金,这是一个惊喜:)
用户

Answers:


47

系统无人值守睡眠超时

Power Options控制面板中有一个名为的隐藏设置System unattended sleep timeout。默认情况下,它设置为两分钟,并且在控制面板中不可见。据我所知,需要进行注册表调整以使其可见。

调整涉及在以下位置将“属性”键的值从1更改为2:

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power \ PowerSettings \ 238C9FA8-0AAD-41ED-83F4-97BE242C8F20 \ 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0]

将值更改回1将重新隐藏电源选项。

进行上述注册表调整后,打开“电源选项”控制面板,现在应该有一个System unattended sleep timeout设置:

在此处输入图片说明

重新启动可能是个好主意。

您可以在此处了解更多信息(如果需要,还可以下载.reg补丁文件):http : //www.sevenforums.com/tutorials/246364-power-options-add-system-unattended-sleep-timeout.html

控制台锁定显示关闭超时

还有一个有点相关的设置Console lock display off timeout,它也需要调整注册表才能启用。我认为没有必要进行此调整来解决我的问题,但也许可以。调整再次涉及将“属性”键的值从1更改为2,这次是在以下位置:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power \ PowerSettings \ 7516b95f-f776-4464-8c53-06167f40cc99 \ 8EC4B3A5-6868-48c2-BE75-4F3044BE88A7

您可以在此处了解更多信息:http : //www.eightforums.com/tutorials/8267-power-options-add-console-lock-display-off-timeout.html



1
如果找不到其他解决方案,可以尝试这些方法。这些似乎解决了与我正在处理的问题不同的问题。它不是监视器,并且我已禁用了锁定屏幕。至于第一个调整,计算机没有唤醒空闲状态,在任何空闲情况下计算机都将进入睡眠模式。播放媒体可以防止这种情况,因此我知道电源设置仍在起作用。
user2168046'1

6
很难理解是什么促使Microsoft具有隐藏的 “ 2分钟无人值守”设置。实际上,也很难理解为什么电源设置如此复杂(并分布在MS生成配置小部件和注册表编辑的不同版本中)。我发现这种东西令人难以置信,要弄清它们很乏味。在过去的10年中,Apple的设置变化很小。而且我怀疑Linux的电源设置也更简单。
JL Peyret

1
这解决了我的问题。谢谢。这就是让我发疯的Windows知识。我什么都没改变,但是这发生了。为什么呢 不知道 它会再次发生吗?也许。我会记得这个晦涩的修补程序吗?可能不会。加。
菲尔(Phil)

2
@JLPeyret根据Microsoft的文档,仅当系统自动唤醒而不是用户唤醒时,才应使用无人值守的睡眠超时,而不是正常的睡眠超时。例如,如果系统因预定事件而被唤醒,则默认情况下两分钟后它将重新进入睡眠状态。但是由于某种原因,似乎该值甚至用于某些计算机上用户启动的唤醒。
Vaelus

4

为了进一步解决问题,以防万一提供的所有其他解决方案无法使Windows机器进入省电或睡眠模式,我将提供一种变通办法解决方案,当无法确定其他设置来解决该问题时,该解决方案对我有用除此以外。


防止Windows休眠

注意: 如果需要,您仍然可以设置任何其他省电保护设置(我没有提到)

创建脚本目录

  1. 如果需要,创建一个C:\Scriptsand C:\Scripts\Temp文件夹,将ScriptDir变量值更改为其他值,并使用以下命令行逻辑为您完成此操作

    • 将其复制并粘贴到命令行中,以这种方式创建文件夹

      SET ScriptDir=C:\Scripts
      IF NOT EXIST "%ScriptDir%" MD "%ScriptDir%"
      
    • 需要将以下批处理脚本复制到C:\Scripts文件夹的根目录中


创建批处理脚本

  1. 这是您将创建和/或复制到您决定使用的脚本目录中的批处理脚本,以便您可以使用Task Scheduler自动执行脚本。

    • 本质上,此脚本使用sendkeys模拟空格键的按下8次,但我将逻辑放在FOR / L中以减少所需的脚本逻辑。

    • @ECHO ON
      
      IF NOT EXIST "%~dp0Temp" MD "%~dp0Temp"
      SET TempVBSFile=%~dp0Temp\~tmpSendKeysTemp.vbs
      IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
      
      FOR /L %%A IN (1,1,9) DO (
        IF %%A==1 ECHO Set WshShell = WScript.CreateObject^("WScript.Shell"^)>>"%TempVBSFile%"
        IF NOT %%A==9 ECHO Wscript.Sleep 500 >>"%TempVBSFile%" & ECHO WshShell.SendKeys " ">>"%TempVBSFile%"
      )
      EXIT
      
    • 使用“ 计划批处理脚本”部分中指定的设置,通过“ 任务计划程序”计划任务


调度批处理脚本

注意: 打开Task SchedulerTaskschd.mscRun中键入,然后按Enter

  1. 从“ 常规”选项卡中,您将要确保选中了“是否运行用户是否已登录”“具有最高特权的运行”,并且还可以使用具有本地管理员特权的凭据来运行任务。

    • 在此处输入图片说明
  2. 在“ 触发器”选项卡中,定义“ 触发器”,并确保设置选项:

    • 开始任务:值为On a schedule
    • 开始:时间值为12:00:00 AM
    • 设置:Daily值检查
    • 重复发生: 具有1一天的价值
    • 重复执行每个任务:使用一个10 minutes
    • 持续时间:具有Indefinitely
    • Enabled选项应检查

    • 在此处输入图片说明

  3. 在“ 操作”选项卡中,定义“ 新建”操作,并确保设置选项:

    • 动作:值为Start a program
    • 程序/脚本:具有批处理脚本的完整路径的值,即C:\Scripts\WakeUpWindows.cmd
    • 开始于(可选):带有脚本目录的值,即 C:\Scripts

    • 在此处输入图片说明

  4. 确保在“ 条件”选项卡中设置和/或选中启用选项:

    • 仅当计算机处于以下状态时才启动任务:应检查并具有以下值:10 minutes

      • 仅在计算机闲置10分钟后才执行脚本。如果计算机没有闲置10分钟,则可能有人使用了该计算机,并且该进程不需要运行。
    • 等待空闲:值为5 minutes

      • 如果闲置10分钟条件为假,这将告诉它继续检查最多5分钟,如果10分钟闲置条件在该5分钟窗口内变为true,则仍然执行脚本。
    • Stop if the computer ceases to be idle选项应检查

      • 如果为某个任务选择了“如果计算机停止处于空闲状态则停止”条件,并且该任务在计算机处于空闲状态时正在运行,则当计算机停止处于空闲状态时该任务将停止运行。

        资源

    • Wake the computer to run this task选项应检查

    • 在此处输入图片说明

    运行屏幕保护程序时,计算机被视为处于空闲状态。如果没有运行屏幕保护程序,则在过去十五分钟的90%时间内,如果有0%​​的CPU使用率和0%的磁盘输入或输出,则认为计算机处于空闲状态。在这段时间内。一旦Task Scheduler服务检测到计算机处于空闲状态,该服务仅等待用户输入以标记空闲状态的结束。

    资源


其他省电设置

  1. 从提升的命令提示符运行POWERCFG -H OFF以禁用休眠,以防万一尚未被禁用。

  2. 复制control /name Microsoft.PowerOptions“运行”中,然后按Enter

    在此处输入图片说明

  3. 单击“ 更改计划设置”,以选中任何“ 首选计划”以打开“ 编辑计划设置”屏幕。

    在此处输入图片说明

  4. 确保“使计算机进入睡眠状态”值设置为“ 从不”,然后单击“ 更改高级电源设置”选项

    在此处输入图片说明

  5. 在“ 高级设置”中找到并展开“硬盘”,然后将“ 设置后关闭硬盘”(分钟)设置为“ 从不”

    注意:请确保在适用的情况下应用保存更改

    在此处输入图片说明

  6. 打开设备管理器devmgmt.msc“运行”中键入,然后按Enter

  7. 在“ 设备管理器”中,展开“ 网络适​​配器”,右键单击主NIC(如果希望一对一,则全部单击),然后选择“ 属性”。在“ 电源管理”选项卡中,取消选中“ 允许计算机关闭设备以节省电源”选项

在此处输入图片说明


更多资源


因此,这将使计算机始终保持正确状态吗?我喜欢我得到赏金的答案,他们指出了原因,并且PC闲置时仍可以进入睡眠状态(至少直到下个季节更新时,注册表项会更加晦涩)。咖啡因与您的咖啡因使用类似的方法,他们使用F15而不是空格键来减少入侵,他们提到它甚至可能会干扰Google Docs&Putty。但是,对于如此详细的答案,您感到很荣幸。
Martheen Cahya Paulo '10

@MartheenCahyaPaulo如果其他所有方法均失败,则只需使用此方法,也许它可以使用100%Windows本机解决方案解决您的问题。尽管您对注册表项是正确的,但今天的情况可能有所不同,或者与明天有关,因此我将提供详细的解决方法。同样,我还有另外两个答案,它们的内容相似,不久以后我还将使用其中的一些信息进行更新-很高兴我遇到了这个问题。
Pimp Juice IT

0

仅出于完整性考虑,有时此问题的根源是自定义电源计划设置。

要通过重置然后重新配置电源设置来修复它,您需要:

  1. 左窗格中的开始菜单-> 设置 -> 系统 -> 电源和睡眠
  2. 在右窗格中,单击“ 其他电源设置”
  3. 选择选择何时关闭显示屏
  4. 单击更改高级电源设置
  5. 单击恢复计划默认值

Power Troubleshooter也可以通过以下
菜单提供帮助:开始菜单 -> 故障排除 -> 改善电源使用 -> 电源


-2

将其放在这里,供下一个像我这样的人搜索,然后在此处结束。...编辑注册表以启用“休眠无人值守睡眠超时”设置(如上所述),然后将该设置更改为我通常的睡眠超时使用对我有用。我在这里找到了详细的说明:https : //appuals.com/windows-10-sleeps-after-1-4-minutes-of-inactivity/


4
您应该引用并引用您的参考链接,因此所有相关信息都包含在答案的正文中。
拉姆猎犬,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.