前言
这是制作12 th 黑果引导文件教学,设定config.plist 对新手来说可能很困难,请遵循本指南来设定所有内容,成功的机率会是很高的。我们可以从现有成功的OpenCore Alder Lake 桌面构建中学到什么?我查看了主要英语和德语hackintosh 网站上搜寻成功安装的案例,我将分享我在查看这些构建、文档和配置时注意到的关键点。这只是一个非常初步的指南,因为Dortania 目前还没有OpenCore Alder Lake 指南。若设定上出了有问题,请检查OpenCore 需要注意的主要事项:
- 没有默认的OpenCore 依赖会不会删除部分,必须明确指出所有属性。如果指南未指定该选项,因此保留其为默认值。
- Sample.plist 不能按原样使用,您必须将其配置到您的系统
- 使用CONFIGURATORS,这些少数几个OpenCore 的配置,甚至像Mackie 的会添加Clover 属性和损坏的plist!
- 不要只复制网路抓来的EFI。它可能不起作用,根据指南针对你的设备来创建您自己的EFI。
目前已成功安装macOS 的案例:
主板
主要是Z690 和少数B660M,但在H610 或H670 上还没有看到Hackintosh。 Gigabyte 和Asus 已在绝大多数观察到的系统中使用。由于iGPU 不受支持,无法在Alder Lake 笔记本电脑上使用macOS。
- 技嘉Z690i Aorus Ultra DDR4 – Mini-ITX
- 技嘉Z690 UD DDR4 – ATX
- 技嘉Z690 Aorus Elite DDR5 – ATX
- 技嘉Z690 Aorus Elite AX DDR4 – ATX
- 技嘉Z690 Aorus Pro DDR5 – ATX
- 技嘉Z690 AERO G D4(加上Thunderbolt 卡)- ATX
- 技嘉Z690 AERO G D5(加上Thunderbolt 卡)- ATX
- 技嘉Z690 AERO D – ATX
- 技嘉Z690 Gaming X DDR4 – ATX
- 华硕Z690 ProArt Creator WiFi (Thunderbolt 4) DDR5 – ATX
- 华硕ROG STRIX Z690-A 游戏WIFI D4 DDR4 – ATX
- 华硕ROG STRIX Z690-F GAMING WIFI DDR5 – ATX
- 华硕PRIME Z690M-PLUS D4 DDR4 – microATX
- 华硕PRIME Z690-P D4 LGA DDR4 – ATX
- 华硕TUF GAMING Z690-PLUS D4 DDR4 – ATX
- 华硕PRIME B660M-K D4 DDR4 – microATX
- 华擎Z690 Pro RS DDR4 – ATX
- 华擎Z690 Steel Legend WiFi 6E DDR4 – ATX
- 华擎B660M-HDV DDR4 – microATX
- 微星PRO Z690-A DD5 – ATX
已使用的CPU
- i5-12400、i5-12400F
- i5-12600K, i5 12600KF
- i7-12700K, i7-12700KF
- i9-12900K
所有当前可用的Alder Lake Core-ix-12xxx CPU 都应该可以工作。
已使用的GPU
- 迪兰恒进Radeon RX 6600
- 蓝宝石VGA Nitro+ RX 6600 XT
- 华擎AMD Radeon RX 6600XT
- 微星RX 6800 XT Gaming X 三重奏
- 蓝宝石RX 6900 XT 特别版
- 盈通Radeon RX560 4GB GDDR5
- AMD Radeon RX 570
- 蓝宝石脉冲RX 580
推荐的GPU
主要推荐:Polaris AMD RX 400 系列和RX 500 系列、Navi RX 5000 系列、RX 6800、RX 6800 XT、RX 6900 XT。 AMD RX 6600 和6600 XT 仅在Monterey 12.1 和更高版本中受支持。 (但目前根本不支持RX 6700。)
Alder Lake 架构所使用上的SMBIOS –MacPro7,1
并且iMacPro1,1
– 需要Polaris、Vega 或Navi GPU才能正常工作。
请使用以下推荐的固态
- WD 黑色SN850 PCIe 4.0 NVMe SSD 1TB
- WD 黑色SN750 SE NVMe SSD 1TB
- WD 黑色SN750 NVMe SSD 500GB
- WD Blue SN550 NVMe SSD 1TB
- PNY CS1031 256GB
严重禁止使用三星NVMe 固态,可能仍然存在问题:SSD 启动时间测试・dortania。
推荐使用的Wifi 卡
- Fenvi FV-T919 WiFi / 蓝牙无线网卡
- Fenvi M.2 NGFF BCM94360NG Wifi / 蓝牙4.0 网卡
你可以在此无线买家指南中的建议继续适用。
使用的操作系统
- Monterey
- Big Sur
macOS Catalina 10.15.4 及更高版本应基于macOS 中的Comet Lake 支持工作。
笔记
- Intel Power Gadget 存在相当多的问题,不建议在生产中使用,但它大部分都可以正常工作,SuperIO 和SMCProcessor 也是如此。目前已经修护。
无法启用的功能
- Sidecar 需要iGPU 或Apple T2 芯片来进行HEVC 编码/ 解码,因此它无法在此系统上运行(macOS 不支持iGPU UHD 770)。 Sidecar 的替代品:Luna Display 和Duet Display。
- macOS 对所有内核一视同仁,不会在P 核和E 核之间以最佳方式调度任务
- 尚不支持英特尔的蓝牙5.2。
- 各种USB 问题。这些可能并非特定于Alder Lake,但在某些主板上已报告。
BIOS:
除CPU 配置外,所有BIOS 配置与Comet Lake 使用的基本相同。
- CFG Lock 可能无法在华硕主板的首选项中配置。这是一个明显的BIOS 错误,尽管它可能不会导致启动失败。我们必须通过OpenCore 参考手册中描述的Shell 方法手动解锁它。(维特,22-01-09)
- XMP 至少适用于我们手头的DDR5,但也有报导称DDR4 也没有问题。虽然macOS 没有在分析器中将DDR5 命名为DDR5,但这种细微差别纯粹是装饰性的。
CPU:P 核和E 核
尝试使用以下任一配置,看看哪种配置最适合您的工作流程:
- 选项1:启用所有P 核、所有E 核和超线程。由于P 核的L3 和内存性能较低,Ring Clock 频率将为3.6 GHz,对CPU 性能的影响不超过6% 。整体多线程性能会更好。
- 选项2::仅启用P 核和超线程。环形时钟频率将为4.7 GHz。整体多线程性能会降低。
- 这两个选项都可以通过Alder Lake Overclocking进行优化。环形时钟和CPU 时钟是分开的。
因此在BIOS > Advanced CPU Settings 中进行相应的配置:
- 选项1 :所有内核,所有线程
- 超线程→ 启用
- 所有P 核和E 核→ 已启用
- 选项2 :仅P 核和超线程
- 超线程→ 启用
- CPU 内核启用模式→ 可选模式
- CPU Cores Enable Mode → (Enable all P-Cores and Disable all E-Cores)
搜集SSDT 文件
需要SSDT-PLUG-ALT.aml
为Alder Lake CPU 添加具有Darwin 方法的XCPM 电源管理兼容性表。
- 大多数固件在ACPI 中放弃了基于处理器的CPU 定义并切换到macOS 无法识别的基于设备的定义。要解决此问题,需要使用
SSDT-PLUG-ALT
ACPI 表。
SSDT
与Comet Lake 非常相似,除了额外的SSDT-PLUG-ALT.aml
SSDT-PLUG-ALT.aml
(必需的)SSDT-AWAC.aml
(必需的)SSDT-EC-USBX.aml
(必需的)SSDT-SBUS.aml
(可选的)SSDT-USBW.aml
(可选)与USBWakeFixup.kext 一起使用以启用正确的睡眠唤醒。SSDT-DMAC.aml
(偶尔使用)在真正的MacPro 7,1 上:“DMAC 直接内存访问控制器提供总线和输入输出设备之间的接口,与处理器共享总线以进行数据传输,通过以下方式加速内存操作绕过CPU 的参与”。SSDT-HPET.aml
(偶尔使用) – 修补IRQ 冲突。检查: SSDTs:简单的方法(SSDTTime > HPET)。SSDT-DTPG.aml
(偶尔使用) – 实现其他SSDT 所需的DTGP 方法。与迅雷有关。- SSDT-MAPLE-RIDGE-RP05-V2.aml. 雷电专属文件,需搭配SSDT-DTPG.aml 使用。
- SSDT-XH_ADLS3.aml ASUS Z690 主版专用修护文件
- SSDT-AQUANTIA-AQC113C.aml 主版内建AQC113C 10Gbe 网卡驱动。
现在所有这些,快速提醒我们需要的工具
- ProperTree
通用plist 编辑器 - GenSMBIOS
生成我们的SMBIOS 数据 - Sample/config.plist
取出Sample.plist 文件,并更名为config.plist
在设置OpenCore 之前,请多次阅读本指南,并确保已正确设置。请注意,图像并不总是最新的,因此请阅读它们下面的文本,如果没有提及,则保留为默认值。
ACPI
Add
::: tip Info
这是您为系统添加SSDT 的地方,这些对于引导macOS非常重要,并且有许多用途,例如USB 3.0 接口定制、禁用不受支持的GPU等。使用我们的系统,甚至需要启动。
对我们来说,我们需要几个最主要的SSDT 文件:
SSDT-PLUG-ALT | 添加ACPIProcessor 对象,因为macOS 不支持Device 在较新的板上使用的对象。 |
SSDT-EC-USBX | 修复了嵌入式控制器和USB 电源 |
SSDT-AWAC | 这是所有B660 和Z690 板所需的300 和600 系列RTC 补丁。 替代方案是SSDT-RTC0 或SSDT-AWAC-DISABLE,具体取决于DSDT 中的ACPI 定义, |
SSDT-SBUS-MCHC | 可能不是每个人都需要。修复了AppleSMBus 支持, |
SSDT-BRG0 | 在某些系统上需要将丢失的设备恢复到ACPI 表,从而修复DeviceProperties 注入问题。 |
SSDT-USBW | USBWakeFixup kext 的伴侣 |
请注意,您不应该在此处添加您生成DSDT.aml
的,它已经在您的固件中。config.plist
因此,如果存在,请在您的EFI/OC/ACPI 下删除它的条目。
对于那些想要深入了解转储DSDT、如何制作和编译这些SSDT 的人,请参阅ACPI 入门 页面。已编译的SSDT 具有.aml扩展名(已组装)并将进入该EFI/OC/ACPI
文件夹,并且还必须在您的配置中指定ACPI -> Add
。
:::
Delete
这会阻止某些ACPI 表的加载,对我们来说,我们可以忽略它。如是ASUS 主版得加入以下参数。
这是Delete standard DMAR table 所用的参数,一般是不设定。
Patch
本节允许我们通过OpenCore 动态修改ACPI 的一部分(DSDT、SSDT 等)。补丁乃采用SSDT 的修护文件处理。这是一个更干净的解决方案。
如果遇到相关的ACPI 错误,请启用Change MC__ to MCHC并可能将ADBG 更改为XDBG ,如下所示:
Patch 1: Table IgfxSsdt Table Signature: SSDT OemTableID: 49676678 53736474 Find: 4D435F5F Replace: 4D434843 Comment: Change MC__ to MCHC Count = 0 Limit = 0 Skip =0 Enabled = True Patch 2: Table GSWApp Table Signature: SSDT OemTableID: 47535741 7070 Find: 43031419 41444247 Replace: 43031419 58444247 Comment: Change ADBG to XDBG Count = 1 Limit = 0 Skip = 0 Enabled = True
- 请参阅:修复技嘉 Z690 主板上的睡眠唤醒问题。
- 将ADBG 更改为XDBG 与技嘉 Z690 板上的ACPI 错误有关。
- 将MC__ 更改为MCHC
- 也用于华硕Z690 主板。
HPET _CRS 到XCRS 重命名,RTC IRQ 8 补丁,TIMR IRQ 0 补丁。检查: SSDTs:简单的方法(SSDTTime > HPET)。修复RTC _STA 错误(似乎是以前在Clover 中使用的旧修复,在OpenCore 中不需要)。改为尝试: SSDT:最简单的方法(SSDTTime > AWAC)
Quirks
与ACPI 相关的设置,将此处的所有内容保留为默认值,因为我们对这些怪癖没有用处。
Booter
本节专门讨论与使用OpenRuntime 修补boot.efi 相关的怪癖,OpenRuntime 是AptioMemoryFix.efi 的替代品
MmioWhitelist
这部分允许设备通过通常被忽略的macOS,对我们来说我们可以忽略这部分。
Quirks
::: tip Info 与boot.efi 补丁和固件修复相关的设置,对我们来说,我们需要更改以下内容:
NOTE:如果在BIOS 中启用了Resizable BAR Support , 请将ResizeAppleGpuBars设置为0 如果设置不正确,系统将启动黑屏。
Quirk | Enabled |
---|---|
DevirtualiseMmio | YES |
EnableWriteUnprotector | NO |
ProtectUefiServices | YES |
RebuildAppleMemoryMap | YES |
ResizeAppleGpuBars | -1 |
SetupVirtualMap | NO |
SyncRuntimePermissions | YES |
::: |
::: details More in-depth Info
- 避免运行时碎片整理:是
- 修复UEFI 运行时服务,如日期、时间、NVRAM、电源控制等。
- DevirtualiseMmio : 是
- 减少被盗内存占用,扩展
slide=N
值选项,非常有助于解决内存分配问题,ProtectUefiServices
Z490、Z590 和Z690 也需要。
- 减少被盗内存占用,扩展
- EnableSafeModeSlide:是
- 使幻灯片变量能够在安全模式下使用。
- EnableWriteUnprotector:否
- 这个怪癖和RebuildAppleMemoryMap 通常会发生冲突,建议在较新的平台上启用后者并禁用此条目。但是,由于OEM 未使用最新的EDKII 版本,您可能会发现上述组合会导致早期启动失败。这是由于缺少
MEMORY_ATTRIBUTE_TABLE
,因此我们建议禁用RebuildAppleMemoryMap 并启用EnableWriteUnprotector。有关这方面的更多信息,请参阅故障排除部分。
- 这个怪癖和RebuildAppleMemoryMap 通常会发生冲突,建议在较新的平台上启用后者并禁用此条目。但是,由于OEM 未使用最新的EDKII 版本,您可能会发现上述组合会导致早期启动失败。这是由于缺少
- ProtectUefiServices:是的
- 保护UEFI 服务不被Z490 所需的固件覆盖。
- 提供自定义幻灯片:是
- 用于幻灯片变量计算。然而,这个怪癖的必要性是由
OCABC: Only N/256 slide values are usable!
调试日志中的消息决定的。如果该消息OCABC: All slides are usable! You can disable ProvideCustomSlide!
出现在您的日志中,您可以禁用ProvideCustomSlide
.
- 用于幻灯片变量计算。然而,这个怪癖的必要性是由
- 重建AppleMemoryMap:是
- 生成与macOS 兼容的内存映射,可能会在某些笔记本电脑OEM 固件上中断,因此如果您收到早期启动失败,请禁用此功能。
- 调整AppleGpuBars:-1
- 如果在启动macOS 时设置为零,将减小GPU PCI 条的大小。使用此怪癖可以设置其他PCI Bar 值,但可能会导致不稳定仅当您的固件中启用了Resizable GPU Bar Support 时,才需要将此怪癖设置为零。
- 设置虚拟地图:否
- 修复了对虚拟地址的SetVirtualAddresses 调用,但由于Comet Lake 的内存保护而中断。 ASUS、Gigabyte 和AsRock 主板将无法启动。
- SyncRuntimePermissions:是
- 修复了与MAT 表的对齐以及使用MAT 表启动Windows 和Linux 所需的问题,也推荐用于macOS。主要与RebuildAppleMemoryMap 用户相关。
DeviceProperties
Add
从树状图设置设备属性。
::: tip PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
此条目与高端Comet Lake 板上的英特尔I225-V 2.5GBe 控制器有关,我们将在这里做的是欺骗Apple 的I225LM 驱动程序以支持我们的I225-V 网络控制器:
Key | Type | Value |
---|---|---|
device-id | Data | F2150000 |
device-id | Data | F3158680 |
- 注意:如果您的主板未附带Intel I225 NIC,则没有理由添加此条目。
- 注意2:如果您在AppleIntelI210Ethernet kext 上遇到内核崩溃,您的NIC 路径很可能是
PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
:::
::: tip PciRoot(0x0)/Pci(0x1b,0x0)
layout-id
- 应用AppleALC 音频注入,您需要自行研究主板具有哪种编解码器,并将其与AppleALC 的布局相匹配。AppleALC 支持的编解码器。
- 您可以直接删除此属性,因为我们目前未使用它
对我们来说,我们将使用boot-argalcid=xxx
来完成此操作。alcid
将覆盖所有其他存在的布局ID。安装后页面中介绍了有关此的更多信息
:::
Delete
从地图中删除设备属性,对我们来说我们可以忽略它
Kernel
Add
在这里,我们指定要加载哪些kext,以什么特定顺序加载,以及每个kext 适用于什么架构。默认情况下,我们建议保留ProperTree 所做的工作。
您需要记住的主要事项是:
- 加载顺序
- 请记住,任何插件都应在其依赖项之后加载
- 这意味着像Lilu 这样的kext必须先于VirtualSMC、AppleALC、WhateverGreen 等
提醒一下,ProperTree用户可以运行Cmd/Ctrl + Shift + R以正确的顺序添加他们的所有kext,而无需手动输入每个kext。
- 拱
- 此kext 支持的架构
- 当前支持的值为
Any
、i386
(32 位)和x86_64
(64 位)
- 捆绑路径
- kext 的名称
- 前任:
Lilu.kext
- 启用
- 不言自明,启用或禁用kext
- 可执行路径
- 实际可执行文件的路径隐藏在kext 中,您可以通过右键单击并选择来查看您的kext 的路径
Show Package Contents
。通常,它们会是Contents/MacOS/Kext
,但有些将kexts 隐藏在Plugin
文件夹下。请注意,仅plist kexts 不需要填写此内容。 - 前任:
Contents/MacOS/Lilu
- 实际可执行文件的路径隐藏在kext 中,您可以通过右键单击并选择来查看您的kext 的路径
- 最小内核
- 您的kext 将被注入的最低内核版本,请参阅下表了解可能的值
- 前任。
12.00.00
对于OS X 10.8
- 最大内核
- 您的kext 将被注入的最高内核版本,请参阅下表了解可能的值
- 前任。
11.99.99
对于OS X 10.7
- 列表路径
info.plist
kext 中隐藏的路径- 前任:
Contents/Info.plist
::: details 内核支持表
OS X Version | MinKernel | MaxKernel |
---|---|---|
10.4 | 8.0.0 | 8.99.99 |
10.5 | 9.0.0 | 9.99.99 |
10.6 | 10.0.0 | 10.99.99 |
10.7 | 11.0.0 | 11.99.99 |
10.8 | 12.0.0 | 12.99.99 |
10.9 | 13.0.0 | 13.99.99 |
10.10 | 14.0.0 | 14.99.99 |
10.11 | 15.0.0 | 15.99.99 |
10.12 | 16.0.0 | 16.99.99 |
10.13 | 17.0.0 | 17.99.99 |
10.14 | 18.0.0 | 18.99.99 |
10.15 | 19.0.0 | 19.99.99 |
11 | 20.0.0 | 20.99.99 |
12 | 21.0.0 | 21.99.99 |
:::
Emulate
::: tip Info 与CPUID 欺骗相关的设置。
Quirk | Enabled |
---|---|
Cpuid1Data | 55060A00 00000000 00000000 00000000 |
Cpuid1Mask | FFFFFFFF 00000000 00000000 00000000 |
::: |
Force
用于从系统卷中加载kext,仅与缓存中不存在某些kext 的旧操作系统相关(即10.6 中的IONetworkingFamily)。
对我们来说,我们可以忽略。
Block
阻止某些kexts 加载。与我们无关。
Patch
Patches both the kernel and kexts.
修补内核和kexts。
::: 提示修复I225-V 控制器
此条目与高端Comet Lake 板上的英特尔I225-V 2.5GBe 控制器有关,我们将在这里做的是欺骗Apple 的I225LM 驱动程序以支持我们的I225-V 网络控制器。这仅在Catalina 和Big Sur 上才需要,最高11.3。
Key | Type | Value |
---|---|---|
Base | String | __Z18e1000_set_mac_typeP8e1000_hw |
Comment | String | I225-V patch |
Count | Number | 1 |
Enabled | Boolean | True |
Find | Data | F2150000 |
Identifier | String | com.apple.driver.AppleIntelI210Ethernet |
MinKernel | String | 19.0.0 |
MaxKernel | String | 20.4.0 |
Replace | Data | F3150000 |
- 注意1:如果您的主板未配备Intel I225 NIC,则没有理由添加此条目。
- 注意2:将所有其他键保留为默认值
:::
::: tip 禁用RTC 唤醒调度
此补丁存在于OpenCore 示例中,Kernel -> Patch -> 5
如果您尚未删除其他示例补丁,它将位于该补丁之下。在这种情况下,您不必手动输入此补丁,而只需将Enabled
补丁中的密钥设置为true。如果由于某种原因您的配置中没有此补丁,请将此条目添加到您的配置中:
Key | Type | Value |
---|---|---|
Arch | String | Any |
Base | String | __ZN8AppleRTC18setupDateTimeAlarmEPK11RTCDateTime |
Comment | String | Disable RTC wake scheduling |
Count | Number | 1 |
Enabled | Boolean | YES |
Find | Data | <> |
Identifier | String | com.apple.driver.AppleRTC |
Limit | Number | 0 |
Mask | Data | <> |
MaxKernel | String | (this value should be empty, do not add this string to your config) |
MinKernel | String | 19.0.0 |
Replace | Data | C3 |
ReplaceMask | Data | <> |
Skip | Number | 0 |
Marvell (Aquantia) 内核补丁部分不需要任何修改。它看起来像这样:
Quirks
::: tip Info
与内核相关的设置,对我们来说,我们将启用以下功能:
Quirk | Enabled | Comment |
---|---|---|
AppleXcpmCfgLock | YES | Disable this quirk if CFG Lock is disabled in the BIOS. |
DisableIoMapper | YES | Disable this quirk if VT-d is disabled in the BIOS. |
LapicKernelPanic | NO | HP Machines will require this quirk. |
PanicNoKextDump | YES | |
PowerTimeoutKernelPanic | YES | |
ProvideCurrentCpuInfo | YES | |
XhciPortLimit | YES | Disable if running macOS 11.3+. |
::: details More in-depth Info
- AppleCpuPmCfgLock : NO
只有在BIOS 中无法禁用CFG-Lock 时才需要
仅适用于Ivy Bridge 及以上- Note: Broadwell 和更早版本在运行10.10 或更早版本时需要此设置
- AppleXcpmCfgLock : YES
只有在BIOS 中无法禁用CFG-Lock 时才需要
仅适用于Haswell 及更新版本- 注意:Ivy Bridge-E 也包含在内,因为它支持XCPM
- CustomSMBIOSGuid : NO
对设置为的UpdateSMBIOSMode 执行GUID 修补Custom
。通常与戴尔笔记本电脑相关
使用UpdateSMBIOSMode 自定义模式启用此怪癖还可以禁用SMBIOS 注入“非Apple” 操作系统,但我们不认可此方法,因为它破坏了Bootcamp 兼容性。使用风险自负 - DisableIoMapper : YES
- 如果无法在BIOS 中禁用或需要其他操作系统,则需要绕过VT-D,更好的替代方案
dart=0
是SIP 可以在Catalina 中保留 - DisableLinkeditJettison : YES
- Lilu 等拥有更可靠的性能,无需
keepsyms=1
- DisableRtcChecksum : NO
防止AppleRTC 写入主校验和(0x58-0x59),对于接收BIOS 重置或在重新启动/ 关闭后被发送到安全模式的用户来说是必需的 - ExtendBTFeatureFlags NO
对于那些使用非Apple / 非Fenvi 卡有连续性问题的人很有帮助 - LapicKernelPanic : NO
禁用AP 核心lapic 中断上的内核恐慌,HP 系统通常需要此功能。三叶草当量是Kernel LAPIC
- LegacyCommpage : NO
解决了macOS 中64 位CPU 的SSSE3 要求,主要与64 位Pentium 4 CPU(即Prescott)相关 - PanicNoKextDump : YES
允许在发生内核崩溃时读取内核崩溃日志 - PowerTimeoutKernelPanic : YES
帮助修复与macOS Catalina 中Apple 驱动程序的电源更改相关的内核恐慌,尤其是数字音频。 - SetApfsTrimTimeout :
-1
为SSD 上的APFS 文件系统设置修剪超时(以微秒为单位),仅适用于macOS 10.14 和更新版本的有问题的SSD。 - XhciPortLimit : NO
- 这实际上是15 端口限制补丁,不要依赖它,因为它不是修复USB 的保证解决方案。请尽可能创建USB 映射。
- 对于macOS 11.3+,XhciPortLimit 可能无法按预期运行。我们建议用户在升级或从Windows映射之前禁用此怪癖和映射。您也可以安装macOS 11.2.3 或更早版本。
原因是UsbInjectAll 在没有适当当前调整的情况下重新实现了内置的macOS 功能。仅在单个plist-only kext 中描述您的端口要干净得多,这不会浪费运行时内存等
:::
Scheme
与旧版启动相关的设置(即10.4-10.6),对于大多数人来说,您可以跳过,但是对于那些计划启动旧版操作系统的人,您可以在下面看到:
::: details More in-depth Info
- FuzzyMatch : True
用于忽略内核缓存的校验和,而不是选择可用的最新缓存。在10.6 中可以帮助提高许多机器上的启动性能 - KernelArch : x86_64
设置内核的arch 类型,可以在Auto
、i386
(32 位)和x86_64
(64 位)之间进行选择。
如果您正在引导需要32 位内核(即10.4 和10.5)的旧操作系统,我们建议将其设置为Auto
并让macOS 根据您的SMBIOS 来决定。有关支持的值,请参见下表:- 10.4-10.5 —
x86_64
,i386
ori386-user32i386-user32
指32 位用户空间,因此32 位CPU 必须使用此(或缺少SSSE3 的CPU)x86_64
仍将具有32 位内核空间,但将确保10.4/5 中的64 位用户空间10.6 —i386
,i386-user32
, orx86_64
10.7 —i386
orx86_64
10.8 or newer —x86_64
- 10.4-10.5 —
- KernelCache : Auto
设置内核缓存类型,主要用于调试,所以我们建议Auto
最好的支持
:::
Misc
Boot
启动屏幕的设置(将所有内容保留为默认值)
Debug
::: tip Info
有助于调试OpenCore 启动问题:
Quirk | Enabled |
---|---|
AppleDebug | YES |
ApplePanic | YES |
DisableWatchDog | YES |
Target | 67 |
:::
::: details More in-depth Info
- AppleDebug : YES
启用boot.efi 日志记录,对调试很有用。请注意,这仅在10.15.4 和更高版本上受支持 - ApplePanic : YES
- 尝试将内核恐慌记录到磁盘
- DisableWatchDog : YES
- 禁用UEFI 看门狗,可以帮助解决早期启动问题
- DisplayLevel :
2147483650
- 显示更多调试信息,需要OpenCore 的调试版本
- SerialInit : NO
- 需要使用OpenCore 设置串行输出
- SysReport : NO
有助于调试,例如转储ACPI 表
请注意,这仅限于OpenCore 的DEBUG 版本 - Target :
67
显示更多调试信息,需要OpenCore 的调试版本
这些值基于OpenCore 调试中计算的值
:::
Security
::: tip Info
安全性是不言自明的,不要跳过。我们将更改以下内容:
Quirk | Enabled | Comment |
---|---|---|
AllowNvramReset | YES | |
AllowSetDefault | YES | |
BlacklistAppleUpdate | YES | |
ScanPolicy | 0 | |
SecureBootModel | Default | 将其保留为Default 运行macOS Big Sur 或更新版本。 |
Vault | Optional | 设置为Optional ,注意区分大小写。 |
:::
::: details More in-depth Info
- AllowNvramReset : YES
允许在引导选择器中和按下时重置NVRAMCmd+Opt+P+R
- AllowSetDefault : YES
允许CTRL+Enter
并CTRL+Index
在选择器中设置默认启动设备 - ApECID : 0
用于收集个性化的安全启动标识符,目前由于macOS 安装程序中的错误,此怪癖是不可靠的,因此我们强烈建议您将其保留为默认值 - AuthRestart : NO
为FileVault 2 启用经过身份验证的重新启动,因此重新启动时不需要密码。可以被认为是安全风险,因此可选 - BlacklistAppleUpdate : YES
用于阻止固件更新,用作macOS Big Sur 不再使用run-efi-updater
变量的额外保护级别 - DmgLoading : Signed
确保仅加载签名的DMG - ExposeSensitiveData :
6
显示更多调试信息,需要OpenCore 的调试版本 - Vault :
Optional
我们不会处理vaulting 所以我们可以忽略,你不会用这个设置启动到Secure这是一个词,省略这个设置不是可选的。不设置会后悔的Optional
,注意区分大小写 - ScanPolicy :
0
0
允许您查看所有可用的驱动器。将此设置为默认值时不会启动USB 设备 - SecureBootModel : Default
控制Apple 在macOS 中的安全启动功能 - 注意:用户可能会发现在已安装的系统上升级OpenCore 可能会导致早期启动失败。要解决此问题,请参见此处:卡在OCB 上:LoadImage failed – Security Violation
:::
Tools
用于运行shell 等OC 调试工具,ProperTree 的快照功能会为您添加这些。
Entries
用于指定OpenCore 无法自然找到的不规则引导路径。此处不再赘述,有关更多信息,请参阅Configuration.pdf 的8.6
NVRAM
Add
::: tip 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
用于OpenCore 的UI 缩放,默认为我们工作。有关更多信息,请参阅深入部分
::: details More in-depth Info
Booter Path,主要用于UI 缩放
- UIScale :
01
: Standard resolution02
: HiDPI (generally required for FileVault to function correctly on smaller displays)- DefaultBackgroundColor : Background color used by boot.efi
00000000
: Syrah BlackBFBFBF00
: Light Gray
:::
::: tip 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102
由于macOS 无法辨识CPU 型号,这次使用参数来强迫显示CPU 资讯
OpenCore 的NVRAM GUID,主要与RTCMemoryFixup 用户相关
:::
::: details More in-depth Info
- rtc-blacklist : <>
- 要与RTCMemoryFixup 结合使用,请参阅此处了解更多信息:修复RTC 写入问题
- 大多数用户可以忽略此部分
:::
::: tip 7C436110-AB2A-4BBB-A880-FE41995C9F82
系统完整性保护位掩码
- 常用在 bot-args 引导参数:
boot-args | Description |
---|---|
-v | 这将启用详细模式,该模式显示所有在您启动时滚动的幕后文本,而不是Apple 徽标和进度条。 它对任何Hackintosher 来说都是无价之宝,因为它可以让您深入了解启动过程,并可以帮助您识别问题、问题kexts 等。 |
debug=0x100 | 这会禁用macOS 的看门狗,这有助于防止内核崩溃时重新启动。 通过这种方式,您有望收集到一些有用的信息并按照面包屑导航来解决问题。 |
keepsyms=1 | 这是debug=0x100 的配套设置,它告诉操作系统在内核恐慌时也打印符号。这可以为导致恐慌本身的原因提供一些更有用的见解。 |
alcid=1 | 用于为AppleALC 设置layout-id,请参阅支持的编解码器以找出用于特定系统的布局。 |
- 网络特定的引导参数:| 引导参数| 说明| | :— | :— | | dk.e1000=0 | 禁用
com.apple.DriverKit-AppleEthernetE1000
(Apple 的DEXT 驱动程序)与高端Comet Lake 板上的Intel I225-V 以太网控制器匹配,从而改为加载Apple 的I225 kext 驱动程序。
这个引导参数在大多数板上是可选的,因为它们与DEXT 驱动程序兼容。但是,在技嘉和其他几块主板上需要它,它们只能使用kext 驱动程序,因为DEXT 驱动程序会导致挂起。
如果您的主板未附带I225-V NIC,则不需要此功能。 | - GPU 特定的引导参数:
boot-args | Description |
---|---|
agdpmod=pikera | 用于禁用Navi GPU(RX 5000 和6000 系列)上的板ID 检查,否则您将获得黑屏。 如果您没有Navi,请勿使用(即Polaris 和Vega 卡不应使用此功能) |
- Alder Lake-specific boot-args :
boot-args | Description |
---|---|
-ctrsmt | 仅与CpuTopologyRebuild kext一起使用 以编辑CPU 拓扑,以潜在地提高与使用E 核相关的性能。 使用风险自负。 |
- csr-active-config :
00000000
“系统完整性保护”(SIP) 的设置。通常建议csrutil
通过恢复分区更改此设置。
csr-active-config 默认设置为00000000
启用系统完整性保护。您可以选择多个不同的值,但总体而言,我们建议启用此选项以获得最佳安全实践。更多信息可以在我们的故障排除页面中找到:禁用SIP - run-efi-updater :
N
这用于防止Apple 的固件更新包安装和破坏启动顺序;这很重要,因为这些固件更新(适用于Mac)将不起作用。 - prev-lang:kbd : <>
格式的非拉丁键盘需要,lang-COUNTRY:keyboard
尽管您可以指定它,但建议保留空白(示例配置中的默认值为俄语):
American:en-US:0
(656e2d55533a30
in HEX) - 完整列表可在AppleKeyboardLayouts.txt 中找到
- 提示:
prev-lang:kbd
可以改成String,这样就可以en-US:0
直接输入而不是转换成HEX
Key | Type | Value |
---|---|---|
prev-lang:kbd | String | zh-Hant:2 |
:::
Delete
::: tip Info
强制重写NVRAM 变量,请注意Add
不会覆盖NVRAM 中已经存在的值,因此boot-args
应该单独保留类似的值。对我们来说,我们将更改以下内容:
Quirk | Enabled |
---|---|
WriteFlash | YES |
:::
::: details More in-depth Info
- LegacyEnable : NO
允许将NVRAM 存储在nvram.plist 上,这对于没有本机NVRAM 的系统是必需的 - LegacyOverwrite : NO
允许从nvram.plist 覆盖固件变量,仅适用于没有本机NVRAM 的系统 - LegacySchema
用于分配NVRAM 变量,与LegacyEnable 设置为YES 一起使用 - WriteFlash : YES
为所有添加的变量启用写入闪存。
:::
PlatformInfo
::: tip Info
为了设置SMBIOS 信息,我们将使用CorpNewt 的GenSMBIOS应用程序。
对于本例,我们将选择MacPro7,1 SMBIOS。 Alder Lake 有两种主要的SMBIOS:
SMBIOS | Hardware |
---|---|
MacPro7,1 | Use if installing Catalina or later |
iMacPro1,1 | Use if installing Mojave |
运行GenSMBIOS,选择选项1 下载MacSerial,选择选项3 选择我们的SMBIOS。这将为我们提供类似于以下的输出:
####################################################### | |
# MacPro7,1 SMBIOS Info # | |
####################################################### | |
Type: MacPro7,1 | |
Serial: F5KZV0JVP7QM | |
Board Serial: F5K9518024NK3F7JC | |
SmUUID: 535B897C-55F7-4D65-A8F4-40F4B96ED394 | |
Apple ROM: 001D4F0D5E22 |
- 注意:MacSerial 目前不支持Linux,因此您必须使用Windows 或macOS 机器来生成值
The Type
part gets copied to Generic -> SystemProductName.
The Serial
part gets copied to Generic -> SystemSerialNumber.
The Board Serial
part gets copied to Generic -> MLB.
The SmUUID
part gets copied to Generic -> SystemUUID.
The Apple ROM
part gets copied to Generic -> ROM.
我们将Generic -> ROM 设置为Apple ROM(从真正的Mac 转储)、您的NIC MAC 地址或任何随机MAC 地址(可能只是6 个随机字节,对于本指南,我们将使用11223300 0000
. 安装后按照修复iServices页面,了解如何找到您的真实MAC 地址)
提醒您需要无效的序列号或有效的序列号但未使用的序列号,您希望收到一条消息,例如:“无效序列号” 或“未验证购买日期”
Automatic : YES
- 基于Generic 部分而不是DataHub、NVRAM 和SMBIOS 部分生成PlatformInfo
:::
Generic
::: details More in-depth Info
- AdviseFeatures : NO
用于当EFI 分区不是第一个在Windows 驱动器上时 - MaxBIOSVersion : NO
将BIOS 版本设置为Max 以避免Big Sur+ 中的固件更新,主要适用于正版Mac。 - ProcessorType :
0
设置0
为自动类型检测,但如果需要,可以覆盖此值。有关可能的值,请参见AppleSmBios.h - SpoofVendor : YES
交换Acidanthera 的供应商字段,在大多数情况下使用Apple 作为供应商通常不安全 - SystemMemoryStatus : Auto
在SMBIOS 信息中设置是否焊接内存,纯粹是装饰性的,所以我们推荐Auto
- UpdateDataHub : YES
Update Data Hub fields - UpdateNVRAM : YES
Update NVRAM fields - UpdateSMBIOS : YES
Updates SMBIOS fields - UpdateSMBIOSMode : Create
用新分配的EfiReservedMemoryType 替换表,用于Custom
需要quirk 的戴尔笔记本电脑CustomSMBIOSGuid
设置为Custom
启用CustomSMBIOSGuid
quirk 也可以禁用SMBIOS 注入“非Apple” 操作系统,但我们不认可这种方法,因为它破坏了Bootcamp 的兼容性。使用风险自负
:::
UEFI
ConnectDrivers : YES
- 强制.efi 驱动程序,更改为NO 将自动连接添加的UEFI 驱动程序。这可以稍微加快启动速度,但并非所有驱动程序都自行连接。例如,某些文件系统驱动程序可能无法加载。
Drivers
在此处添加您的.efi 驱动程序。
- HfsPlus.efi
- OpenRuntime.efi
APFS
默认情况下,OpenCore 仅从macOS Big Sur 和更新版本加载APFS 驱动程序。如果您正在引导macOS Catalina 或更早版本,您可能需要设置新的最低版本/ 日期。不设置这可能会导致OpenCore 找不到您的macOS 分区!
macOS Sierra 及更早版本使用HFS 而不是APFS。如果引导旧版本的macOS,您可以跳过此部分。
::: tip APFS Versions
如果更改最低版本,则需要同时设置MinVersion 和MinDate。
macOS Version | Min Version | Min Date |
---|---|---|
High Sierra ( 10.13.6 ) |
748077008000000 |
20180621 |
Mojave ( 10.14.6 ) |
945275007000000 |
20190820 |
Catalina ( 10.15.4 ) |
1412101001000000 |
20200306 |
No restriction | -1 |
-1 |
:::
Audio
与AudioDxe 设置相关,对我们来说,我们将忽略(保持默认)。这与macOS 中的音频支持无关。
- 如需进一步使用AudioDxe 和音频部分,请参阅安装后页面:添加GUI 和启动提示
Input
与用于FileVault 和热键支持的boot.efi 键盘直通相关,将此处的所有内容保留为默认值,因为我们对这些怪癖没有用处。
Output
关于OpenCore 的视觉输出,将这里的所有内容都保留为默认值,因为我们对这些怪癖没有用处。
ProtocolOverrides
主要与虚拟机、旧版Mac 和FileVault 用户相关。
Quirks
::: tip Info
Relating to quirks with the UEFI environment, for us we'll be changing the following:
Quirk | Enabled | Comment |
---|---|---|
UnblockFsConnect | NO | Needed mainly by HP motherboards |
:::
::: details More in-depth Info
- DisableSecurityPolicy : NO
禁用固件中的平台安全策略,建议用于禁用安全启动不允许加载第3 方固件驱动程序的错误固件。
如果运行Microsoft Surface 设备,建议启用此选项 - RequestBootVarRouting : YES
将AptioMemoryFix 从重定向EFI_GLOBAL_VARIABLE_GUID
到OC_VENDOR_VARIABLE_GUID
。当固件尝试删除引导条目时需要,建议在所有系统上启用以正确安装更新、启动磁盘控制面板运行等。 - UnblockFsConnect : NO
某些固件通过在按驱动程序模式下打开它们来阻止分区句柄,这导致文件系统协议无法安装。主要与未列出驱动器时的HP 系统相关
:::
ReservedMemory
用于免除操作系统使用某些内存区域,主要与Sandy Bridge iGPU 或内存故障的系统相关。
结语
本教学仍有不足的地方,将会继续的补充更加完整。本教学是根据10/11th 黑果+ Tonymacx86.net + Dortania 整合而成,社长尽可能将每个步骤转化为中文解说,以简短易懂的文字来叙述。若有漏字、文意不清等情形,尽快地告诉我,将立即修正。
评论0