使用ACPI补丁将热重启修改为冷重启,解决从Windows重启后macOS下部分设备不可用
前言
本教程由交流群群友分享,具体出处不详,推测应该来自套陆的部落阁,如果不是欢迎认领。
部分黑苹果机型从 Windows 重启到 macOS 时,部分硬件会不工作,或无法正常工作,这个现象在笔记本机型上比较多见,主要和 Wifi 卡或蓝牙相关。本文的方法可以通过 OpenCore 的全局 ACPI Patch 能力,把设备热重启(等于按下重启键)修改为冷重启(等于关机再开机),以简单解决以上问题。
「注意」Mod 版 OpenCore 或 Clover 等不具备全局 ACPI 能力的引导工具,或不使用 OpenCore 引导其他系统则此方法可能无效。
准备工作
- MaciASL.app 或 Xiasl.app,用于修改 .aml 文件;
- 从 Windows 提取 ACPI 文件或使用 Xiasl.app 在 macOS 中提取,具体方法可参考下文:
如何提取系统的DSDT/SSDT文件?
具体步骤
在提取到的 ACPI 文件中找到 FACP.aml
下一步,用 MaciASL.app 或 Xiasl.app 打开该文件,按下 Command + F,查找 Value to cause reset,如下:
如图,只有一个结果,值具体释意如下:
- 02 = CPU Reset
- 06 = Hard Reset(热重启)
- 0E = Full Reset(冷重启,也就是完全重启)
所以我们的目标就是将上述位置的 06 修改为 0E,让 OpenCore 在启动时自动应用这个 ACPI 补丁,但并不是在这个文件中修改;下一步,注意看此行前面的内容,见图:
现在找到到文件最下方 Raw Table Data 部分,上图中的 080h 即对应这部分的 0080 这一行。接下来,由于我们需要把数据替换成 OpenCore 可以自动替换的 ACPI 补丁,需要找到一个标记位置,例如可以从 F9 0C 位置开始,如图:
所以我们的补丁内容就是:
F90C0000 00000000 06
#替换为
F90C0000 00000000 0E
最后,我们把这段内容做成 ACPI 补丁,加入到 EFI 的 config.plist 文件中:
OpenCore Configurator:
OCAuxiliaryTools:
PlistEdit Pro:
注意 Base(ACPI 表名)是 FACP,勾选 Enable(启用),保存后重启第二次即可看到效果(因为第一次重启该补丁还未生效)。
「注意」Mod 版 OpenCore 或 Clover 等不具备全局 ACPI 能力的引导工具,或不使用 OpenCore 引导其他系统则此方法可能无效。
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!
黑苹果星球 » 使用ACPI补丁将热重启修改为冷重启,解决从Windows重启后macOS下部分设备不可用
改成冷重启之后,从 windows 切换到 mac 系统,还是没有声音,只有断开电源重启才恢复正常
\"Value to cause reset\" 搜不到这个关键字啊
[080h 0128 1] Value to cause reset : FB. 这个FB代表的又是什么呢?