前言
OC-GEN-X 工具軟體目前已更新到 OC 0.6.1 發行版,並且支援不平CPU架構,透過該軟體,可以產生出自己所需要的引導文件。然作者仍不斷的修正該工具軟體,並修正不少的BUG,個人經多次測試,並實機操作演練,完全可以直接使用。
這套編輯OC引導文件,是我見過最簡單、快速的編輯方式,100% 針對小白設計的簡單編輯工具。編輯config.plist 完全是無腦式編輯,不同的CPU平台,所需要配置的Quirks,也無需設置,該工具已經預設好了。你只要根據硬體的基本配置,勾選所需要的 kext 和引導參數,最後直接產生EFI文件夾,便可直接安裝使用。
由於該工具軟體OC文件設置定值比較陽春,沒有SSDT、音頻、顯卡、補丁等設定,所以我們得再進一步的優化。以下的教學是我親測試過的路程,只要按照步驟進行編寫文件,很快就容易上手。
ㄧ、事前工作
這裡我就以技嘉Z390 AOURS Pro WiFi 主機板做示範。準備下載工具軟體
- OC-GEN-X
- OpenCore (下載官方版下載最新的release版本)
- OpenCore Configurator OpenCore 編輯工具
- Hackintool
1-1 收集 OPENCORE 文件
OC-ACPI、Drivers、Kexts、Tools
已經內建許多工具,我們只保留自己所需要的工具即可。
ACPI:加入SSDT修補程式。Coffeelake版本
- SSDT-PLUG
- SSDT-EC-USBX
- SSDT AWAC
- SSDT-PMC
- SSDT-UIAC.efi 這是USB端口位置定制的重要文件(自行製作)
- SSDT-EC-USBX.aml 這是USB端口定義的重要文件(自行製作)
Tools:加入調適工具程式
- CFGLock.efi 解鎖 CFG 工具(自行加入)
- CleanNvram.efi 清除NVRAM的工具。
- OpenControl.efi 開啟主控臺
- OpenShell.efi 調適用工具
- ResetSystem.efi 重啟系統
- ResetNvram.efi OC引導並未有該工具,得在Config文件生成。重置Nvram
二、OC-GEN-X 工具
從GitHub 下載最新版本的 OC-GEN-X 工具執行,如下圖。
2-1 設定流程:
- System Type -> Coffee Lake
- Kext -> Essential :Lilu、VirtualSMC
VirtualSMC Plugins:SMCSuperIO、SMCProcessor
Graphics:WhateverGreen。
WhateverGreen Boot-Args:顯卡為RX5000型,請加入agpdmod=pikers,詳細
說明請看這裡。內建的WEG 1.4.2 已修正,無需再加入該參數。
Audio:AppleALC。
AppleALC Boot-Args:這裡加入的音效ID。alcid=1 。這裡不建議加入。
Ethernet:IntelMausi
USB:USBInjectAll
WiFi and Bluetooth:這裡請依你的無線藍牙型號取得相關的kext,這裡不設定。
Extra’s:AppleMCEReportDisabler 這裡不需要 - Firmware Drives:
UEFI:HfsPlus.efi、OpenRuntime.efi 勾選
Legacy(BIOS):這裡不設定。跳過 - SMBIOS:這裡只要填入System Model:iMac19,1或是其他imacPro1,1 其他都不設定。如圖二
- Additional BootArgs:這裡指的是否要填入引導參數。一般來說,大部分用戶所填入的引導參數為 -v keepsyms=1 debug=0x100 npci=0x2000或者是 -v keepsyms=1 debug=0x100 個人選後者
若是你有關看DRM的影音節目,得另外加入 -v shikigva=80 igfxfw=2 -igfxcdc。如圖三。 - Generate EFI:產生EFI 引導文件於桌面上。該文件亦可使用USB引導碟作為引導了。
- 完工。
圖三 加入引導參數
三、用 OpenCore Configurator 來優化引導文件
使用 OC-GEN-X 工具製作OC引導文件,該產生的文件有許多程序被刪除了,這個時候,我們得要把他加回來。請依照下來步驟進行設定。
3-1 APCI 加入SSDT 修正檔 + 加入補丁
ACPI 資料夾內所有文件圈選,直接拉到OCC ACPI 的視窗內,完成啟動路徑。
補丁:Rename H_EC to EC (USB Power) 技嘉、Fix RTC _STA bug 其他廠牌主板,勾選啟動。
3-2 Kernel + Quirks
使用 OC-GEN-X 工具時,基本使用的kext 已經加入了,這裡我們就不做修改。
- Quirks :若 USB 端口已經定制了,圖五的3 取消。反之,勾選。
- CFG :未解除CFG 時,都勾選1,2.4。Kernel -> Quirks -> AppleCpuPmCfgLock + AppleXcpmCfgLock + UEFI -> Quirks -> IgnoreInvalidFlexRatio
3-3 Misc 設定
Boot:HideAuxiliary + ShowPicker 勾選。Timeout 設定為25秒
Security:
- AllowNvramReset + AllowSetDefault 勾選
- Vault 設置為 Optional。
- ExposeSensitiveData =3
- Tools 資料夾所有文件拉放到Tools 視窗,如圖示八
3-4 PlatformInfo 設定機型:
這裡我們就選擇 iMac19,1 。所有參數將會自動填入。
3-5 UEFI 設定:這裡所需要修改的部分不多,大致如下:
- Input:PointerSupportMode 填空
- Output :螢幕解析度 Resolution 選擇適當的值1920×1080,或是不修改
- ProtocolOverrides:AppleSmcIo 勾選
- Quirks:IgnoreInvalidFlexRatio 若是已解除CFG 不勾選。
3-6 存檔 :
難道這樣就結束了嗎?還沒唷,但是我們務必要先存檔。請往下走,選擇上面功能欄位->工具->高手模式->樹形編輯模式。如圖十。使用 OC Gen-X 工具時,把下列幾個參數給刪除了,所以我們要用這個方法,把他加回來。看到這個圖,像不像XCode 呢?
- DeviceProperties -> Add 音頻和顯卡之PCIe 位置
- NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 :
csr-active-config :禁用SIP。
prev-lang:kbd: 系統語言。
3-7 DeviceProperties -> Add
下載OC 0.6.1 發行版的原始檔,開啟 Docs -> Sample.plist 原始文件,請用OCC 工具軟體開啟,千萬記得OCC 開啟的 OC 版號。步驟如下:
- DeviceProperties -> Add:刪除該資料夾
- DeviceProperties -> Add:這裡指的是下載原始檔。複製該ADD ,在剛剛刪除位置貼上。
ADD:設置設備屬性。
PciRoot(0x0)/Pci(0x1b,0x0)
-> Layout-id
修正為PciRoot(0x0)/Pci(0x1f,0x3)
-> 01000000
PciRoot(0x0)/Pci(0x2,0x0)
內顯設定
本部分是通過WhateverGreen的幀緩衝器修補指南設置的,用於修復某些iGPU屬性,例如ig-platform-id
。我們為此獲得適當值的方法是查看打算使用的幀緩衝區,然後交換成對的十六進製字節。
我們使用的兩個ig-platform-id如下:
0x3E9B0007
-使用Desktop iGPU驅動顯示器時使用07009B3E
十六進制交換時
0x3E920003
-當Desktop iGPU僅用於計算任務且不驅動顯示器時使用0300923E
十六進制交換時
值得注意的是,對於10.12-> 10.13.5,您需要在Kaby Lake指南中將iGPU偽造為相同的值,因為這是在原生Coffee Lake iGPU出現之前。10.13.6本地支持Coffee Lake
另外再添加了2個屬性,framebuffer-patch-enable
和framebuffer-stolenmem
。第一個通過WhateverGreen.kext啟用修補程序,第二個將最小失竊內存設置為19MB。這通常是不必要的,因為可以在BIOS中配置(建議64MB),但在不可用時需要配置。
對於在B360,B365,H310,H370,Z390上顯示詳細信息後出現黑屏問題的用戶,請參閱BusID iGPU修補頁面
鍵 | 類型 | 值 |
---|---|---|
AAPL,ig-platform-id | 數據 | 07009B3E |
framebuffer-patch-enable | 數據 | 01000000 |
framebuffer-stolenmem | 數據 | 00003001 |
(這是不帶dGPU且沒有iGPU內存的BIOS選項的桌機 UHD 630的範例)
3-8 NVRAM -> Add
要修改的部分為:7C436110-AB2A-4BBB-A880-FE41995C9F82 -> csr-active-config + prev-lang:kbd
- csr-active-config:SIP的設置,通常建議
csrutil
通過恢復分區在恢復分區內手動更改此設置
csr-active-config設置為00000000
啟用系統完整性保護。您可以選擇許多其他選項來啟用/禁用SIP部分。常見的如下:
00000000
-完全啟用SIP03000000
-允許未簽名的kext和寫入受保護的fs位置FF030000
-禁用macOS High Sierra(0x3ff)中的所有標誌。- FF0F0000 – 67000000 禁用macOS Big Sur
prev-lang:kbd : 系統語言。繁體中文 zh-Hant2 轉換data : 7a682d48616e743a32
3-9 存檔收工
做到這裡,原則上算是完成了,你可以透過我的EP-6 多功能引導安裝碟 教學模式,來測試自己的引導文件,是否成功?若要再進一步的微調OC文件,個人仍是建議你下載XCode 來編譯事做好的方法。