黑苹果笔记本睡眠设置
首先笔记本的睡眠还是挺麻烦的,因此之前一直没有去试图解决这个问题,这个周末正好没有安排,动手搞起来
主要的参考是 https://github.com/zx0r/HackintoshDevBox/blob/main/PowerManagement/README.md
同时参考了之前黑果小兵分享的 XPS9300 的 EFI 配置中关于睡眠的配置。
- BIOS/UEFI 设置
推荐设置:
- ErP Ready: 禁用
- Wake on LAN: 禁用
- Wake on USB: 禁用
- HPET: 启用高精度事件计时器
- ACPI S3: 启用挂起到RAM(S3睡眠)
-
Opencore 替换为 Debug 版本
同时在 Misc -Debug 中设置如下
-
Kext 中增加 HibernationFixup.kext
-
config 中 NVRAM 的 boot-args 中增加 hbfx-ahbm=7 hbfx-patch-pci=XHC -hbfxbeta
在 Misc-boot 段设置如下
-
Mmio白名单地址,在上述设置完成后,重启清理 NVRAM,使用 opencore debug 版本引导查看 mmio
可以看到上述的 mmio 有一个地址,填写到 config 中, 采用 hackintool 计算器转换上述的 16 进制地址到 10 进制
-
睡眠模式通常有0,25, 3 三种模式,简单的理解为 0 为禁用深度休眠,25 用作笔记本安全睡眠,ram 保持供电,3 一般是台式机使用,ram 也断电。这里直接搬用了 脚本过来。
-
设置为 0 command
#!/bin/sh # function start() { # echo ""; cat << XXX (一) 恢复默认的电源参数 (二) 交流电源和电池电源:【禁止休眠】 (1) 设置hibernatemode=0 (2) 设置standby=0 (3) 设置autopoweroff=0 (4) 设置womp=0(禁用【网络远程唤醒】) (5) 设置proximitywake=0(禁用【同一网络下的相同 iCloud 设备唤醒】) (6) 设置powernap=0(禁止【电能小憩】) (7) 设置ttyskeepawake=0(禁用【远程用户正在活动时防止Mac进入睡眠】) (8) 设置tcpkeepalive=0(禁用【合盖时保持网络连接】) (9) 删除休眠文件:/private/var/vm/sleepimage;创建休眠文件夹,防止再次自动生成休眠文件 XXX read -p "按回车键执行" logo case
*** QuickLaTeX cannot compile formula: logo in # *) ##恢复默认的电源参数 sudo pmset restoredefaults ##交流电源和电池电源 sudo pmset -a hibernatemode 0 sudo pmset -a standby 0 sudo pmset -a autopoweroff 0 sudo pmset -a womp 0 sudo pmset -a proximitywake 0 sudo pmset -a powernap 0 sudo pmset -a ttyskeepawake 0 sudo pmset -a tcpkeepalive 0 ##删除休眠文件 sudo rm -rf /private/var/vm/sleepimage sudo mkdir -p /private/var/vm/sleepimage echo "执行完毕......"; exit 0 ;; esac } # start #</code></pre> </li> <li> 设置为25 的command <pre><code class="language-bash">#!/bin/sh # function start() { # echo ""; cat << XXX (一) 删除之前创建的休眠文件夹 (二) 恢复默认的电源参数 (三) 交流电源和电池电源: (1) 设置proximitywake=0【禁止同一网络下的相同 iCloud 设备唤醒】 (2) 设置powernap=0【禁止电能小憩】 (3) 设置ttyskeepawake=0【禁止远程用户正在活动时防止Mac进入睡眠】 (4) 设置tcpkeepalive=0【禁止合盖时保持网络连接】 (5) 设置womp=0【禁止网络远程唤醒】 (四) 电池电源:【允许休眠】 (1) 设置hibernatemode=25 (2) 设置standby=1 (3) 设置autopoweroff=1 (五) 交流电源:【禁止休眠】 (1) 设置hibernatemode=0 (2) 设置standby=0 (3) 设置autopoweroff=0 XXX read -p "按回车键执行" logo case *** Error message: You can't use `macro parameter character #' in math mode. leading text: # You can't use `macro parameter character #' in math mode. leading text: # You can't use `macro parameter character #' in math mode. leading text: ## Unicode character 恢 (U+6062) leading text: ##恢 Unicode character 复 (U+590D) leading text: ##恢复 Unicode character 默 (U+9ED8) leading text: ##恢复默 Unicode character 认 (U+8BA4) leading text: ##恢复默认 Unicode character 的 (U+7684) leading text: ##恢复默认的 Unicode character 电 (U+7535) leading text: ##恢复默认的电 Unicode character 源 (U+6E90) leading text: ##恢复默认的电源 Unicode character 参 (U+53C2) leading text: ##恢复默认的电源参 Unicode character 数 (U+6570)
logo in
#
*)
##删除之前创建的休眠文件夹
sudo rm -rf /private/var/vm/sleepimage
##恢复默认的电源参数
sudo pmset restoredefaults
##交流电源和电池电源
sudo pmset -a proximitywake 0
sudo pmset -a powernap 0
sudo pmset -a ttyskeepawake 0
sudo pmset -a tcpkeepalive 0
sudo pmset -a womp 0
##电池电源
sudo pmset -b hibernatemode 25
sudo pmset -b standby 1
sudo pmset -b autopoweroff 1
##交流电源
sudo pmset -c hibernatemode 0
sudo pmset -c standby 0
sudo pmset -c autopoweroff 0
echo "执行完毕......";
exit 0
;;
esac
}
#
start
#
-
可以直接复制上述命令,存储为command 文件,双击,回车输入密码后执行
-
我这里执行25.command