hhwzhd 发表于 2016-9-12 21:55

刷BIOS工具分享(白名单,高级菜单,电源管理)

本帖最后由 hhwzhd 于 2016-9-12 22:14 编辑

一,BIOS备份
1. 使用第二部分对应版本的fptw。以管理员身份打开命令提示符,去到fptw所在路径,输入命令
fptw64.exe -d bios.bin -bios其中fptw64.exe是64位系统用的(Windows64目录),32位用Windows目录下的fptw.exe,DOS环境用DOS目录下的fpt.exe。bios.bin是输出bios备份的文件名

2. 使用Universal BIOS Backup ToolKit 2.0


二,刷BIOS工具:Flash Programming Tool
命令,64位Windows
fptw64.exe -f bios.bin -bios






三,BIOS解包打包工具
Phoenixtool 2.6.6(修改白名单必备,具体教程请自行搜索)


四,16进制文件修改器:winhex



五,电源管理补丁,UEFIPatch(pmpatch升级版)

如果你只是为了给BIOS打这个补丁,不推荐刷BIOS,clover的kernel PM更安全方便
把bios放在UEFIPatch.exe目录下, 输入命令
uefipatch.exe bios.bin其中bios.bin为bios文件名
注意,有时UEFIPatch会无法patch官网下载的bios(解压exe得到fd或是rom后缀的文件),至少Z410的BIOS就不行,需要用fptw或者universal bios backup toolkit备份的才行。

六,如果用fpt工具刷时遇到错误
错误代码28
进入DOS环境(很多PE工具都有提供),先运行prr2.exe,然后在用DOS版本的fpt刷。如果还不行可以再试试先运行prr.exe,再用DOS版本fpt刷

错误代码280
使用睡眠bug:先让电脑进入睡眠模式,过几秒后唤醒,再尝试刷。如果还不行,用下面的方法。

以下内容不适合小白
六,falseclock方法
需要Linux环境或OSX环境,因为要运行perl文件,也可以安装bash on ubuntu on windows 10)。在bios-mods有一个专门的帖子讲这个方法,可以不用解锁高级菜单来设置CPU频率,开启AHCI,设置显存等,也可以用于关闭Secure Flash。不过那个帖子提供的grub shell有bug,导致有些机型修改不了nvram的值(具体表现为输入setup_var命令会一直停留在setting offset xxxx to xxxx,需要按Ctrl+Alt+Del重启)。我这个帖子提供一个修复了这个bug的版本,并且简单说一下这个方法。



1. 首先用fptw备份bios,然后用phoenixtool解包bios,在bios文件同一目录下会出现DUMP文件夹,在DUMP文件夹里面找到一个以FE3542FE开头的文件(可能有几个,需要最大的那个),然后在Linux或OSX环境下,打开终端,把找到的FE3542FE开头的文件和parser.pl放在同一目录,输入命令
perl parser.pl ./FE3542FE* > result.txt打开生成的result.txt,寻找诸如flash, lock, protection,比如我的BIOS
省略很多内容
Select option: 'Me Fw Image Re-Flash'         [ VarStore: '0x1ee', QuestionId: '0x109',   Help: 'Enable /Disable Me Fw Image Re-Flash function']
Option: 'Disabled'                            [ Value: '0'   Default: 'true'   Type: 'int8']
Option: 'Enabled'                           [ Value: '1'   Default: 'false'    Type: 'int8']
┌- Grayout IF:
|    Question [ ID: '0x550' ] == 0x01
|    Question [ ID: '0x0f' ] == 0x02
|    Question [ ID: '0x0e' ] == 0x01
|    AND expression
|    OR expression
└- END IF Grayout;
Select option: 'BIOS Lock'                      [ VarStore: '0x4ab', QuestionId: '0x11a',   Help: 'Enable/Disable BIOS Lock']
Option: 'Disabled'                            [ Value: '0'   Default: 'false'    Type: 'int8']
Option: 'Enabled'                           [ Value: '1'   Default: 'true'   Type: 'int8']
┌- Suppress IF:
|    EQ == TRUE
|    └- END IF Suppress;
┌- Suppress IF:
|    EQ == TRUE
|    └- END IF Suppress;
省略很多内容

可以看到,Me Fw Image Re-Flash(ME Firmware Re-flash)默认是Disabled关闭的,BIOS Lock(BIOS锁定)是打开的。

当然可能有些BIOS名称不同,比如下面SPI,TXE什么的(这两个其实我不懂是什么意思),

0x21067    Setting: LPSS SPI Support, Variable: 0x163
0x2108D   Option: Disabled, Value: 0x0
0x210A9   Option: Enabled, Value: 0x1
0x210C5    End of Options

0x2179D Setting: BIOS Read/Write Protection, Variable: 0x1FC
0x217C3 Option: Enabled, Value: 0x1
0x217DF Option: Disabled, Value: 0x0 (default)
0x217FB End of Options

