解锁联想 BIOS 高级设置里的隐藏超频设置

您所在的位置:网站首页 ideapad15S 解锁联想 BIOS 高级设置里的隐藏超频设置

解锁联想 BIOS 高级设置里的隐藏超频设置

2023-10-08 09:25| 来源: 网络整理| 查看: 265

上一篇文章提过的工具在这一篇不再赘述。

感谢国外 Win-raid 论坛大神 Lost_N_BIOS 给出的方法,笔者得以在此演示。原帖:https://www.win-raid.com/t5419f16-Suppressed-menu-entries-in-BIOS-setup.html。 

声明:修改 BIOS 有损坏计算机系统并丢失保修的风险,因模仿本文操作导致的任何后果,本人不承担任何责任! 

上一篇文章我们较为详细地介绍了如何把默认隐藏的 Advanced 菜单给“揪出来”。但是如果和平常所见的高级设置相比,我们可以发现“Overclocking Performance”目录(即超频选项)依然不可见。即使对于 i5-1135G7 和 i7-1165G7 这样的低压 CPU 而言超频并没有意义(intel 锁死了基频和倍频超频),但诸如降压这样的设置却都在这个菜单里。对于一些散热不太好的本子而言,这些选项似乎还有些诱惑力。此外,这篇文章的更重要的部分,就是教大家如何更进一步地魔改 BIOS,让一些厂家不想让你看到的选项显现出来。

我们依然以笔者的这台 YOGA 14s 2021 为示例。如果你和笔者一样都已经解锁了“Advanced”选项,那可以先在 PCH-IO Configuration 目录下关闭 Flash Protection Range Registers (FPRR),以及其子目录 Security Configuration 目录下关闭 BIOS Lock,这样我们就可以更方便地在 Windows 下直接以 FPT 工具进行刷写而不用上编程器了。但务必要在折腾完后打开这两个选项,防止恶意软件对 BIOS 进行直接篡改。

同样地,我们用 UEFI Tools 打开 BIOS 镜像,并搜索 GUID:FE3542FE-C1D3-4EF8-657C-8048606FF670,或搜索 Text:SetupUtility:

SetupUtility

右键这个模块,导出到桌面,名字任意:

下载 Universal IFR Extractor,地址:https://github.com/donovan6000/Universal-IFR-Extractor。这个工具可以帮你分析 UEFI BIOS 的选项逻辑。用 Universal IFR Extractor 打开之前提取的模块:

点击 Extract,生成一份 txt 文件:

写有 IFR 的文件

打开这个文件,你可能会被密密麻麻的文字吓到:

但是不用担心,我们的目的是要知道为什么没有 Overclocking Performance 目录,于是先搜索:

很快就找到了第一个,浏览上下文,我们发现这就是定义 Advanced 目录下子菜单的部分。不幸的是,我们心心念念的 Overclocking Performance 被加进了一个判断句中从而被 suppress (抑制)了。

我们来分析一下这个句子:

Suppress If: {0A 82}

                Variable 0xE50 equals 0x2 {12 06 50 0E 02 00}

                Ref: OverClocking Performance Menu, Variable: 0xFFFF {0F 0F 64 05 65 05 0C 00 00 00 FF FF 00 13 10}

                End If {29 02}

这个句子的逻辑是:如果变量 0xE50 等于 2,那就不显示 OverClocking Performance Menu。

我们并不知道这个所谓的变量 0xE50 是在 BIOS 的哪里被定义的,但是可以肯定的是,在启动 BIOS 时一定存在着变量 0xE50,并且等于 2,否则这个判断就不成立,超频目录就正常显示了。

那我们就修改判断的标准,比如如果变量 0xE50 等于 FF,那就不显示 OverClocking Performance Menu。

观察句子 Variable 0xE50 equals 0x2 后面的 Hex 值 12 06 50 0E 02 00:12 06 应该是判断方式(equal);50 0E 是变量名(要反过来看);02 00 是判断的值。

那目标就很明确了,我们修改判断值 02 为 FF,需要的 Hex 就是:12 06 50 0E FF 00(结合上文体会一下)

于是我们用 HxD 打开 fbd 模块,由于 12 06 50 0E 02 00 较短,为了准确定位我们搜索 IFR 表中 Ref: OverClocking Performance Menu, Variable: 0xFFFF 对应的 Hex:0F 0F 64 05 65 05 0C 00 00 00 FF FF 00 13 10:

搜索结果

我们可以发现 IFR 表上的 Hex 与模块的 Hex 是同样排列的,0F 0F 64 05 65 05 0C 00 00 00 FF FF 00 13 10 之前就是 12 06 50 0E 02 00。

那我们就把 02 改成 FF:

之后保存,用 Universal IFR Extractor 再读一次修改后模块的 IFR 表:

用 UFEI Tools 替换模块,保存 BIOS 镜像并刷入。

迫不及待地进入 BIOS,找到 OverClocking Performance Menu,惊讶地发现几乎什么都调不了,OverClocking Feature 选项是灰色的不能调节!

只能又回到 IFR 表,找到 OverClocking Feature,发现也有个判断句:

Grayout If: {19 82}

                Variable 0xF25 equals value in list (0x0) {14 08 25 0F 01 00 00 00}

                Setting: OverClocking Feature, Variable: 0x135 {05 91 66 05 67 05 F6 01 03 00 35 01 10 10 00 01 00}

                Option: Disabled, Value: 0x0 {09 07 04 00 30 00 00}

                Option: Enabled, Value: 0x1 {09 07 03 00 00 00 01}

                End of Options {29 02}

End If {29 02}

这个的意思是,如果变量 0xF25 等于列表中的某个值,那 OverClocking Feature 就会被 Grayout (变灰)。

那我们的目标自然是 Variable 0xF25 equals value in list (0x0) {14 08 25 0F 01 00 00 00}

从 IFR 的描述来看,这个列表只有一个值(0x0),所以 BIOS 启动时 0xF25 一定等于 0 。观察这组 Hex,最后有三个 0 (14 08 25 0F 01 00 00 00),我并不知道哪个能影响整个列表,干脆随便取了第二个,在 HxD 里改成另一个非 0 的数,比如 02:

保存模块后再用 Universal IFR Extractor 读一遍:

识别正确,于是替换模块、刷入 BIOS,在 BIOS 里启用 OverClocking Feature:

实测,对于 1135G7 而言能折腾的东西实在不多,超频是不可能的了,顶多在 Processor 里降压。对于一些散热不太好的设备应该有些用处。但上文破解隐藏选项的方法应该是通用的。不同品牌的机器都可以读出机器 BIOS 的 IFR 表,如果你对哪个选项感兴趣,但是机器 BIOS 又不显示,那就用上文的方法进行修改。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3