677 次瀏覽

主機板解放CFG LOCK的教程(OC篇)

何謂CFG Lock

以往在構建黑蘋果主機的時候,使用者大都選擇技嘉主機板作為黑蘋果的最佳選擇,其原因是所謂的『支持原生電源管理』。
CFG Lock:關閉或開啟MSR 0xe2寄存器,CPU的P-State C-State電源管理是放在MSR寄存器,當你用黑蘋果的時候就必須解鎖這個選項。國內主機板製造商,只有技嘉打開了這個寄存器,可以直接安裝而不需要難搞電源補丁(NullCPU或者二進制改文件)。近年來MSI、華擎主機板在BIOS已加入該選項。

隨著黑蘋果修改的技術面提升,已有了各種自動化的安裝方法,包括給原版BIOS打補丁的PMPatch/UEFIPatch,以及Clover的自動補丁,降低了構建黑蘋果主機的難度。只要檢查主機板的BIOS裡面是否有“ CFG LOCK ”這個選項,如果有的話,就把它關掉它。如同技嘉主機板一樣了,可以直接用原生電源管理。

如何確認主機板CFG Lock上鎖

使用Hackintools,選擇工具選項,點擊最左邊Intel的圖示,輸入密碼,視窗內出現了大量數據。接下來往下找MSR_PMG_CST_CONFIG_CONTROL……..(0xE2) : 0x7E000008項目中的第二項:
 CFG Lock……………………….. : 0 (MSR not locked) 這是開啟狀態。反之亦然。

備份目前的引導程式

當你尚未解鎖CFG-Lock動作之前,務必先把原來系統碟的引導程序做好備份,為什麼呢?一旦你做好了CFG-Lock程序之後,引導程序和系統本身將會『重新編譯』改變體質。無論是OC引導或是CLOVER 引導都是一樣。萬一某天系統掛了,或是需要重灌系統時,有被執行過CFG=Lock 的引導程序,將會無法使用,這一點請注意。

準備工作

下載下列軟體:
AppleSupportPkg:要特別留意的使用OC版本。AppleSupportPkg目前為2.1.4,使用OpenCore的版本為0.5.3,不可混淆。安裝包裡面,解開AppleSupportPkg的映像擋,取出VerifyMsrE2檔案。
grub-mod-setup_var:下載modGRUBShell.efi這個修改過GRUB sdell檔案。
UEFITool:請下載UEFITool版本。UEFITool_NE_A56_mac.zip Mac版本。
UniversalIFR-Extractor:請下載ifrextract_v0.3.6.osx.zip。BIOS的訊息轉化成文字的工具軟體
BIOS:根據你的主機板所使用的BIOS安裝檔,從官網下載。以我的主機板BIOS為Z390AOPW.F12
sublime text:文字編輯工具。

在桌面上建立一個名叫CFG的資料夾,把UEFITool、IFR Extractor 、BIOS韌體放在資料夾裡面。

用Xcode 打開config.plist 引導文件。把下列三個的功能給關閉。
Config—–Kernel—–Quirk選項。1、AppleCpuPmCfgLock設定為Yes
2、AppleXcpmCfgLock設定為Yes
Config—–UEFI—-Quirks選項。IgnoreInvalidFlexRatio設定為Yes

VerifyMsrE2

某些韌體無法MSR_BROADWELL_PKG_CST_CONFIG_CONTROL在所有內核之間正確初始化0xE2 MSR寄存器()。該應用程序打印所有內核的0xE2值,並報告0xE2狀態。異步0xE2 MSR寄存器的顯著示例是用於Intel 100系列和Intel 200系列芯片組的多種GIGABYTE UEFI固件。
CFG鎖定選項可在大多數APTIO V固件上使用,儘管可以從GUI中隱藏。如果VerifyMsrE2報告您的0xE2寄存器始終被鎖定,則可以嘗試直接解鎖此選項。
EFI / OC / Tools文件夾裡,放入VerifyMsrE2,在config.plist引導文件當中,設定VerifyMsrE2參數值。如下圖。

