Indie Hackers - 創業駭客 (NoCode, Webflow)

一鍵生成黑蘋果 OpenCore EFI 文件:OC.Gen-X

概述

本文最後更新:2022年4月26日

OC.Gen-X 是一款主要由 Pavo-IM Pavo 開發的小工具,用於一鍵生成適用於 OpenCore 的 EFI 引導資料夾(各項設置基於 Dortania 的 OpenCore 安裝指南)。不過該 app 需要 macOS 環境才能運行,沒有的用戶可以先使用虛擬機安裝 macOS(macOS 10.15 即可),配置好 EFI 資料夾后可以通過刻錄鏡像的方式安裝 macOS,基礎安裝教程可參考此連結

截止目前,該軟體支持以下硬體平台:

  • 英特爾
    • 消費級
      • Ivy Bridge(第三代酷睿)
      • Haswell 和 Broadwell(第四、五代酷睿)
      • Skylake(第六代酷睿)
      • Kaby Lake(第七代酷睿)
      • Coffee Lake(第八、九代酷睿)
      • Comet Lake(第十代酷睿)
    • HEDT 平台
      • Haswell-E(第五代酷睿 X99 平台)
      • Broadwell-E(第六代酷睿 X99 平台)
      • Skylake-X/W 和 Cascade Lake-X/W(第七、九、十代酷睿 X 系列和 Xeon 系列)
  • AMD
    • Ryzen Zen/Zen2(銳龍和 Threadripper 線程撕裂者)
    • Proxintosh(Qemu+KVM)
    • Gen 3 Threadripper(TRX40)
  • 軟體更新頻率很高,一般情況下默認支持 OpenCore 最新版本

接下來本文將指導如何使用這款軟體生成 OpenCore EFI 引導文件,本文默認你擁有並正在使用 macOS 環境。

OpenCore 是什麼?

目前黑蘋果安裝主要通過使用 EFI 引導 程式(Bootloader)的方法,現在較為流行的有 Clover 和 OpenCore。Clover 從變色龍時代進化而來,背負了很多沉重的歷史包袱,為兼容性做出了各種妥協。OpenCore 在設計之初理念就較為先進,並且丟掉了不少 Clover 的歷史包袱,輕裝前行。理論上 OpenCore 可以正確引導所有基於 UEFI 技術的現代操作系統,也就是常見的 Windows、Linux、macOS 都是能被支持的,但目前 OpenCore 應用最多的就是黑蘋果的安裝使用。

OpenCore 的優勢:

  • 由 acidanthera 團隊主導開發的黑蘋果驅動已經全面轉向 OpenCore,例如音效卡 AppleALC、顯卡 WhateverGreen、核心擴展 Lilu 等等,均不再測試 Clover 的兼容性,這些驅動是使用黑蘋果必不可少的;
  • 一般來說,OpenCore 系統的啟動速度比使用 Clover 的系統快;
  • 支持 UEFI 和傳統啟動引導模式(Legacy);
  • Mask Patching 意味著 macOS 的更新幾乎不會破壞基於 AMD 的黑蘋果系統,而 OpenCore 擁有的 AMD OSX Patches 支持 High Sierra,Mojave 和 Catalina 的所有版本。

OpenCore 其它方面的優勢這裡不再贅述,目前已經有足夠多的 OpenCore 教程和資料,黑蘋果星球不再重複造輪子,下面的連結都非常有參考價值:

更多 OpenCore 詳解,請參閱:一步一步從零遷移到 OpenCore

一鍵生成 OpenCore EFI 文件

接下來,我們運行 OC.Gen-X,根據自己的硬體平台勾選對應的設置,Demo機型配置如下表:

配件

品牌

型號

數量

備註

配件

品牌

型號

數量

備註

CPU

英特爾

i9-9900k

1

主板

華碩

ROG Maximus X Hero

1

Z370

記憶體

美商海盜船

復仇者 DDR4 8GB 3000MHz

4

支持X.M.P

顯卡

AMD

RX 5700XT 50周年紀念版

1

硬碟

西部數據

SN750 1TB

1

藍牙&WiFi

奮威

FV-T919

1

BCM94360CD

下面根據Demo機型進行配置,見圖:

更新:絕大多數台式機無需 SMCLightSensor(光感測器),如果是內置了光感測器的一體機可以勾選,遇到問題請取消。

2020年11月29日更新:2.7.0 以上版本整合了 AGPMInjector.app,生成的 kext 用於控制獨顯功耗等功能,照下圖邏輯操作即可。

關於 SMBIOS:

  • 這個可以理解成白蘋果電腦的機型 ID,不同的標識符對應不同的白蘋果產品線,數字則代表是第幾代及其它配置區別,例如 iMac19,1 是一體機,Macmini8,1 是迷你機,MacPro7,1 是刨絲器專業工作站。
  • 明白了上一點,接下來就容易理解了:黑蘋果其實就是抄作業,使用相同或近似的硬體配置來仿冒白蘋果機型,欺騙 macOS 讓它以為自己運行在真正的 Mac 上,從而達到「黑」的目的(當然機型 ID 只是其中一環)。
  • 如何選擇適合你的 SMBIOS ID,請參閱:SIMBIOS ID、Platform-ID速查表
  • 如果你想把三個空都一併填了,請參閱:給黑蘋果注入三碼

