OpenCore 引导 Alder Lake (12th-Gen Intel) Hackintos黑苹果配置教程

前言

这是制作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

主要推荐: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-ALTACPI 表。

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 添加ACPI
Processor对象,因为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值选项,非常有助于解决内存分配问题,ProtectUefiServicesZ490、Z590 和Z690 也需要。
  • EnableSafeModeSlide:是
    • 使幻灯片变量能够在安全模式下使用。
  • EnableWriteUnprotector:否
    • 这个怪癖和RebuildAppleMemoryMap 通常会发生冲突,建议在较新的平台上启用后者并禁用此条目。但是,由于OEM 未使用最新的EDKII 版本,您可能会发现上述组合会导致早期启动失败。这是由于缺少MEMORY_ATTRIBUTE_TABLE,因此我们建议禁用RebuildAppleMemoryMap 并启用EnableWriteUnprotector。有关这方面的更多信息,请参阅故障排除部分
  • 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 支持的架构
    • 当前支持的值为Anyi386(32 位)和x86_64(64 位)
  • 捆绑路径
    • kext 的名称
    • 前任:Lilu.kext
  • 启用
    • 不言自明,启用或禁用kext
  • 可执行路径
    • 实际可执行文件的路径隐藏在kext 中,您可以通过右键单击并选择来查看您的kext 的路径Show Package Contents。通常,它们会是Contents/MacOS/Kext,但有些将kexts 隐藏在Plugin文件夹下。请注意,仅plist kexts 不需要填写此内容。
    • 前任:Contents/MacOS/Lilu
  • 最小内核
    • 您的kext 将被注入的最低内核版本,请参阅下表了解可能的值
    • 前任。12.00.00对于OS X 10.8
  • 最大内核
    • 您的kext 将被注入的最高内核版本,请参阅下表了解可能的值
    • 前任。11.99.99对于OS X 10.7
  • 列表路径
    • info.plistkext 中隐藏的路径
    • 前任: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 类型,可以在Autoi386(32 位)和x86_64(64 位)之间进行选择。
    如果您正在引导需要32 位内核(即10.4 和10.5)的旧操作系统,我们建议将其设置为Auto并让macOS 根据您的SMBIOS 来决定。有关支持的值,请参见下表:

    • 10.4-10.5 —  x86_64,  i386 or i386-user32i386-user32指32 位用户空间,因此32 位CPU 必须使用此(或缺少SSSE3 的CPU)x86_64仍将具有32 位内核空间,但将确保10.4/5 中的64 位用户空间10.6 —  i386,  i386-user32, or  x86_6410.7 —  i386 or  x86_6410.8 or newer — x86_64
  • 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+EnterCTRL+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 resolution
  • 02: HiDPI (generally required for FileVault to function correctly on smaller displays)
  • DefaultBackgroundColor : Background color used by boot.efi
  • 00000000: Syrah Black
  • BFBFBF00: 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:0656e2d55533a30 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 地址)

提醒您需要无效的序列号或有效的序列号但未使用的序列号,您希望收到一条消息,例如:“无效序列号” 或“未验证购买日期”

Apple Check Coverage page

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启用CustomSMBIOSGuidquirk 也可以禁用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 中的音频支持无关。

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_GUIDOC_VENDOR_VARIABLE_GUID。当固件尝试删除引导条目时需要,建议在所有系统上启用以正确安装更新、启动磁盘控制面板运行等。
  • UnblockFsConnect : NO
    某些固件通过在按驱动程序模式下打开它们来阻止分区句柄,这导致文件系统协议无法安装。主要与未列出驱动器时的HP 系统相关

:::

ReservedMemory

用于免除操作系统使用某些内存区域,主要与Sandy Bridge iGPU 或内存故障的系统相关。

结语

本教学仍有不足的地方,将会继续的补充更加完整。本教学是根据10/11th 黑果+ Tonymacx86.net + Dortania 整合而成,社长尽可能将每个步骤转化为中文解说,以简短易懂的文字来叙述。若有漏字、文意不清等情形,尽快地告诉我,将立即修正。

原文链接:https://imacos.top/2025/02/14/12th/,转载请注明出处。
0
1. 本站所有资源解压密码均为imacos.top
2. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
3. 如有无法下载的链接,联系:邮箱271638927@qq.com,或直接联系QQ271638927进行反馈,我们将及时进行处理。
4. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:邮箱271638927@qq.com,我们将第一时间配合处理!

评论0

请先
终身会员限时上线 ☞ 限时永久会员折扣活动开始啦 > 查看优惠
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码