EFITool

尋找CFG Lock的數值有兩種方法:
ㄧ、打開Terminal(终端機)輸入以下執行命令。
cd ~/Desktop/CFG
./UEFITool.app/Contents/MacOS/UEFITool /Users/電腦名稱/Desktop/CFG/Z390AOPW.F12



二、另一方式。開啟UEFITool.app,把Z390AOPW.F12韌體檔直接拖拉放到UEFITool.app執行。

輸入執行命令之後,在UEFITool.app的介面,按下快捷鍵Command+F,點擊Text項目,鍵入『CFG Lock』執行。


在最下方會出現這個資訊。
Unicode text “CFG Lock” found in PE32 image section at header-offset 8B2FCh

直接點擊該信息二次,軟體會自動定位到含有CFG Lock信息的模塊。
PE32 image section。 這個時候,選擇該信息,按下滑鼠右鍵,選擇extract body,把該文件存檔到桌面的CFG文件夾,名稱默認為Section_PE32_image_Setup_Setup_body.efi,因為檔名太長了,我們可以簡化為『PE32.efi』或是其他簡易的名稱就可以了。

ifrextract

打開終端機,輸入以下指令,我們要把PE32Section.efi轉換成文字擋。
cd ~/Desktop/CFG
./ifrextract PE32.efi PE32.txt

sublime text

使用sublime text app,開啟剛剛轉換的PE32.txt 文件檔。同樣地使用快捷鍵Command+F 搜尋『CFG Lock』。

整理了該信息數據: VarStorCFG LockeInfo (VarOffset/VarName): 0x5C1, VarStore: 0x1, One Of Option: Disabled, Value (8 bit) One Of Option: Enabled, Value (8 bit) 軟體會定位到這裡,VarStorCFG LockeInfo (VarOffset/VarName): 0x5C1,0x5C1就是我們要找的偏移量。VarStore: 0x1意思指的是鎖住,若是想要解鎖它,就需要把該選擇修改成0x0的Disabled,也就是要把0x5C1這個地址的数值修改为0x0。

modGRUBShell.efi

下載好modGRUBShell.efi, 重新命名為 bootx64.efi,再請大家拿出我教大家使用多功能引導工具碟。插入電腦後,桌面出現WEPC的磁碟,在U盤内的資料可以暫時放入一個資料夾,另創建一個EFI文件夾,同時在此文件夾中,另建文件夾為BOOT,並將bootx64.efi放入BOOT裡面。
如果你沒有我所製作多引導工具碟,也可以自行製作,把U盘插入電腦,用磁碟工具把U盤格式化為fat32格式,命名為EFI,就可以了。

電腦透過U盤重啟,將會啟動grub模式,執行setup_var命令。先来解鎖MSR 0xE2,輸入
setup_var 0x5C1

該命令是查詢0x5C1這個地址(偏移量)的数值,0x5C1是我们在上面一步中查找到的CFG-Lock選項的地址,從下圖中我們可以看到該0x5C1地址数值為0x01,即對應Enabled。

输入 setup_var 0x5C1 0x00 該命令是修改0x5C1這個地址的数值为0x00,也就是把CFG-Lock這個選項设置為Disabled。執行完畢後,再輸入EXIT 離開。

備註:某些主板可能使用 setup_var_3 這樣的命令。其作法大致相同。

最後工作

把OC引導文件config.plist,用Xcode 打開config.plist 引導文件。把下列三個的功能給開啟。
Config—–Kernel—–Quirk選項。1、AppleCpuPmCfgLock設定為No
2、AppleXcpmCfgLock設定為No
Config—–UEFI—-Quirks選項。IgnoreInvalidFlexRatio設定為No
這樣就完工了!EFIG

如果你是Clover EFI引導使用者,請到這裡