參數解釋:

  • -v 用於打開跑碼模式,方便排錯;
  • debug=0x100 用於發生嚴重錯誤(Kernel Panic)后禁止自動重啟,將停留在出錯位置,方便排錯;
  • keepsyms=1 用於輔助上一個啟動參數,可以對錯誤原因提供更多有用的資訊;
  • agdpmod=pikera 用於解決 Navi 核心的顯卡啟動黑屏問題,如果你是 Polaris(RX400/RX500) 或 Vega(56/64) 顯卡則無需此項;
  • 使用 Nvidia 顯卡請添加 nvda_drv=1;
  • 筆記本如需關閉獨顯請添加 -wegnoegpu;
  • X99、X299 平台以及部分 AMD 平台需要添加 npci=0x2000 或 npci=0x3000,當跑程式碼卡在 PCI Start Configuration 時使用;
    • 只有 AMD 平台的 BIOS 沒有 Above 4G Decoding 選項時添加此參數,二者不可同時使用。
  • alcid=11 是 AppleALC.kext 用於驅動音效卡的參數,Demo機型板載 ALC1220 晶元,可使用 layout-id 11 驅動音效卡,其它晶元可參考 AppleALC.kext 提供的解碼器支持表單和驅動更新日誌

現在,生成的 EFI 資料夾會出現在你的桌面,見圖:

添加 SSDT

OC.Gen-X 默認不會添加任何 SSDT 文件,但大部分硬體配置正常運行 OpenCore 是需要 SSDT 文件的。所以,根據硬體配置的不同,還需要添加 OpenCore 適配的 SSDT 文件,否則一定會卡在跑碼啟動階段。

[Intel 桌面端](javascript:void(0))

[AMD 桌面端](javascript:void(0))

  • AMD
    • Bulldozer、Jaguar、Ryzen、ThreadRipper
      • SSDT-EC0.aml
        • 或使用 ACPI 重命名補丁,Rename PNP0C09 to PNPFFFF

[Intel HEDT 平台](javascript:void(0))

上述連結中的內容可使用 MaciASL.app 直接編譯為 .aml 文件,也可直接下載黑蘋果星球整理好的文件包:

當前隱藏內容被隱藏

已有96463次閱讀

贊助永久會員免費查看

最後,把以上你需要的 SSDT 文件放到 /EFI/OC/ACPI/ 目錄,並在 config.plist 文件中啟用:(下圖使用的軟體是 OpenCore Configurator,點擊「瀏覽」添加指定文件)

更多 OpenCore 詳解,請參閱:一步一步從零遷移到 OpenCore 中關於 SSDT 部分

BIOS 設置

[Intel 桌面端](javascript:void(0))

Ivy Bridge(桌面端,第三代酷睿)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)
      • DVMT Pre-Allocated:32MB 及以上

Haswell 和 Broadwell(桌面端,第四、五代酷睿)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)
      • DVMT Pre-Allocated:64MB 及以上

Skylake(桌面端,第六代酷睿)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)
      • DVMT Pre-Allocated:64MB 及以上

Kabylake(桌面端,第七代酷睿)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)
      • DVMT Pre-Allocated:64MB 及以上

Coffeelake(桌面端第八、九代酷睿)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)
      • DVMT Pre-Allocated:64MB 及以上

Comet Lake(桌面端,第十代酷睿)

  • Comet Lake 平台建議安裝 macOS 10.15.5 及以上
  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)
      • DVMT Pre-Allocated:64MB 及以上

[Intel HEDT 平台](javascript:void(0))

Haswell-E(第五代酷睿 X99 平台)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)

Broadwell-E(第六代酷睿 X99 平台)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)

Skylake-X/W 和 Cascade Lake-X/W(第七、九、十代酷睿X 和 Xeon)

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • VT-d(可以開啟,前提是 DisableIoMapper 設置為 Yes)
      • CSM
      • Thunderbolt(全新安裝時不當配置雷電介面可能造成問題,建議安裝完成後再開啟調試)
      • Intel SGX Intel Platform Trust
      • Intel Platform Trust
      • CFG Lock(MSR 0xE2 防寫)此項必須關閉,如果你的 BIOS 里沒有此項,注意設置 AppleCpuPmCfgLock 和 Apple XcpmCfgLock 為 Yes。
    • 開啟
      • VT-x
      • Above 4G decoding
      • Hyper-Threading
      • Execute Disable Bit
      • EHCI/XHCI Hand-off
      • OS type:Other(如果你選擇 Other 會導致 CSM 聯動開啟,選擇 Windows 8.1/10 UEFI Mode)

[AMD 平台](javascript:void(0))

Ryzen 銳龍 和 Threadripper 線程撕裂者

  • BIOS 設置
    • 關閉
      • Fast Boot
      • Secure Boot
      • Compatibility Support Module(CSM)
        • 必須關閉此項,如不關閉將導致 GPU 錯誤例如 gI0
    • 開啟
      • Above 4G decoding
        • 此項必須打開,如果 BIOS 里沒有此選項,則添加 npci=0x2000 添加到啟動參數。二者不要同時啟用使用。)
      • EHCI/XHCI Hand-off
      • OS type:Other

最終檢查

請依次檢查一遍所做的配置和文件,也可通過下面這個網站驗證 config.plist 文件配置正確性。

鏡像和替換 EFI 文件

鏡像下載:目錄 / 10.15 Catalina / 10.14 Mojave / 10.13 High Sierra / 10.12 Sierra / 10.11 El Capitan

安裝教程:U盤版/恢復版安裝教程 / 替換 EFI 文件

救命!我卡在跑程式碼啦!

如果你足夠幸運,那麼上面這些都做完以後,你就可以使用 U 盤開始 macOS 安裝了。但對於卡在跑程式碼過程中的用戶,黑蘋果星球將搜集整理一些解決辦法,列在這篇文章:OpenCore 安裝卡住的拯救手冊Q&A,歡迎回饋沒有提到的問題。

安裝完成後的完善