下載工具程式
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安裝檔,從官網下載。
sublime text:文字編輯工具。
winOS:下載BIOS工具。
- 使用
BIOS_Backup_TooKit.exe
以獲取BIOS ROM。 - 使用
UEFITool
以開放的BIOS ROM。 - 搜索關鍵字(cfg鎖定,DVMT),然後提取正文。
EFITool
尋找CFG Lock的數值,打開Terminal(终端機)輸入以下執行命令。
cd ~/Desktop/CFG
./UEFITool.app/Contents/MacOS/UEFITool /Users/電腦名稱/Desktop/XXX.bin
提取cfg lock所在的模塊
搜索cfg lock,找到file -> search… 選項,搜索”cfg lock”,雙擊下面搜索結果,會自動定位到cfglock所在的位置
- 右鍵Extract body導出模塊保存為cfglock.bin
- 輸出文件類似於
Section_PE32_image_Setup_Setup_body.efi
,使用IFR-Extractor
和命令./ifrextract Section_PE32_image_Setup_Setup_body.efi Section_PE32_image_Setup_Setup_body.txt
將其轉換為文本文件。 - 打開
Section_PE32_image_Setup_Setup_body.txt
並蒐索關鍵字(cfg鎖定,DVMT)以查找其後最接近的地址。
0xBF518 Setting: CFG lock, Variable: 0x4A3 {05 A6 0F 02 10 02 5C 00 01 00 A3 04 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xBF53E Option: Disabled, Value: 0x0 {09 0E CC 01 00 00 00 00 00 00 00 00 00 00}
0xBF54C Option: Enabled, Value: 0x1 {09 0E CB 01 30 00 01 00 00 00 00 00 00 00}
0xBF55A End of Options {29 02}
打開剛剛轉換好的txt文件,搜索關鍵詞”cfg lock”, 可以看到Variable為0x4A3
搜索關鍵詞”DVMT Pre-Allocated”, 可以看到Variable為0x233
0xCDC94 Setting: DVMT Pre-Allocated, Variable: 0x233 {05 A6 01 05 13 05 11 01 01 00 33 02 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
0xCDCBA Option: 32M, Value: 0x1 {09 0E 02 05 30 00 01 00 00 00 00 00 00 00}
0xCDCC8 Option: 64M, Value: 0x2 {09 0E 03 05 00 00 02 00 00 00 00 00 00 00}
0xCDCD6 Option: 96M, Value: 0x3 {09 0E 04 05 00 00 03 00 00 00 00 00 00 00}
0xCDCE4 Option: 128M, Value: 0x4 {09 0E 05 05 00 00 04 00 00 00 00 00 00 00}
0xCDCF2 Option: 160M, Value: 0x5 {09 0E 06 05 00 00 05 00 00 00 00 00 00 00}
0xCDD00 Option: 192M, Value: 0x6 {09 0E 07 05 00 00 06 00 00 00 00 00 00 00}
0xCDD0E Option: 224M, Value: 0x7 {09 0E 08 05 00 00 07 00 00 00 00 00 00 00}
0xCDD1C Option: 256M, Value: 0x8 {09 0E 09 05 00 00 08 00 00 00 00 00 00 00}
0xCDD2A Option: 288M, Value: 0x9 {09 0E 0A 05 00 00 09 00 00 00 00 00 00 00}
0xCDD38 Option: 320M, Value: 0xA {09 0E 0B 05 00 00 0A 00 00 00 00 00 00 00}
0xCDD46 Option: 352M, Value: 0xB {09 0E 0C 05 00 00 0B 00 00 00 00 00 00 00}
0xCDD54 Option: 384M, Value: 0xC {09 0E 0D 05 00 00 0C 00 00 00 00 00 00 00}
0xCDD62 Option: 416M, Value: 0xD {09 0E 0E 05 00 00 0D 00 00 00 00 00 00 00}
0xCDD70 Option: 448M, Value: 0xE {09 0E 0F 05 00 00 0E 00 00 00 00 00 00 00}
0xCDD7E Option: 480M, Value: 0xF {09 0E 10 05 00 00 0F 00 00 00 00 00 00 00}
0xCDD8C Option: 512M, Value: 0x10 {09 0E 11 05 00 00 10 00 00 00 00 00 00 00}
0xCDD9A Option: 1024M, Value: 0x11 {09 0E 12 05 00 00 11 00 00 00 00 00 00 00}
0xCDDA8 End of Options {29 02}
完成了上述步驟,因此只需鍵入以下命令。
- 禁用MSR 0xE2(即cfg鎖定)
setup_var 0xDA2 0x00
- DVMT增加到96M
setup_var 0x263 0x03
- 您可以通過鍵入以下內容來檢查值
setup_var [ADDR]
這裏也記錄了變量值的含義,我們要改的96M就是0x3
- 輸入
GRUB Shell
(使用bootx64.efi
中bios_tools.zip
要引導) - 通過輸入檢查地址值
setup_var
0x263 - 鍵入
setup_var [cfg lock address here] 0x00
以禁用cfg鎖定。 - 鍵入
setup_var [DVMT address here] 0x03
以將DVMT增加到96M。