本文翻译自:https://www.win-raid.com/t4386f16-OverPowered-TONGFANG-CyberPower-Machrevo-MACHENIKE-Unlocked-BIOS-Guide-W-Files.html
加入了本人自身的一些理解与思考,并补足了一些细节。
请注意,此教程具有一定的局限性,十代以后的新平台可能出现较大变动,请自行鉴别是否适用。
这种修改的方法适用于多数采用AMI Aptio V的BIOS,有些BIOS的操作会比较麻烦,而有些则比较简单。但下述内容是修改Aptio V BIOS的普遍方法与想法。
本文较长,请耐心阅读。
原则上,以下内容是给“懂”的人看的,但考虑到各种因素,我尽量用小白的语言来描述整个过程。
如果你是一个“想要尝试”的萌新,请不要在还未拥有 CH341A 编程器的情况下贸然尝试,它能帮你逆天改命,强行救砖。
其实所有尝试的人都应该备上这些工具,它们并不贵,而且咱有万能的 TB 可以使。毕竟有备无患。
在这个例子中,我将用 GJ5CN64 这个模具的 BIOS 进行演示和说明
如果你的笔记本电脑是 神舟/机械革命/火影等厂商采用的 TongFang(同方)模具,那你可以移步至
神舟同方模具笔记本电脑 解锁BIOS全功能菜单教程——第二版 – bsの划水之旅 (bswaterb.cn) 进行快速修改
提前说明:
文章中用到了两种不同的 UEFITOOL 版本,分别是 UEFITOOL 以及 UEFITOOL NE ,后者只用来提取 BIOS 的 PE32 模块,前者既可以提取也可以替换 PE32 模块,
当我没特别提及采用哪种版本时,默认使用的是 UEFITOOL 普通版本。
#正式开始吧!
1.在 UEFITOOL NE 版中打开你的 BIOS 文件,提取出你的 AMITSE(PE32模块) 的 As-Is 和 Setup(PE32模块) 的 As-Is
(这里的 As-Is 指的是在 UEFITOOL NE 中右键中的 Exctarct As-Is… 所提取出的模块文件,拓展名为.SCT)


2.用 Universal IFR Extractor 分析你提取出的 Setup PE32 模块,这样可以将PE32 模块“翻译”生成可读的、清晰的文本文件,方便我们接下来的操作
(Mudule Location 选择上一步中提取出来的 setupdata 的 stc 文件,然后点Extract)

3.在文本编辑器中打开分析生成的 IFR 文档,复制如下图中高亮区域的 Form Set ID 代码。这串代码是 BIOS 中 Main 菜单对应的 Form Set ID,也能作为我们接下来对于其他ID进行定位的工具。

4.创建一个新的 txt 文档,用于记录接下来我们找到的各类信息,将3中复制的 Form Set ID 代码粘贴到这个文档中,如下图所示。

5.返回 IFR 文档,搜索 'Form: Setup',我们将得到如下的结果:
注意,在搜索结果的下面,有着诸如Ref: Main 和 Ref: Advanced 的字样。这些便是 BIOS 中被隐藏的菜单的列表,也是你在 AMIBCP 里 Setup 目录下看到的菜单。

如下图,红框中的内容表示被隐藏的菜单名,而蓝框中的4个数字便是它们的
十六进制 Form Set ID

我们将这些信息以类似下图这样的方法规范记录下来:
红框中的英文表示你想对其进行的操作,Reveal 指让其在菜单中显示出来
Rename 指将这个菜单重命名,Leave 则指将这个菜单移出主界面中
Swap Exit 指用这个菜单替换原先的Exit菜单

这些说白了就是备注,是写给你自己看的
规范记录能让我们的操作更不容易犯错,请务必遵循这一原则
现在,我们已经有了被隐藏菜单的ID,我们此时再利用例如'Form: Advanced'对多个结果进行搜索
若ID与隐藏菜单ID相符,则跳过,若不相符,则说明这个ID对应的菜单在当前BIOS菜单中是可见的,当然也有特殊情况
有时,同一个'Form: XXXX'可能会找出两个以上的结果,说明有的ID没被用上
例如'Form :Boot',在这个例子中出现了三个不同的ID结果,一个是列于隐藏菜单中,一个列于可见菜单中,还有一个并没被采用
依次对各项进行搜索、登记、最终整理出如下图一般的文档:

6.当你记录下了所有的菜单ID和信息后,用你喜欢的十六进制编辑器打开提取出来的AMITSE PE32模块,使用查找功能对你在步骤3中记录下的第一个Form Set ID进行搜索,如图:(即本例中写在文档开头处的ID)

