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

前言

最后更新:2021/8/31

OpenCore 引导黑苹果在修正复杂的系统功能或问题时,需要参考或直接修改使用系统的 DSDT 和 SSDT 文件,它们都是 ACPI 的一部分,笔者在新手名词解释的文章里简单讲解过,至于具体内容太过复杂这里不表。本文主要讲如何提取这些文件,从简单到复杂一共三种方式方法。

 

macOS 软件 QtiASL「推荐」

QtiASL 是一款黑苹果 ACPI 编译和反编译工具,功能比较丰富和强大,单窗口多标签操作,并且是跨平台的,拥有 Windows、Linux、macOS 版本,界面设计上比较符合国人操作思维,其它方面暂时没有发现什么问题。

运行软件后,点击左上角菜单中的“编辑”→“获取 ACPI 表”,或者直接按下 Command ⌘ + G(或 Windows 键 + G),软件会把提取到的所有 ACPI 表放到桌面,十分快速方便。

 

macOS 软件 DPCIManager

DPCIManager 是一款黑苹果工具,它可以提供基本 PCI 设备信息,提取系统 DSDT 等。

如上图所示,可直接提取系统 DSDT.aml 文件到你指定的位置。然后可以直接使用 MaciASL.app 进行编辑或分析。此方法比较快捷,但只能提取到 DSDT 一个文件。

 

引导工具 Clover

第二种方法是通过 Clover 引导工具,在下面这个界面进行:

上图是 Clover 的系统选择界面,因 Clover 有丰富的主题配置,这个界面不尽相同。在这个界面按下 F4 即可自动提取(笔记本注意也可能是 Fn + F4)。提取成功与否这个界面不会出现任何提示,确认你按下了 F4 即可。提取到的文件会自动存放到 /EFI/Clover/ACPI/Origin/ 目录。此方法可以提取到系统所有的 ACPI 表,包括 DSDT 和 SSDT。

但,既然咱们目前普遍使用 OpenCore 进行引导,再转回去用 Clover 确实也不方便。

 

Windows 下使用 AIDA64

第三种方法是在 Windows 中使用 AIDA64 软件进行提取。这个软件分为 Extreme 和 Engineer 两个版本,最常见的 Extreme 版笔者没找到 ACPI 提取功能(问号脸),经过一番搜索才弄明白原来有两种版本,孤陋寡闻了。

已有20187次阅读

直接安装运行 AIDA64,在如图所示位置依次单击工具 → ACPI 浏览器:

然后在弹出的窗口中点击“Save Table”,然后弹出的列表即是找到的 ACPI 表。

通常情况下,黑苹果只需要参考其中的 DSDT 表和十个 SSDT 表,在保存 SSDT 表的时候,注意改一下文件名,建议是 SSDT-0 到 SSDT-9,这样一共十个。

这样提取到的文件是 .bin 文件后缀,进入 macOS 后将文件后缀修改为 .aml 即可使用 MaciASL.app 直接打开查看和编辑。如果不放心也可以到 ACPI 网站下载 iasl 工具把 .bin 文件反编译为 .dsl 再进行查看和编辑。

如果你不知道怎么在 macOS 打开文件后缀编辑功能,打开访达,然后左上角偏好设置 → 高级,然后勾选“显示所有文件扩展名” 即可。

 

 

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

黑苹果星球 » 如何提取系统的DSDT/SSDT文件?

15 评论

  1. 我的笔记本用AIDA64扫出来的有24个ssdt,这个是哪里有不对吗?还有保存下来的 .bin文件直接改成 .aml就可以直接放进ACPI文件夹里用了吗?

    1. 每个厂家的不同产品编写的ssdt肯定是不一样的,有多少个这个不重要
      没记错的话windows下Intel有个iasl命令行工具可以批量把bin转换成aml
      你提取到的ssdt不需要再加载回系统,因为每次启动你的硬件都默认会加载它们
      提取的目的一般是查看和修正bug,要用OpenCore这类引导工具加载回去的话需要先drop掉原来的表

      1. 我是想要提取出来制作efi,提取出来多少个就放多少进去启用吗?

        1. 一般来说只需要DSDT这一个就行
          提取出来以后先到macOS里排错,因为macOS的ACPI标准比Windows严格很多
          拍错完成再加载到OpenCore,然后设置好drop掉原本的DSDT

  2. 用QtiASL提取出来的文件直接用还是再编译。提取了13个ssdt一个dsdt

    1. 一般就是做参考,因为系统启动的时候肯定会加载默认的这些表
      一些笔记本手动给dsdt做做排错可能会有用

      1. 台式机是可用可不用吗??

        1. 台式机一般用opencore自带的那几个就好

  3. 技嘉B365M-D3H I5 8400提取到12个SSDT。

  4. 华硕无双笔记本i5 12500H,AIDA提取SSDT共14个,DSDT无法提取,提示 ACPI DSDT is too large

    1. 12代笔记本提取了做什么用呢

    2. 大佬我也是无双,请问您安装成功了吗

  5. 我的H610M-a,ssdt文件有11个

  6. 请问一下,我的ssdt文件只有9个会不会有影响啊

    1. 一般情况下不止9个,应该是提取的方法途径存疑

发表回复