article_image

在我们日常使用电脑的过程中,难免会出现手头的活还没有干完,但还想保留现在的电脑状态等第二天接着干的情况。这个时候如果想保留当前的工作内容,通常会选择让电脑进入睡眠状态。

但你真的了解 Windows 的睡眠模式吗?这些睡眠模式之间到底有什么不同之处?能否做到真正的“开盖即用”?这篇文章就来讲讲 Windows 的睡眠模式这点事。

不同的睡眠状态

细心的人会发现,Windows 的电脑进入睡眠状态时的表现有所不同——

  • 台式机刚进入睡眠模式时,一碰鼠标屏幕又会亮起。
  • 带 RGB 灯效的电脑进入睡眠模式后,灯光却依然在闪烁。
  • 笔记本进入睡眠模式放进包里,拿出来又会听到风扇的嗡嗡声,屏幕却是黑的。
  • 有时候睡眠模式下的电脑又会“睡得很死”,鼠标键盘都无法激活,需要按开机键才能唤醒。
Alt text
睡眠模式

实际上,这些被统称为“睡眠状态”(Sleep Status),在 Windows 中一共有 6 种,由浅到深被分为 S0 到 S5 状态。严格意义上讲,只有 S1 到 S4 是睡眠和休眠状态。

  • S0 是待机状态,可以理解为开机且不做任何操作的状态就是待机。
  • S1 是睡眠状态,CPU 停止工作,其他部件在工作。
  • S2 是睡眠状态,CPU 关闭,其他部件在工作。
  • S3 是睡眠状态,CPU 关机,任务写入内存,内存继续工作。
  • S4 是休眠状态,硬件全部关闭,任务从内存转移到硬盘。
  • S5 是关机状态。

睡眠和休眠在中文中的意思很相近,其实看它们的英文名更容易理解,睡眠就是直白的 sleep,而休眠则是 hibernate,有冬眠的意思,因此休眠的程度是更深的。

还有一种混合睡眠(Hiber-sleep),是一种针对台式电脑的睡眠 / 休眠方式,混合的就是 “睡眠” 和 “休眠” 。背后的原理大致是结合两者的优点,同时把任务存储进内存和硬盘,达到功耗和响应速度兼顾的效果。

看完这几种状态的区别就可以理解它们的利与弊了。通俗的讲——睡的程度越深,功耗就越低,但唤醒的时间就越长。

我的电脑支持哪些睡眠模式?

在 CMD 中输入 powercfg /a ,就可以列出系统上的所有可用睡眠状态。

Alt text
我的电脑支持哪些睡眠模式

比如我这台电脑是自己组装的台式机,不支持 S1 和 S2 的睡眠状态,那实际上也只有 S3 睡眠和 S4 休眠可以选择了。

如何选择睡眠模式?

这几种模式中,我用的最多的是 S4 级别的休眠模式,也是我最推荐的模式。

首先是因为这几种模式下,开机都能完整还原休眠前的状态,而休眠模式最接近于关机,不产生任何功耗和噪音,代价只是一点点时间而已。

我们都知道,Windows 启动速度与硬盘读写速度密不可分,十几年前使用机械硬盘的 Windows XP 电脑开一次机要一两分钟,从休眠唤醒也需要一分多钟。而目前固态硬盘已经普及,电脑从关机到启动只有短短几秒的时间,所以从休眠模式唤醒的速度也大大提升了。睡眠模式并不能和休眠模式在启动时间上拉开差距。

因此,如果是我开头提到的那个“为隔天的工作保留任务进度”的需求,使用休眠模式再合适不过。

那么代价是什么?

休眠模式最大的代价就是需要你的硬盘中预留和内存大小一样的空间,来方便电脑将任务存储到硬盘中。

当你进入睡眠状态时,系统会自动将内容写入 C 盘根目录下名为 hiberfil.sys 隐藏文件中,这个文件会跟你内存大小(包括物理和虚拟内存)一致。启动后也不会自动删除这个文件。

如果你的 C 盘空间本来就紧张,你可以在开始菜单中搜索 “查看高级系统属性”,进入高级 > 性能设置 > 高级选项卡 > 更改虚拟内存,将 C 盘设为 “无分页文件”,并给其他盘分配虚拟内存。这样就可以有效减少休眠带来的硬盘空间不足的影响。

