DSDT SSDT 简单提取修复

DSDT SSDT 简单提取修复

开工

准备工作

首先在 CLOVER 引导界面按 F4 或者 FN + F4 提取原始表单,然后进入 Mac ,利用 Clover Configurator 挂载ESP分区,提取的表单就在 /EFI/CLOVER/ACPI/origin ,将 origin 整个拷贝到桌面,并删除 origin 中除 DSDT SSDT 以外的所有文件

然后下载要用到的工具

1
2
iasl:https://bitbucket.org/RehabMan/acpica/downloads/
MaciASL:https://github.com/acidanthera/MaciASL/releases

将 iasl 放到 /usr/bin

1
$ sudo cp /path/to/iasl /usr/bin/

然后安装 MaciASL 并添加补丁源:

Rehabman 补丁源:

1
2
Name:RehabMan Laptop 
URL:http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master

打开终端,输入:

1
cd ~/Desktop/origin

回车进入 origin 目录然后输入:

1
iasl –da –dl *.aml

回车

170830-6

170830-7

这时打开桌面的 origin 文件夹会发现多出了很多 .dsl 文件,我们要用到的就是这些文件

170830-8

先不要急,终端继续执行

1
rm –rf *.aml

回车

然后执行:

1
rm –rf *x.dsl

回车,这时就会发现终端只剩下了不带 x 的 dsl 文件

170830-9

开始操作

然后用 MaciASL 打开 DSDT.dsl

170830-10

点 Compile 编译后会弹出错误的窗口:

170830-11

点这些错误就会定位到错误的代码位置

这里说一下常见的错误修复方法:

1、 PARSEOP_ZERO 错误,定位后会发现一堆 zero 代码,直接将他们删掉即可
2、 Unexpected ‘}’ 错误:

定位后是这样:

170830-12

我们会发现这个错误位于 ADBG 的方法下,这时只需打个补丁即可:

点Patch

170830-13

找到 Fix ADBG Error 点一下,然后 Apply 应用即可,这时我们会发现再编译就没有错误了(警告可以不用管),然后保存成aml文件

170830-14

170830-15

170830-16

Save 即可,其他 SSDT 文件也是一样的操作

修改完成

在修改完所有表单的错误并保存成aml格式后,将这些 aml 文件放到 /EFI/CLOVER/ACPI/patched 就可以了

完工

-------------本文结束感谢您的阅读-------------
请站长喝杯咖啡吧´◡`