使用ACPI补丁将热重启修改为冷重启,解决从Windows重启后macOS下部分设备不可用

前言

本教程由交流群群友分享,具体出处不详,推测应该来自套陆的部落阁,如果不是欢迎认领。

部分黑苹果机型从 Windows 重启到 macOS 时,部分硬件会不工作,或无法正常工作,这个现象在笔记本机型上比较多见,主要和 Wifi 卡或蓝牙相关。本文的方法可以通过 OpenCore 的全局 ACPI  Patch 能力,把设备热重启(等于按下重启键)修改为冷重启(等于关机再开机),以简单解决以上问题。

「注意」Mod 版 OpenCore 或 Clover 等不具备全局 ACPI 能力的引导工具,或不使用 OpenCore 引导其他系统则此方法可能无效。

 

准备工作

  • MaciASL.appXiasl.app,用于修改 .aml 文件;
  • 从 Windows 提取 ACPI 文件或使用 Xiasl.app 在 macOS 中提取,具体方法可参考下文:
如何提取系统的DSDT/SSDT文件?

如何提取系统的DSDT/SSDT文件?

前言 最后更新:2021/8/31 OpenCore 引导黑苹果在修正复杂的系统功能或问题时,需要参考或直接修改使用系统的 DSDT 和 SSDT 文件,它们都是 AC...

 

具体步骤

在提取到的 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 引导其他系统则此方法可能无效。

 

 

0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 使用ACPI补丁将热重启修改为冷重启,解决从Windows重启后macOS下部分设备不可用

3 评论

  1. 改成冷重启之后,从 windows 切换到 mac 系统,还是没有声音,只有断开电源重启才恢复正常

  2. \"Value to cause reset\" 搜不到这个关键字啊

  3. [080h 0128 1] Value to cause reset : FB. 这个FB代表的又是什么呢?

发表回复