本帖最后由 wsy2220 于 2012-9-29 23:32 编辑
作为一名折腾爱好者,折腾BIOS是家常便饭,因为刷BIOS紧张,刺激,面对一片十六进制数据,颇有技术宅的成就感,最近折腾过程中,发现了两个小技巧,写出来与大家分享。
一、免除一切校验,强行刷BIOS。
警告:此法极其危险,仅面向高级用户,因为其完全绕过BIOS厂商的保护措施,如果刷入错误的BIOS,很可能刷黑。另外,切勿使用此法刷笔记本BIOS,尤其是带ec的笔记本,必黑。本人不对使用此方法造成的任何损失负责。
前几天改BIOS,刷进去以后黑了,于是祭出“热插拔大法“,想在一块老主板上通过热插拔刷回来,但是没想到的是,由于老主板的BIOS容量小于这块板的BIOS,AMI的刷新工具会检查内存里的BIOS大小,刷新时提示容量不对,不让刷。于是我就开始寻找能不校验大小,强行刷入的工具,找了很多,可是没一个能用,能找到的基本上都是很老很老的东西了。于是就在淘宝上买了个SPI编程器,只能用它来拯救了。
可是第二天,我却偶然发现,linux下却有开源刷BIOS工具flashrom,可以避开AMI/AWARD工具对BIOS的校验,成功拯救了这块主板,悲剧的是编程器已经在路上了
下面介绍如何用SystemRescueCd(下载地址点我)内整合的flashrom工具刷BIOS.有一定linux基础的同学可以自行下载源码编译最新版的软件(方法在此)。
1.将准备刷入的BIOS文件放到C盘根目录。
2.用ultraiso将SystemRescueCd镜像写入u盘(刻成光盘也可以),然后重启,从U盘启动。
3.如图,选择第4项,启动ystemRescueCd系统
4.如果你的C盘是NTFS文件系统,则键入如下两行命令:- mount -t ntfs /dev/sda1 /mnt
- cd /mnt
复制代码 第一行是将C盘挂载到/mnt目录下,第二行是转到/mnt目录,此时可以输入ls,列出C盘根目录下的文件。如图
5.备份BIOS。键入如下命令,将当前BIOS保存为bak.rom:- flashrom -p internal -r bak.rom
复制代码 6.写入BIOS,键入如下命令,将需要刷入的文件test.rom写入BIOS芯片:- flashrom -p internal -w test.rom
复制代码 接下来屏幕上应该会显示命令执行状态。如果没有问题,将会提示写入成功。注意,Linux系统文件名是区分大小写的,所以务必将文件名写完整.
以上就是基本过程,如果常规方法达不到你想要的效果,可以尝试用这种方法强制刷新。再次重申,此工具不会对BIOS的有效性进行检验,只要是与flash芯片容量相同的文件就可以刷入,因此请务必确保此文件的正确性。
由于主板厂商的BIOS刷新工具可能往往只刷新部分模块,有时候可能会导致一些问题,比如某些主板刷BIOS以后会掉ME什么的,用这个工具也可以彻底重刷,相当于把电脑变成了一个编程器,节省一笔JS代刷的费用,也可以避免这位同学的惨剧:http://bbs.pceva.com.cn/thread-58538-1-1.html。 动手能力强的同学甚至可以用它来刷路由器,把路由器的rom芯片热替换到主板上,给路由器刷固件
补充内容 (2012-10-22 21:03):
此方法不支持CAP格式的BIOS
补充内容 (2012-10-24 21:37):
87楼补充重要注意事项
补充内容 (2013-3-29 19:28):
更新:华硕CAP格式的BIOS可以用winhex去掉前2048字节再刷入 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|