你可能会找到15-30个结果(有的BIOS会更少,本例中找到的结果为19个)
*请注意* 你是怎么提取的PE32模块,之后就要用同类的选项进行替换。
在本例中,你用UEFITOOL NE 提取出了 As-Is文件(扩展名.SCT),那之后就要用UEFITOOL的Replace As-Is进行替换。
UEFITOOL NE只能用来提取,不能进行替换
UEFITOOL 普通版既可以提取,也能进行替换
7.第一个结果一般都不是我们想要的,我们点击 '查找下一个' ,对右边的“乱码”进行快速浏览
当你浏览到如下图这样一个区域时,它很有可能就是我们要找的地方了
(右边显示有连续的、成块状的相同内容)

此时,你是否有注意到这些块状区域的十六进制码?如果没有,我这里用红圈为你特别标识了出来:
2020/5/2 更新:据部分新平台读者反应,他们的Setup结构与下文所述不太相同,具体差别我会在后面指出。
已知这种新平台模具有: 神舟精盾X57S1,i7-1065G7

而蓝框中的'10 27',正是Setup菜单的 Form Set ID
黑框中的内容,则是我上面所说的“连续、成块状”的“乱码”
到此,这个区域的结构我们大致可以这样描述:
蓝框上面红框中的内容表示着我们BIOS菜单中所有的功能菜单选项
蓝框下面红框中的内容表示着我们BIOS菜单中隐藏的功能菜单选项
注:对上文所述的部分新平台模具Setup结构,此处应为:
蓝框上面红框中的内容表示着我们BIOS菜单中所有的功能菜单选项
蓝框下面红框中的内容表示着我们BIOS菜单中显示的功能菜单选项
所以所属这种情况的用户,只需要在蓝框的底下区域红框内填入你想使其出现的菜单ID即可,并无视以下内容中提到的“短ID代码块”相关内容。
8.我们将上面红框中与下面红框中的内容再次记录到文档中,注意要记录对应的起始地址与正确的字节数量,如图所示:

9.现在,让我们来寻找例如'19 27'这样的短ID组成的区域块,这个区域块记录了所有被隐藏菜单的短ID
在十六进制编辑器中输入'19 27'进行寻找,因为我们已知'19 27'对应的Chipset菜单是被隐藏的,所以可以帮我们更快确定位置。你可能会找到2-3个结果,如果更多也没关系。
要找的那个代码块应该是类似图中这样的:


在'19 27'的周围应有其他被隐藏菜单的ID,它们共同组成了此处的代码块,图中的代码块由7个ID组成
记录下这个代码块和它的起始地址,如图所示:

10.现在,你记录操作的文档结构应该和我的相似了:

接下来,我们就要对这些负责隐藏或显示的代码块进行修改了
首先,我们在文档中做一个编辑分界线,复制上面记录下来的
'被隐藏的部分'代码块和'隐藏ID列表'代码块
修改起始于@0055930处的隐藏部分代码块:
将短ID为'1a 27'(Security)和'15 27'(Exit)对应的长ID 替换到原先隐藏 '17 27' 和 '18 27' 的代码区域,然后将剩下的行全部改为 '00'
再修改位于@00053000处的隐藏短ID列表,将原组合修改为现在的组合,剩下的区域补位 '00'
最终效果如下图:

这样改,目的是将Security菜单和功能单一的'15 27'版Exit菜单隐藏,前者是出于用户安全考虑的,如果你执意要让Security菜单可见,那就不要将其ID列在隐藏代码块 与 隐藏ID列表中,同样的,空余的区域记得补满 '00'
11.上一步中在文档里修改好你想要的结果后,将其录入到十六进制编辑器中,本例子最终改出的效果如图:

以及短ID列表修改后的效果:

12.保存修改好后的AMITSE PE32模块,将其替换到在UEFITOOL中打开的BIOS中,本例子中应选择 Replace As-Is 项进行替换
若你在步骤1中提取出的是body(.efi),那这一步就用Repalce body 项进行替换

13.替换完成后保存BIOS文件,接着打开AMIBCP,加载刚刚我们修改过的BIOS文件,来到下图所示的目录:
红框内为我们需要去到的目录
蓝框内为被隐藏的菜单
这一步,我们需要修改蓝框中菜单的使用权限以及为它们重命名
(Access/Use : Default是不可见,USER是可见)

在本例中,我采取这样一种命名与赋权方式:

