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