当然,如果你的其他盘读写速度不够,那启动速度也会受影响的,所以到底是用睡眠还是休眠,还是要结合实际情况来看。

如何打开休眠模式?

也许是因为睡眠状态更适合普通用户,Windows 将 S3 级别的睡眠作为了默认的睡眠模式,而休眠状态的按钮需要手动开启。

  1. 进入控制面板。
  2. 进入“电源选项”。
  3. 进入左侧的“选择电源按钮的功能”。
  4. 这里会显示“休眠”,勾选并保存修改。

这样休眠就会显示在关机按钮中了。

Alt text
如何启用休眠按钮

注 1:第一步中,Win 11 下取消了右键开始菜单中的控制面板入口,所以最快的方法是通过底部菜单栏中的搜索功能,搜索“控制面板”。

注 2:如果第四步的“休眠”按钮是灰色,需要先点击最上方的“更改当前不可用的设置”,获取管理员权限。

还有那些影响电脑睡眠的因素?

尽管睡眠模式的花样已经够多了,但除了睡眠模式本身,还有很多原因让睡眠模式的表现不同,有时候就像是睡眠模式失效了一般。

那么如何还我们一个清爽好用的睡眠模式呢?

离开模式捣的乱

我经常听到一些朋友抱怨 Windows 笔记本的睡眠模式不好用,甚至刚开始还好好的,一段时间后 “睡眠不了”,只能每次都关机了。

其实除了上面提到的这些睡眠状态,Windows 为了防止一些长期任务中断,又增加了一个睡眠体系之外的 “离开模式”。

即使你在开始菜单中点了睡眠按钮,由于某些软件还在运行,它们也会阻止电脑进入睡眠状态,于是电脑只会进入“离开模式”。

这个情况下,电脑只关了个屏幕显示,其他部分都在运行。鼠标一动屏幕就会亮起。由于这个模式的存在,所以有时候看上去就像 ”睡眠模式失灵了” 一样。

如何解决离开模式导致的问题?

解决这个问题的根本方法是找到那个软件并关掉自动启动,通常是下载软件、游戏加速器等。但如果找不到是哪个软件影响了睡眠,也有办法可以解决。

彻底关闭离开模式的方法是 控制面板 > 电源选项 > 平衡 - 编辑计划的设置 > 更改高级电源设置 > 睡眠,检查是否有 “允许离开模式策略” 这个选项。将其关闭就可以彻底解决这个问题。

Alt text
关闭离开模式

如果没有这一选项,需要在 CMD 中输入一段指令 powercfg -attributes SUB_SLEEP 25DFA149-5DD1-4736-B5AB-E8A37B5B8187 -ATTRIB_HIDE ,可以让这个选项显示出来。

硬件支持

上面这些睡眠状态都是 Windows 系统层面提供的功能。而睡眠模式的重点就是多大程度上操控硬件,因此睡眠模式能否被完整支持,还依赖于硬件和配件。不同的硬件厂商的驱动对睡眠模式的支持程度也不同。

哪些硬件可以唤醒电脑?

在 CMD 中输入 powercfg /devicequery wake_armed ,就可以找到所有可以唤醒电脑的硬件,通常是鼠标、键盘这些常规外设。

Alt text
哪些硬件可以唤醒电脑

列出所有支持唤醒的硬件

如果输入 powercfg /devicequery wake_programmable ,则能看到更大范围的 “可唤醒” 硬件清单,只是现在被禁用了。

Alt text
所有支持唤醒的硬件

关掉某些硬件唤醒权限

如果你只想让键盘才能唤醒休眠中的电脑,而不想让鼠标唤醒。那么可以在 “右键‘此电脑’” > 设备管理器 > 鼠标 > 属性 > 电源管理 这个位置,取消勾选“允许此设备唤醒计算机”。

除了这种情况外,有时候还会出现网卡阻止进入睡眠状态的情况。也可以通过这种方式进行关闭。

Alt text
关闭唤醒权限

小结

Windows 的睡眠模式设计远比我想象的要更复杂。回头想想,也许这种设计才能够最大程度支持用途不一的硬件和外设,还要经受各种软件和驱动的考验。正因如此一旦在睡眠模式上遇到问题,并不容易解决。因此我希望通过本文,能够帮助大家对它有更多的了解,也可以帮助遇到问题的朋友进行修复。


author_avatar

#UNTAG Developer