0x21A25   Setting: TXE HMRFPO , Variable: 0x170
0x21A4B      Option: Disabled, Value: 0x0 (default)
0x21A67      Option: Enabled, Value: 0x1
0x21A83   End of Options


2. 这些值是储存在nvram的,用falseclock的方法可以改这些值,于是你的BIOS就可以重刷了。
新建一个Fat32分区,把下面的bootx64.efi放进新建分区的EFI/Boot文件夹下,然后用easyuefi新建一个一次性启动项来启动这个bootx64.efi,重启。
比如我的BIOS需要开启Me Fw Image Re-Flash, 地址(看VarStore)为0x1ee,需要改为Enabled(后面的Value: '1'),
同时需要关闭BIOS Lock,地址为0x4ab,需要改为Disabled(Value: '0'),
所以依次输入命令
以下命令只适用于Z410的BIOS!请从你自己的result.txt中找到正确的地址和值!直接复制执行会使你的电脑变砖!
setup_var 0x1ee 0x1
setup_var 0x4ab 0x0
然后输入reboot重启。进入Windows后就可以用睡眠bug刷bios了。


用以上方法,楼主备份了自己的bios,给bios打上了电源管理补丁,移除了白名单,所以楼主的Clover不用勾选Kernel PM,并且换上了苹果免驱的网卡(其实这个才是最重要的)。

以上所有资源在百度云有合集
https://pan.baidu.com/s/1o7MK1AU
提取密码hbxc



nobbs 发表于 2016-9-12 22:26

厉害啊,全部都集合了

hhwzhd 发表于 2016-9-12 22:35

本帖最后由 hhwzhd 于 2016-9-12 22:39 编辑

如果遇到错误代码28可以用以下工具(需要在DOS环境下用)


上面的百度云挂了,改为以下
链接: https://pan.baidu.com/s/1bpDTCXD 密码: g42h

wumin113 发表于 2016-9-12 22:51

支持下 谢谢楼主

xuzehui328 发表于 2016-9-13 07:48

谢谢楼主!好好学习!

NoelIvy 发表于 2016-9-13 08:06

我的k41-70正好需要,谢谢楼主了。

tanpengsccd 发表于 2016-9-13 10:00

支持,但是没有恢复能力的小白 别随便尝试啊....

gubinhao 发表于 2016-9-13 12:04

刷BIOS有风险

laoqi5056 发表于 2016-9-13 13:25

好高端,不懂,就不要折腾了,基本的功能都能用就OK了,不要那么强迫症

Missing_Kings 发表于 2016-9-13 13:55

各种工具貌似都集合一起了。。

hzx505 发表于 2016-9-15 22:10

看看吧,学习学习,谢分享

conpeal 发表于 2016-9-15 23:51

感谢卤煮分享~不知是否支持insyde BIOS?

hhwzhd 发表于 2016-9-16 09:01

conpeal 发表于 2016-9-15 23:51
感谢卤煮分享~不知是否支持insyde BIOS?

支持的,我联想z410就是insyde bios

fxzmjujumao 发表于 2016-9-19 22:27

感谢分享啊

tanpengsccd 发表于 2016-9-20 09:20

楼主能提供一下 那个 帖子的原文嘛?我的DEll也是 锁了 BIOS ,除了6 的方法没试成功,其他都没能成功。

tanpengsccd 发表于 2016-9-20 10:38

perlparser.pl899407D7-99FE-43D8-9A21-79EC328CAC21_1312.ROM > result.txt
IFR_PACKAGE_SIG not found!
Exiting programm...
确定在这个ROM里,但是IFR_PACKAGE_SIG not found

LuvU 发表于 2016-9-25 13:57

远景真是有问题。出现什么多次下载然后东西没下载到PB没了。

hhwzhd 发表于 2016-9-25 19:38

tanpengsccd 发表于 2016-9-20 10:38
perlparser.pl899407D7-99FE-43D8-9A21-79EC328CAC21_1312.ROM > result.txt
IFR_PACKAGE_SIG not fou ...

注意一定要是以FE3542FE开头的,最大的ROM文件

hhwzhd 发表于 2016-9-25 19:38

LuvU 发表于 2016-9-25 13:57
远景真是有问题。出现什么多次下载然后东西没下载到PB没了。

3楼有百度云合集

hhwzhd 发表于 2016-9-25 21:05

tanpengsccd 发表于 2016-9-20 09:20 https://www.pcbeta.com/static/image/common/back.gif
楼主能提供一下 那个 帖子的原文嘛?我的DEll也是 锁了 BIOS ,除了6 的方法没试成功,其他都没能成功。

falseclock方法
https://www.bios-mods.com/forum/Thread-READ-FIRST-Access-Advanced-settings-through-EFI-shell
页: [1] 2 3 4 5
查看完整版本: 刷BIOS工具分享(白名单,高级菜单,电源管理)