到此为止,对BIOS文件的修改已全部完成,保存AMIBCP中修改好的最终BIOS版本,准备正式刷入。
14.利用INTEL FPT进行BIOS刷入:
命令: fptw64 -f -bios bios_all.rom
(此处的bios_all.rom根据你自己的命名进行修改)
FPTW64.exe并不通用,你需要找到适合你自身机器ME FW version的FPT,你可以在BIOS主页或者HWINFO64中查看到你的ME版本信息,然后去下述地址进行寻找
INTEL FPT下载链接: https://www.win-raid.com/t596f39-Intel-Management-Engine-Drivers-Firmware-amp-System-Tools.html
最终修改完成效果:





由于作者水平有限,难免出现遗漏和瑕疵,欢迎大家在评论区进行指正
下载链接:
AMIBCP https://www.lanzous.com/i98xn8b
FPTW64 https://www.lanzous.com/i8p0nfg
(fptw64不通用,同方八九代模具可尝试使用)
UEFITool https://www.lanzous.com/i8p0nja
wxMEdit https://www.lanzous.com/i8p0o0h
UEFITool NE https://www.lanzous.com/i99x8ih
Universal IFR Exctractor https://www.lanzous.com/i99x8ji
本文示例机型修改文件 https://www.lanzous.com/i9a1qcd
文章更新记录:
2020/4/28 —— 修改文章标题
2020/5/2 ——添加了部分新平台机型的修改建议
Comments 34 条评论
感谢大佬,太开心了
在下面加入 12 27,13 27 段就自动显示了,
但是在bios里只会显示前六个,最后的Save & Exit不会显示不知为什么
神舟精盾X57S1,i7-1065G7
@Ardentwheel 如果方便的话麻烦把你提取的原BIOS丢我邮箱里,我去看看,781201407@qq.com
@bswaterb 发你邮箱了:)
大佬,可以帮我解锁一份bios么,我有蓝天原版bios,自己不敢试,不知道你的这种方法我那版本合不合适
@xinmeng 蓝天大多都是insyde家的bios,不适用ami的解锁方式,insyde如何操作可以参考 https://www.bilibili.com/read/cv5652930/
大佬,蓝奏云文件能重新发一下吗?谢谢你🤗
@潘 蓝奏云链接都活着的,你看看是不是你的DNS有问题解析不出来,换个网络试试
解锁完功耗墙还是150w怎么办
@梦幻独角兽 解锁BIOS只是提供给了你操作接口的图形界面,并不是说解锁完BIOS就万事大吉了,你要根据自己的需求去BIOS里手动设置参数
大佬,z7m-kp7gc可以直接使用修改后的BIOS吗?
@pitaya 不可以,z7m模具号和z7不一样
大佬在bios里能设置整机功耗墙吗 我换了一个200的电源
@何年何月 请自行尝试,理论可以
能否发我一份改好的bios,链接都失效了,我的电脑也是z7kp7gc
@倥佰 链接并没有失效,打不开蓝奏云链接请更换网络进行尝试。修改后的BIOS不通用,除非你当前BIOS版本也是1.05
笔记本是壹号本工程师A1,前5个步骤都和教程一样,到第六步卡住了,万分感谢
你好,
AMI Aptio 4 BIOS(2012年),需要解锁 CFG LOCK 和 DVMT 。
用 amibcp 修改访问权限, CFG 有显示 DVMT不显示。条目几乎都设成 user了。
这帖子很详细,很有参考价值。
问:aptio 4 参考有什么要注意的地方?代码不一样?
我和楼主的主板型号一样,z7-kp7gc当前bios型号1.04可以直接用你修改后的吗?谢谢了大佬
@多喝水 先把你的BIOS和EC版本更新到和我一样(从神舟官方BIOS资源站下载,1.05版),然后就可以直接用了
@bswaterb Bios刷上去了,但是bios看不懂啊。怎么解cpu功耗?
大佬,非常感谢,我刷成功了,但是要解锁功耗墙,不知道要改哪几项,能大概指点一下吗
大佬,我想知道如何把9750h外频锁定到100,强迫症受不了99.7
dalao tql
佬,十代的咋解锁,到了 hex搜索哪一步 没有连续的一堆出现
大佬 我想请教下 如何用工具修改BIOS中某些选项的默认值,就是刷好这个BIOS之后,即使重置BIOS ,也
是修改后的参数
@1534565383 BIOS的ROM里有default选项,改那个选项对应的值就好了
KP7GC蓝奏链接打不开怎么办
@裤子 可能是域名解析的问题,把链接里的lanzous换成lanzoux或lanzoui试试看
神舟s8d6 没有短ID列表,请大神指点
大佬,请问为什么不直接在amibcp中修改而要修改16进制文件?
@gehggs amibcp提供了可视化界面,但只能读写有限的信息,用编辑器来改BIOS比较抽象,但能掌控里面的所有内容。所以部分内容必须用编辑器改,部分内容为了避免操作失误可以去amibcp里改