如何将 Mac 置入睡眠状态或唤醒 Mac?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将 Mac 置入睡眠状态或唤醒 Mac?相关的知识,希望对你有一定的参考价值。
参考技术A 将 Mac 置入睡眠状态或唤醒 Mac不使用 Mac 时,您可以让它进入睡眠状态以节约能量。当您的 Mac 处于睡眠状态时,它仍然打开,但是消耗很少电量。Mac 从睡眠中唤醒比关机后重新开机所花的时间要少。
将 Mac 置入睡眠状态
若要将 Mac 置入睡眠状态,请执行以下任一项操作:
1.选取苹果菜单 >“睡眠”。
2.在 Mac 笔记本电脑上,合上显示屏。
3.如果设置了键盘上的相应选项,请按下 Option-Command-光盘推出键 。
【提示】如果 Mac 配备了触控栏,您可以将“睡眠”按钮添加到功能栏。
1.选取苹果菜单 >“系统偏好设置”,点按“键盘” 。
2.点按“键盘”按钮,然后点按“自定功能栏”。
3.将“睡眠”按钮拖移到触控栏上。
将 Mac 从睡眠状态唤醒
若要唤醒 Mac,请执行以下任一项操作:
1.按下键盘中的某个键,或点按鼠标或触控板。
2.在 Mac 笔记本电脑上,打开显示屏。
出于安全性考虑,您可以设定选项以在唤醒 Mac 后需要输入密码。您可以使用 Apple Watch 解锁 Mac 或使用触控 ID 而不是输入密码。
MAC实现睡眠和休眠唤醒
因为苹果默认为休眠文件加密,Clover 是无法解密的。所以需要经过一些设置才能破除这无节操的加密文件sleepimage。在这之前不得不提下EmuVariableUefi-64.efi 这个驱动。我们知道UEFI 主板一般都支持NVRAM 保存功能,也就是保存亮度,音量等信息,这样开机后就能还原到和关机前一样的状态。苹果机器也是如此。但是一些主板是没有NVRAM 功能的,这时候EmuVariableUefi 就派上用处了(Emulated Variable 模拟变量)。它能在内存中模拟NVRAM 中所有变量并保存到内存里,在关机时写入到硬盘上,也就是大家熟悉的Nvram.plist 文件。但是这根本不是苹果所设计的。在休眠过程中,内存是处于断电状态,也就是说内存中模拟的NVRAM 将会消失。所以为了避免这个问题,我强烈建议大家能删除EmuVariableUefi 的尽量删除,以达到更接近苹果机的方式。
下面言归正传,破解休眠加密的方法因EmuVariableUefi 存在与否略有不同。
如果你的机器不需要EmuVariableUefi,终端输入:
- sudo pmset -a hibernatemode 57
*这是最好的模式,是带休眠预览的。
如果你的机器需要EmuVariableUefi,终端输入:
- sudo pmset -a hibernatemode 29
*无休眠预览。
可能有些人好奇上面的数字是怎么来的,我就顺便介绍些hibernatemode 每个数字的意义吧。首先hibernatemode 长度是一个字节,也就是8个2进制数字组成。从苹果官网可以查到某些数字的定义,也就是:
- ____ ___1 (bit 0) 开启休眠,如果为0则是睡眠。
- ____ __1_ (bit 1) 和bit 0 一起使用。当休眠开启后,系统会先进行睡眠,这样能够快速唤醒。但当电量低于临界值时自动断电休眠。这也是苹果默人的方式,安全休眠模式。
- ____ 1___ (bit 3) 利用动态空间管理去除非活跃空间进行休眠,占用更少的空间。
- ___1 ____ (bit 4) 利用动态空间管理去除更多的空间进行休眠,占用更少的空间。
后来大神们又从kernel源代码中发现了当hibernatemode 含有0x20(也就是bit 5)时,kernel 才会设定boot-switch-vars。休眠文件加密则是由bit 2 控制,设为1 时会取消加密。
现在我们就可以分析上面hibernatemode 数字的意义了。29 = 0b0001 1101,其中bit 0,2,3,4 全部为1,也就是直接休眠(而不是事先睡眠),并尽量减少睡眠文件的大小,使用不加密的格式。这样Clover 在唤醒时就能直接读取休眠文件,从而实现唤醒。但是缺点是Clover 无法支持休眠预览功能。而boot-switch-vars 必须由EmuVariableUefi 驱动管理,不是kernel,所以bit 5 是0。
推荐的57 = 0b0011 1001,bit 0,3,4,5 设定为1,这样的好处是boot-switch-vars 交给kernel 而不是Clover。休眠文件也可以是加密的,因为唤醒由kernel 完成。
推荐的59 = 0b0011 1011,bit 0,1,3,4,5 设定为1,这样的好处是boot-switch-vars 交给kernel 而不是Clover,先是睡眠,在经过一段时间之后休眠。休眠文件也可以是加密的,因为唤醒由kernel 完成。
在10.11.x,pmset不能直接修改hibernatemode,如果想自由切换hibernatemode,直接修改/Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist,重新启动即可。
在10.12.x,pmset不能直接修改hibernatemode,如果想自由切换hibernatemode,直接修改/Library/Preferences/com.apple.PowerManagement-xxxxxxxxxxx.plist,重新启动即可。
到此为止休眠部分结束!
以上是关于如何将 Mac 置入睡眠状态或唤醒 Mac?的主要内容,如果未能解决你的问题,请参考以下文章