OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》
Initial macOS Support macOS 10.14, Mojave

前言

這是製作 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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

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 主版得加入以下參數。

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》
ASUS Z690 專用

這是 Delete standard DMAR table 所用的參數,一般是不設定。

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

Patch

本節允許我們通過 OpenCore 動態修改 ACPI 的一部分(DSDT、SSDT 等)。補丁乃採用 SSDT 的修護文件處理。這是一個更乾淨的解決方案。

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

如果遇到相關的 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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

本節專門討論與使用 OpenRuntime 修補 boot.efi 相關的怪癖,OpenRuntime 是 AptioMemoryFix.efi 的替代品

MmioWhitelist

這部分允許設備通過通常被忽略的 macOS,對我們來說我們可以忽略這部分。

Quirks

::: tip Info 與 boot.efi 補丁和固件修復相關的設置,對我們來說,我們需要更改以下內容:

NOTE:如果在 BIOS 中啟用了Resizable BAR Support , 請將ResizeAppleGpuBars設置為 0如果設置不正確,系統將啟動黑屏。

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

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) 內核補丁部分不需要任何修改。它看起來像這樣:

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

Quirks

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

::: 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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

安全性是不言自明的,不要跳過。我們將更改以下內容:

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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

Add

::: tip 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

用於 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 Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

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 地址)

提醒您需要無效的序列號或有效的序列號但未使用的序列號,您希望收到一條消息,例如:“無效序列號”或“未驗證購買日期”

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

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

ConnectDrivers: YES

  • 強制 .efi 驅動程序,更改為 NO 將自動連接添加的 UEFI 驅動程序。這可以稍微加快啟動速度,但並非所有驅動程序都自行連接。例如,某些文件系統驅動程序可能無法加載。

Drivers

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

在此處添加您的 .efi 驅動程序。

  • HfsPlus.efi
  • OpenRuntime.efi

APFS

《OpenCore Alder Lake (12th-Gen Intel) Hackintos中文設定教學》

默認情況下,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 整合而成,社長盡可能將每個步驟轉化為中文解說,以簡短易懂的文字來敘述。若有漏字、文意不清等情形,盡快地告訴我,將立即修正。

点赞
Share