DELL XPS 13 Hackintosh 11.4 踩坑回顾 —— CFG Lock 篇
本文最后修改于 270 天前,部分内容可能已经过时!
我曾经在博客水过一篇解锁 BIOS CFG Lock 的文章,然后不幸遭遇删库。无奈咕咕咕。
想不到因为一块小小的 CMOS 电池引发了事故:因为懒,我搁置了更换 CMOS 电池的想法。当我换上电池,安装好笔记本后盖,擦腚,开机的时候,Hackintosh 无法引导了!查错后发觉是 BIOS 的 CFG Lock 选项因为掉电而重置了。
准备工具
1.OpenCore 引导工具
2.DiskGenius 或 Windows 自带磁盘管理
3.Flash Programming Tool 可以在 Intel CSME System Tools 中找到。需要符合自己的芯片组。例如笔者的CPU属于Skylake,芯片组是100系列。
4.UEFITool 查找BIOS中相关变量(字串)的工具
5.IRFExtractor
开始操作
备份和提取BIOS
首先备份本机BIOS。打开cmd,输入
FPTW64.exe -D 备份文件名.rom -bios
分析BIOS信息
用UEFITool找到GUID:899407D799FE43D89A2179EC328CAC21的内容,然后提取出来。
接下来,我们需要把该模块转换成文本信息。借助IFRExtractor,右侧加载模块按钮,再点击Extract,转换模块为TXT文本,并保存到相应文件夹,如下图所示:
查找偏移量
0x343B7 One Of: CFG lock, VarStoreInfo (VarOffset/VarName): 0x109, VarStore: 0x1, QuestionId: 0x278, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 15 01 16 01 78 02 01 00 09 01 10 10 00 01 00}
0x343C8 One Of Option: Disabled, Value (8 bit): 0x0 {09 07 21 02 00 00 00}
0x343CF One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 07 20 02 30 00 01}
0x343D6 End One Of {29 02}
其中
VarStoreInfo (VarOffset/VarName): 0x109, VarStore: 0x1
就是我们要的东西。
VarStoreInfo的值是CFG Lock这个选项的地址,也可以说其在BIOS中的偏移量。后面的VarStore是BIOS默认值,为0x1。
0x1对应下面的Option里就是Enabled,意思就是CFG Lock这个选择默认被打开了,也就是说MSR 0xE2默认被锁定了。而我们想要解锁它就需要把该选择修改成0x0的Disabled,就是需要把0x109这个地址上的数值修改为0x0。
1.先将GRUB复制到U盘里。
2.关机重启进入OpenCore启动界面,按方向键找到shell工具,回车进入UEFI Shell。
3.找到EFI所在分区,一般为fs0。
4.我们cd EFI/BOOT
5.打开GRUB
6.键入 setup_var 0×109,回车(后面的0×109是刚才前面提取的数值)。
7.看到offset: 0×109 is:0×01,表示未解锁.
8.输入setup_var 0x109 0×00。设置完成。
其它的BIOS修改隐藏选项修改方法也如此操作,BIOS设置就算完成了。
测试一下评论