更新日志
2020/02/11 初版1.0
2020/02/12 1.1版本 加入哞的解释
为什么要解锁BIOS
笔记本的BIOS一般隐藏大部分的高级设置,我们可以通过BIOS GUI可修改的东西少之又少,部分设置解锁以后可以获得更加好的体验
解锁BIOS带来的好处
- 解锁CFG LOCK可以加载苹果的原生电源管理
- 增大DVMT的大小可以防止在高分屏出现花屏的情况
当然 在OpenCore的配置文件里也包含了这两种无法解锁的修复方式
此处引用哞的解释
「在新平台解不解锁CFG Lock都可以开启原生电源 CFG关联俩IA 32 寄存器 一个是0xE2 具体作用就是 E2 负责系统写入 另一个负责CPU 读取 都是管 CPU C-State的 最新的Intel官方文档显示新技术SpeedShift 对 E2 寄存器没操作」
「最好还是打开 AppleXcpmCfgLock 因为Hackintool内置的AppleIntelInfo.kext 在生成报告时会对0xE2 寄存器写入 这样子做可以避免Hackintool收集 CPU日志导致崩溃」
「4代以下开AppleCpuPmCfgLock 4代之后开 AppleXcpmCfgLock」
- Kernel → Quirks → AppleCpuPmCfgLock = True 当CFG无法解锁的情况下,可以使用这个方法。
- framebuffer-stolenmem 当DVMT无法修改并小于32M时,高分屏的工作可能会出现一些未知的错误,可以通过该参数给BIOS中DVMT添加内存大小。
提取BIOS
提取BIOS需要在PE下才能提取 PE系统大同小异 我使用的是「微PE工具箱2.0」
1. 将fptw64解压到桌面 在cmd窗口cd进入fptw64所在目录
2. 执行fptw64 -d bios_backup.bin -bios 备份BIOS
3. 出现FPT Operation Successful代表备份成功 这时候在fptw64文件夹会出现一个bios_backup.bin的文件 这个就是BIOS备份文件啦
提取了BIOS以后要提取关键字对应数值 这里使用「emyself」大神的set_dump GUI工具进行提取
1. 选择固件包处选择刚刚备份出来的bios_backup.bin
2. 可以输入关键词「DVMT」或者「CFG」进行搜索
3. 如果你想修改更多的参数 可以选择列出所有项 然后用编辑器寻找对应的字段
DVMT Pre-Allocated的Varname是0x432,对应的设置0x1,DVMT大小为32M
CFG Lock的Varname是0x109,对应的设置VarStore是0x1,状态为关闭
修改BIOS
使用modGRUBShell来对BIOS参数进行软修改
1. 将modGRUBShell.efi启动文件放入U盘或者直接放置在EFI分区下
2. 在BIOS中将modGRUBShell设置启动项 并调节到第一的位置
进入GRUB Shell后 执行命令
setup_var_3 0x109 0x0 // 关闭CFG Lock
setup_var_3 0x432 0x4 // 将DVMT大小调整为128M
setup_var_3 VarName OptionValue
比如解锁CFG Lock时,VarName为0x109,对应的Option分别是
0x0 Disabled
0x1 Enabled
拼起来就是setup_var_3 0x109 0x0 「设置0x109的变量为0x0关闭」
DVMT的大小可以自己根据Option进行调整 如果设置为128M出现闪屏 可以降低到96M
确认CFG LOCK状态
一般默认情况下 CFG Lock为锁定状态
我们可以通过Hackintool查看CFG Lock状态
确认DVMT大小
进入系统后没有特殊的办法确认当前BIOS的DVMT大小 只能参照默认BIOS的设置
如果修改成功了 就是你设定的值啦
工具下载
Fptw64
set_dump
Hackintool
Visual Studio Code
参考及鸣谢
- xjn的解锁BIOS中的CFG功能
- emyself的set_dump GUI工具
- console提供的未解锁CFG截图
- txt1994提供的Fptw64
- 哞提供的CFG Lock解释
针针
2020/02/10
硬件大佬,太高级了
硬件大佬,太高级了
针的可以
针的可以
大佬,主板限制了afu可以用aptw64提取bios吗?
大佬,主板限制了afu可以用aptw64提取bios吗?
我咋打开set_dump GUI后无法解析出来bin文件呢?卡死很久 也没用
set-dump GUI怎么下载,在远景里面下不了