使用工具
- IORegistryExplorer 用于查看NVME盘在系统中的相关信息
- MaciASL 用于编写SSDT 并编译
制作补丁
- 使用IORegistryExplorer 查看NVME 控制器相关信息
注: v1 ,v2 ,v3 三个节点需要记下v1 = PCI0 ,V2 = RP05 , V3 = IOPP 不同设备情况不同 3个节点相同
2. MaciASL 新建一个空的SSDT补丁文件
3. 将以下代码中的参数和以上在IORegistryExplorer中记录下的v1 v2 v3 自行修改成自己设备的具体参数
DefinitionBlock ("", "SSDT", 2, "hack", "nvme", 0x00000000)
{
External (_SB_.PCI0.RP05, DeviceObj) //arg1: _SB_.V1.V2
External (_SB_.PCI0.RP05.IOPP._ADR, UnknownObj) //arg1: _SB_.V1.V2.V3.
Scope (\_SB.PCI0.RP05) //Node1
{
Device (NVME){ //Device name show NVME
Name (_ADR, Zero) // _ADR: Address
Name (_SUN, One) // _SUN: Slot User Number
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (0x0F, \_SB.PCI0.RP05.IOPP._ADR) //arg2: \_SB.V1.V2.V3._ADR
}
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x02)
{
"built-in",
Buffer (0x0A)
{
"NVMe SSD"
}
})
}
}
}
}
3.将SSDT保存为aml
4.将.aml 文件copy to /EFI/CLOVER/ACPI/patched 中
5.打开Clover Configurator 配置config.plist
6.ACPI->SSDT-> Drop OEM 打勾
7.查看DisabledAML中没有SSDT_NVME.aml (有着删该项),并在SortedOrder添加SSDT_NVME.aml
8.Ctrl +S
9.reboot