学会定制OC引导文件,从此安装黑苹果不再是难题。
制作DSDT补丁,是OC定制的第一步,也是最为关键的一步,考虑到网上的相关教程几乎没有,所以这期视频我尽量从黑果小白的角度出发,给大家重点讲一下这最关键的一环。
今天这期教程是认真整理了很久的【黑苹果系列】小白教程之如何更便捷地定制OC引导文件-----DSDT补丁篇
首先要明白DSDT文件概述了PC硬件信息,而普通PC下的硬件信息与Mac有很多冲突的地方,我们需要通过修改打补丁的方式,使Mac os能 正常识别其硬件。
相关概念篇
DSDT (Differentiated System Description Table Fields)
SSDT (Secondary System Description Table Fields)
ACPI 是 Advanced Configuration & Power Interface 缩写,高级配置和电源接口,
ACPI与DSDT之间的关系
ACPI 是操作系统的一系列接口,这个接口包含了很多表格, DSDT 和 SSDT 既是其中的表格同时也是一些接口。
· 相关指导网站篇
1.ACPI官方指导网址
隐藏内容
https://dortania.github.io/Getting-Started-With-ACPI/
2.黑苹果六位大神合作制作的OC补丁模板(强烈推荐)
隐藏内容
https://github.com/daliansky/OC-little
· 官方推荐的补丁
官方推荐补丁
1.SSDT-plug.aml 加载CPU原生电源管理(开启节能四项),必须
2.SSDT-EC-USBX(同SSDT-EC):禁用EC(Embedded Controller)和修复USB充电问题,可选
3.SSDT-AWAC.aml 修复RTC禁止AWAC(或者使用RTC0.aml补丁,二者选其一),必须
4.SSDT-PMC.aml 开启NVRAM (Z370、Z490和B460原生支持,可以不需要此补丁,其他主板基本都需要)可选
5.SSDT-RHUB:修复USB,华硕400系列主板需要 ,可选
黑苹果真正做到稳定运行还需要一些非常重要不可或缺的补丁,我推荐几个
6.SSDT-GPRW.aml 解决大部分PC睡眠即醒问题,
需搭配重命名使用(rename 02 to 02)
7.SSDT-PM.aml 加载节能第五项(断电后自动重启生效,PC基本通用的补丁)
8.SSDT-OC-XOSI.aml 操作系统补丁,配合重命名rename 5F4F5349 to 584F5349,技嘉主板需要
补丁制作篇
如何确定补丁与自己的主板匹配呢?
那么我们就需要从主板的DSDT文件信息中去分析
那么问题来了,如何提取主板的DSDT原始文件。
windows、Mac、Linux不管哪种系统下都有很多软件支持提取DSDT信息
1.很多人在Windows下是使用SSDTTime来自动生成的补丁,但鉴于SSDTTime仅支持有限的三个补丁
SSDT-EC、SSDT-PLUG、SSDT-HPET,我就不推荐了。
2.在Mac 下,用MaciASL就可以直接获取DSDT信息。
在MacOS使用MaciASL提取DSDT
3.支持PC没有安装任何系统情况下,强烈推荐一制作clover -U盘启动提取DSDT信息,提取的DSDT文件最原始最佳。
三步走
1.格式化一个U盘为FAT32格式, 解压 (群共享里已提供)DSDT EFI.zip ,EFI文件夹放到U盘根目录下
2.设置BIOS,从U盘启动,
3.启动到clover界面,按键盘F4(部分笔记本可能是F4+Fn)会自动提取DSDT文件到U盘EFI/ClOVER/ACPI/origin文件夹下
4.获取完毕,找到U盘EFI/ClOVER/ACPI/origin文件夹下DSDT.aml
制作补丁在这里推荐使用宪武大神和黑果小兵github上制作的一系列OC-DSDT补丁模板
模板内还有详细的制作和使用说明,很实用,强烈推荐。
克隆OC-little 、https://github.com/dortania/Getting-Started-With-ACPI
集合OC官方指导和补丁模板说明文档,以及OC官方补丁
下面演示如何使用关键字来确定我们的主板使用什么样的补丁?
SSDT-plug.aml 加载CPU原生电源管理(开启节能四项),必须
补丁位置:05-1 注入X86 (OC-little 补丁库 )
用MaciASL打开DSDT.aml
搜索cpu的关键字:
Processor 找到对应路径SB.PR
使用SB.PR00 找到相同名称的补丁,另存为SSDT-plug.aml,
格式选为ACPI Machine Language Binary
加载后重启没有生效的话请清理一次nvram,查看偏好设置–节能
SSDT-EC-USBX:禁用EC(Embedded Controller)和修复USB充电问题
也可以通过hackintool定制USB端口映射时生成,可选
搜索 PNP0C09
ec名字也有可能是H_EC或EC0或其他
若有return (Zero)语句,则不需要禁用EC
不推荐这个补丁,建议使用DSDT-EC.aml补丁(尤其针对技嘉主板)
SSDT-AWAC.aml 修复RTC禁止AWAC
补丁位置:03-二进制更名与预置变量----补丁库 (OC-little 补丁库 )
从原文可以看出,只要 `STAS`=`1`,就可以启用 RTC 并同时禁用 `AWAC`
搜索 Device (RTC) 、Device (AWAC)、ACPI000E、PNP0B00
原文:
Device (RTC)
{
...
Method (_STA, 0, NotSerialized)
{
If ((STAS == One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
...
}
Device (AWAC)
{
...
Method (_STA, 0, NotSerialized)
{
If ((STAS == Zero))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
...
}
```
从原文可以看出,只要 `STAS`=`1`,就可以启用 RTC 并同时禁用 `AWAC`。采用 **预置变量法** 如下:
- 官方补丁 ***SSDT-AWAC***
```Swift
External (STAS, IntObj)
Scope (_SB)
{
Method (_INI, 0, NotSerialized) /* _INI: Initialize */
{
If (_OSI ("Darwin"))
{
STAS = One
}
}
}
```
注:官方补丁引入了路径 `_SB._INI`,使用时应确认 DSDT 以及其他补丁不存在 `_SB._INI`。
- 改进后补丁 ***SSDT-RTC_Y-AWAC_N***
External (STAS, IntObj)
Scope (\)
{
If (_OSI ("Darwin"))
{
STAS = One
}
}
``
也可用DSDT-RTC0.aml补丁实现。
SSDT-PMC.aml 开启NVRAM (Z370、Z490和B460原生支持,可以不需要此补丁,其他主板基本都需要)可选
官方补丁:extra-files---compiled (官方补丁库)
在OC0.5.5正式版开始支持300系列的原生nvram。
搜索001F0000 或 PNP0A08 确定路径 (出现多个,取第一个)
确定lpc部件名称并记录lpc的路径,比如我的LPC路径在_SB_.PC00.LPC0
打开SSDT-PMC.dsl,根据自己路径的信息编辑该补丁
SSDT-RHUB:修复USB,华硕400系列主板可能需要 ,可选
搜索 Device (RHUB) 确定路径
官方补丁:extra-files---compiled (官方补丁库)
SSDT-GPRW.aml 解决大部分PC睡眠即醒问题, 需搭配重命名使用 (rename 02 to 02)
补丁位置:12-060D补丁-12-1普通的060D补丁 (OC-little 位置 )
`_PRW` 定义了一个部件的唤醒方法
这些部件 `_PRW` 数据包的第 1 个字节是 `0D` 或者 `6D
`_PRW` 数据包的第 2 个字节多为 `03` 或者 `04`,将这个字节修正为 `0` 即完成了 `0D/6D补丁`
搜索ADR地址,_PRW
- `ADR` 地址:`0x001D0000`, 部件名称:`EHC1`。
- `ADR` 地址:`0x001A0000`, 部件名称:`EHC2`。
- `ADR` 地址:`0x00`, 部件名称:`XHC`, `XHCI`, `XHC1` 等。
- `ADR` 地址:`0x00`, 部件名称:`XDCI`。
- `ADR` 地址:`0x00`, 部件名称:`CNVW`。
Name (_PRW, Package (0x02)
{
0x0D, /* 可能是0x6D */
0x03,/* 可能是0x04 */
...
}
使用此补丁还要配合重命名使用
(rename 02 to 02)
SSDT-PM.aml 加载节能第五项(断电后自动重启生效,PC基本通用的补丁,实际没什么作用)
SSDT-OC-XOSI.aml 操作系统补丁,配合重命名rename 5F4F5349 to 584F5349,技嘉主板需要
补丁位置:04 操作系统补丁 (OC-little 位置 )
操作系统补丁 用于解除系统对某些部件的限制。通常情况下,「不建议」使用 对于受系统限制而无法正常工作的部件,应根据 ACPI 的具体情况定制补丁
好了,DSDT补丁制作结束了,如何有帮到你,别忘了点赞投币收藏,也可以给我充电哦,如果还有不清楚的地方,也可以私信我。
黑苹果资源