有条件的用户最好还是制作自己的专用文件
纯粹记录,按以下步骤进行
开机到Clover引导界面,按F4保存原始DSDT文件
拷贝EFI-Clover-ACPI-Origin目录出来
进入macOS,参考教程使用iasl执行以下命令对Origin内的DSDT.aml文件进行转换,得到DSDT.dsl文件
./iasl -da -dl DSDT.aml
使用MaciASL(赠送上述使用的iasl程序)打开DSDT.dsl文件,点击编译会发现很多error
主要修改以下地方,代码位置可参考MaciASL提示错误位置或者搜索查找
修复一:主要是PM6H和PM0H的代码混在一起了,这是常见的问题
原始
If (LEqual (PM6H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status Store (Zero, ECRW (If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length Store (Zero, F0LN) })) }
修改
If (LEqual (PM6H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length Store (Zero, F0LN) }
修复二:留意最后一行
原始
Scope (_SB) { Device (AMW0) { Mutex (WMIX, 0x01) Name (_HID, "*pnp0c14") // _HID: Hardware ID
修改
Scope (_SB) { Device (AMW0) { Mutex (WMIX, 0x01) Name (_HID, "PNP0C14") // _HID: Hardware ID
修复三:留意第一行,启用USB3的支持
原始
If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) }
修改
If (LOr (_OSI ("Darwin"), _OSI ("Windows 2006"))) // Injects Darwin to enable USB3/XHC support { Store (0x07D6, OSYS) }
再试下编译,发现已经没有error了,还有很多警告的内容可以忽略不用管
最后再另存文件格式为“ACPI Machine Language Binary”可以保存修复好的DSDT.aml文件使用