Legion-Y9000X-Hackintosh
Legion-Y9000X-Hackintosh copied to clipboard
OpenCore configuration for Legion Y9000X Hackintosh
拯救者Y9000X 2020黑苹果OpenCore引导配置
- 1. 硬件配置
- 2. 功能支持详情
- 3. BIOS设置
-
4. 自定义配置
- 4.1. SSD屏蔽设置
- 4.2. 平台三码配置(必需)
- 4.3. CFG Lock解锁配置
- 4.4. 显示器1080P FHD版本适配
- 4.5. 高级用户调试设置
- 5. 版本详情
- 6. 启动参数说明
1. 硬件配置
- Y9000X配置参数
硬件 | 型号 |
---|---|
CPU | Intel i7-9750H |
显示器 | UHD 4K |
WiFi/蓝牙 | Intel AX200 黑苹果支持不完美,已更换为DW1820A,并且屏蔽前三后二总共五个引脚 |
硬盘 | 三星PM981A 黑苹果大量读写数据时异常,基本无解,已更换为铠侠RD10(原东芝RD500)1TB SSD |
- EFI测试环境
类型 | 配置 |
---|---|
操作系统 | macOS 10.15.6 |
显示器分辨率 | UHD 4K |
固态硬盘 | 第一磁盘位铠侠RD10 1TB,并且屏蔽第二个磁盘位的PM981A |
WiFi/蓝牙 | 博通DW1820A |
BIOS | CTEC21WW |
2. 功能支持详情
- :white_check_mark: 4K内置显示器
- :warning: 开机/休眠唤醒暗屏/花屏
- :white_check_mark: 电池管理、电池电量显示
- :warning: 开/合盖唤醒/休眠
- :warning: 电源键短按休眠/唤醒
- :warning: 开启深度休眠,以更加省电,电源键/开盖唤醒
- :white_check_mark: CPU温度传感器
- :white_check_mark: 扬声器节点注册
- :white_check_mark: 3.5mm耳机
- :white_check_mark: 内置麦克风
- :white_check_mark: 摄像头
- :warning: 核显1.2G满频支持
- :warning: 显示器亮度调节(映射到
Fn+F11
、Fn+F12
) - :white_check_mark: 音量调节(映射到
Fn+F2
、Fn+F3
) - :white_check_mark: 静音(映射到
Fn+F1
) - :white_check_mark: 暂停/播放(映射到
Fn+Home
) - :white_check_mark: 触控板(GPIO中断方式、支持多指手势)
- :white_check_mark: WiFi(支持所有信道、解除速率限制)
- :white_check_mark: 蓝牙
- :white_check_mark: AirDrop
- :white_check_mark: AirPlay随航
- :white_check_mark: Type-C PD充电
- :white_check_mark: Type-A USB3.1接口*2
- :white_check_mark: Type-C USB接口*1
- :white_check_mark: Type-C扩展坞(USB、以太网、HDMI2.0、DP)
- :white_check_mark: Type-C雷电接口
- :white_check_mark: 电源按钮环灯及logo灯开关控制(BIOS自带快捷键
Fn+L
) - :white_check_mark: 键盘背光灯亮度调节(BIOS自带快捷键
Fn+Space
)
- :red_circle: 指纹识别(因macOS系统安全性限制不可实现)
- :red_circle: 除上述已声明可用之外的Fn组合快捷键均不可用
- :red_circle: 内置扬声器
- :red_circle: SD卡读卡器
3. BIOS设置
-
:white_check_mark: 磁盘模式设置为AHCI模式
Configuration -> Storage -> Controller Mode -> AHCI mode
:heavy_exclamation_mark: 从RST(RAID0)模式切换为AHCI模式,磁盘上的所有数据会被清除,所以请提前备份好磁盘重要数据!
-
:white_check_mark: 关闭安全启动
Security -> Secure Boot -> Disabled
-
:white_check_mark: 安装完成后将黑苹果所在的磁盘调节为第一启动顺序,如此每次开机默认进入黑苹果系统
4. 自定义配置
4.1. SSD屏蔽设置
仓库默认配置没有屏蔽任何磁盘位,假如需要屏蔽磁盘位,使能指定的ACPI补丁。:heavy_exclamation_mark: 两个补丁最多只能使能其中一个,否则两个磁盘都将识别不出来,从而无法进入系统!
-
屏蔽第一个磁盘位(靠近风扇位置,默认不屏蔽)
OpenCore Configurator -> ACPI -> Add -> SSDT-NVME1-DISABLE.aml: true
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist index 5b1bfc6..104b515 100644 --- a/EFI/OC/config.plist +++ b/EFI/OC/config.plist @@ -10,7 +10,7 @@ <key>Comment</key> <string>Disable SSD 1 on NVME</string> <key>Enabled</key> - <false/> + <true/> <key>Path</key> <string>SSDT-NVME1-DISABLE.aml</string>
-
屏蔽第二个磁盘位(靠近电池位置,默认不屏蔽)
OpenCore Configurator -> ACPI -> Add -> SSDT-NVME2-DISABLE.aml: true
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist index 5b1bfc6..911f084 100644 --- a/EFI/OC/config.plist +++ b/EFI/OC/config.plist @@ -18,7 +18,7 @@ <key>Comment</key> <string>Disable SSD 2 on NVME</string> <key>Enabled</key> - <false/> + <true/> <key>Path</key> <string>SSDT-NVME2-DISABLE.aml</string>
4.2. 平台三码配置(必需)
OpenCore Configurator -> PlatformInfo -> Genric
:heavy_exclamation_mark: 仓库默认配置是清除了三码的,所以需要使用者填充自己的三码。仓库目前最新的Release版本里config.plist是用OpenCore Configurator v2.6.0.2版本编辑的,想用OpenCore Configurator编辑并且生成三码的,则也必需用同样版本的OpenCore Configurator。
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist
index 12596e4..45d83e3 100644
--- a/EFI/OC/config.plist
+++ b/EFI/OC/config.plist
@@ -1285,17 +1301,17 @@
<key>AdviseWindows</key>
<false/>
<key>MLB</key>
- <string></string>
+ <string>*****************</string>
<key>ROM</key>
- <data></data>
+ <data>********</data>
<key>SpoofVendor</key>
<true/>
<key>SystemProductName</key>
<string>MacBookPro16,1</string>
<key>SystemSerialNumber</key>
- <string></string>
+ <string>************</string>
<key>SystemUUID</key>
- <string></string>
+ <string>********-****-****-****-************</string>
</dict>
<key>UpdateDataHub</key>
<true/>
OpenCore Configurator中填充三码:
4.3. CFG Lock解锁配置
此项修改为非必需项,不做任何修改也可正常使用。
-
已解锁CFG Lock
本配置默认是适配已解锁CFG Lock的,假如已解锁,无需做任何修改。
-
未解锁CFG Lock
未解锁CFG Lock的,需要将如下三项配置打开
-
OpenCore Configurator -> Kernel -> Quirks-> AppleCpuPmCfgLock: true
-
OpenCore Configurator -> Kernel -> Quirks-> AppleXcpmCfgLock: true
-
OpenCore Configurator -> UEFI -> Quirks-> IgnoreInvalidFlexRatio: true
-
4.4. 显示器1080P FHD版本适配
-
OpenCore Configurator -> NVRAM -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> UIScale: 01
对于1080P显示器版本,需要将
UIScale
设置为1
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist index 5b1bfc6..0bac981 100644 --- a/EFI/OC/config.plist +++ b/EFI/OC/config.plist @@ -980,7 +1074,7 @@ <key>DefaultBackgroundColor</key> <data>AAAAAA==</data> <key>UIScale</key> - <data>Ag==</data> + <data>AQ==</data> </dict> <key>4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102</key> <dict>
-
OpenCore Configurator -> DeviceProperties -> PciRoot(0x0)/Pci(0x2,0x0)
4.5. 高级用户调试设置
-
boot-args设置
OpenCore Configurator -> NVRAM -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args: slide=1 -no_compat_check -v debug=0x100 keepsyms=1
-
开启冗余日志打印
- 发生kernel panic时阻止自动重启
- 保留debug信息
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist index 0465f09..bfe902e 100644 --- a/EFI/OC/config.plist +++ b/EFI/OC/config.plist @@ -990,7 +1160,7 @@ <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key> <dict> <key>boot-args</key> - <string>slide=1 -no_compat_check</string> + <string>slide=1 -no_compat_check -v debug=0x100 keepsyms=1</string> <key>csr-active-config</key> <data>5wMAAA==</data> <key>prev-lang:kbd</key>
-
日志显示级别设置
OpenCore Configurator -> Misc -> Debug -> Display Level: 2151678018
OpenCore Configurator -> Misc -> Debug -> Target: 51
OpenCore Configurator -> Misc -> Debug -> Disable WatchDog: true
OpenCore Configurator -> Misc -> Debug -> AppleDebug: true
OpenCore Configurator -> Misc -> Debug -> ApplePanic: true
OpenCore Configurator -> Misc -> Security -> Halt Level: 2147483648
diff --git a/EFI/OC/config.plist b/EFI/OC/config.plist index 0465f09..bfe902e 100644 --- a/EFI/OC/config.plist +++ b/EFI/OC/config.plist @@ -868,24 +1038,24 @@ <key>Debug</key> <dict> <key>AppleDebug</key> - <false/> + <true/> <key>ApplePanic</key> - <false/> + <true/> <key>DisableWatchDog</key> - <false/> + <true/> <key>DisplayDelay</key> <integer>0</integer> <key>DisplayLevel</key> - <integer>0</integer> + <integer>2151678018</integer> <key>SysReport</key> <false/> <key>Target</key> - <integer>0</integer> + <integer>51</integer> </dict> <key>Entries</key> <array> @@ -917,9 +1087,9 @@ <key>BootProtect</key> <string>None</string> <key>ExposeSensitiveData</key> <integer>3</integer> <key>HaltLevel</key> - <integer>0</integer> + <integer>2147483648</integer> <key>ScanPolicy</key> <integer>0</integer> <key>Vault</key>
5. 版本详情
- ACPI(高级配置及电源接口)补丁注入
SSDT注入补丁 | SSDT替换补丁 | 描述 |
---|---|---|
SSDT-NVME1-DISABLE.aml | 无 | 屏蔽第一个磁盘位 |
SSDT-NVME2-DISABLE.aml | 无 | 屏蔽第二个磁盘位 |
SSDT-EC.aml | 无 | 仿冒EC设备 |
SSDT-GPI0.aml | GPI0域内: 查找:_STA ( 5F 53 54 41 )替换:XSTA ( 58 53 54 41 ) |
启用GPI0 |
SSDT-TPAD.aml | 查找:USTP (55 53 54 50 08 )替换:XSTP ( 58 53 54 50 08 )TPAD域内: 查找:_CRS ( 5F 43 52 53 )替换:XCRS ( 58 43 52 53 ) |
变更TPAD模式为GPIO中断模式 |
SSDT-ALS0.aml | 无 | 仿冒环境光传感器 |
SSDT-GPRW.aml | 查找:GPRW (47 50 52 57 02 )替换:XPRW ( 58 50 52 57 02 ) |
修正某些部件休眠唤醒 与macOS的兼容性问题 |
SSDT-PTSWAK.aml | 查找:_PTS (5F 50 54 53 01 )替换:ZPTS(1,N) ( 5A 50 54 53 01 )查找:_WAK ( 5F 57 41 4B 01 )替换:ZWAK(1,N) ( 5A 57 41 4B 01 ) |
- 屏蔽独显_ON 和_OFF 接口- 扩展补丁接口 EXT1 、EXT2 、EXT3 、EXT4 - 定义强制睡眠传递参数 FNOK 和 MODE - 定义调试参数 TPTS 和 TWAK |
- 驱动和内核扩展
类型 | 模块 | 版本 | 描述 |
---|---|---|---|
OpenCore | == | v0.5.9 | == |
Drivers(OpenCore驱动) | OpenRuntime.efi | OpenCore内置 | 内存寻址补丁 |
.. | VBoxHfs.efi | OpenCore Configurator下载 | HFS格式支持 |
.. | Apfs.efi | macOS 10.15.5镜像提取 | APFS格式支持 |
Kexts(内核扩展) | Lilu.kext | v1.4.5 | Acidanthera驱动全家桶的底层依赖,需第一个加载 |
.. | VirtualSMC.kext | V1.1.4 | 传感器驱动依赖 |
.. | WhateverGreen.kext | V1.4.0 | 核显&显卡驱动 |
.. | USBInjectAll.kext | v0.7.1 | USB万能驱动(可使用自定制USB补丁) |
.. | VoodooI2C.kext/Contents/ PlugIns/VoodooI2CServices.kext |
VoodooI2C.kext子驱动 | VoodooI2C.kext依赖服务,需在VoodooI2C.kext前加载 |
.. | VoodooI2C.kext/Contents/ PlugIns/VoodooGPIO.kext |
VoodooI2C.kext子驱动 | VoodooI2C.kext依赖服务,需在VoodooI2C.kext前加载 |
.. | VoodooI2C.kext/Contents/ PlugIns/VoodooInput.kext |
VoodooI2C.kext子驱动 | VoodooI2C.kext依赖服务,需在VoodooI2C.kext前加载 |
.. | VoodooI2C.kext | v2.4.3 | I2C总线设备驱动 |
.. | VoodooI2CHID.kext | VoodooI2C.kext内置 | I2C-HID设备驱动,依赖VoodooI2C.kext,需在VoodooI2C.kext后加载 |
.. | SMCProcessor.kext | VirtualSMC.kext内置 | CPU核温度传感器驱动 |
.. | SMCSuperIO.kext | VirtualSMC.kext内置 | IO传感器驱动 |
.. | IntelMausi.kext | V1.0.3 | Intel类千兆网卡驱动 |
.. | AppleALC.kext | V1.5.0 | 万能声卡驱动 |
.. | NVMeFix.kext | v1.0.2 | 为NVME硬盘增加ASPT属性来保证节电 |
.. | NoTouchID.kext | v1.0.3 | 指纹屏蔽驱动 |
.. | VoodooPS2Controller.kext | v2.1.5 | 触控板驱动 |
.. | AirportBrcmFixup.kext | v2.0.7 | 非原生博通WiFi模块Airport驱动 添加属性值配置brcmfx-country=#a,以支持特殊信道及提升传输速率 |
.. | HibernationFixup | v1.3.3 | 休眠驱动 |
.. | CPUFriend.kext | V1.2.0 | Lilu动态电源管理数据注入插件 |
.. | USBPorts.kext | ||
.. | USBPower.kext | ||
.. | BrcmPatchRAM.kext | v2.5.3 | |
.. | BrcmFirmwareData.kext | BrcmPatchRAM.kext内置 | |
.. | BrcmBluetoothInjector.kext | BrcmPatchRAM.kext内置 | |
.. | VoodooInput |
6. 启动参数说明
-
-no_compat_check 关闭兼容性检查
-
slide=1 手动设置 KASLR slide 值为
1
,需配合Booter -> Quirks -> ProvideCustomSlide: true
一起使用 -
brcmfx-country=#a(已移至
DeviceProperties
)设置WiFi国家代码为ALL,以支持全部的WiFi信道,并解锁因此导致的带宽速率限制
参考资料:
[^1]: 精解OpenCore | 黑果小兵的部落阁
[^2]: OpenCore 部件补丁