无忧启动论坛

标题: flashrom,在Win,Dos下擦写BIOS芯片!(已提供DOS版测试) [打印本页]

作者: lintel    时间: 2010-1-18 08:55
标题: flashrom,在Win,Dos下擦写BIOS芯片!(已提供DOS版测试)
本帖最后由 lintel 于 2022-10-28 16:42 编辑

FlashROM 是CoreBoot(LinuxBIOS)中的一个工具。

WinFlashROM 是一个由flashrom移植而来,在Win下擦写BIOS芯片的工具.
官方地址:
http://www.coreboot.org

FlashROM 原本是Coreboot(LinuxBIOS)项目的一个工具,本人在移植CoreBoot的时
候觉得Flashrom非常强大,所以把FlashROM一起移植到Win下,希望能方便大家刷写BIOS.
注意!!!擦写BIOS危险,请谨慎!一切后果作者不负任何责任!
Powered by Lintel 2005-2009
BUG请Mail&QQ&MSN:lintel77(AT)qq.com
使用方法: flashrom.exe [-rwvEVfh] [-c 芯片类型] [-s 排除地址_开始]
       [-e 排除地址_结束] [文件]
   -r | --read:                    读取BIOS芯片内容并保存到文件
   -w | --write:                   读取BIOS文件并写入到BIOS芯片 (必须
                                   指定文件)
   -v | --verify:                  校验写入文件
   -E | --erase:                   擦除芯片内容
   -V | --verbose:                 显示更详细的输出
   -c | --chip <芯片名称>:          指定芯片类型
   -s | --estart <地址>:           排除地址(开始)
   -e | --eend <地址>:             排除地址(结束)
   -f | --force:                   不检查文件并强制写入

如果没有指定文件, 则输出BIOS芯片型号
跟其他信息.

举例:

1.备份BIOS.
C:\flashrom>flashrom.exe -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
正在校准延迟循环... 完成!
找到芯片组 "ICH5/ICH5R": 正在开启FLASH芯片写入... 成功!
Pm49FL002 在下面地址找到: 0xfffc0000
Flash型号是 Pm49FL002 (256 KB)
正在读取Flash芯片...完成
驱动已经停止并释放

2.擦除flash芯片。
C:\flashrom>flashrom.exe -E
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
正在校准延迟循环... 完成!
找到芯片组 "ICH5/ICH5R": 正在开启FLASH芯片写入... 成功!
Pm49FL002 在下面地址找到: 0xfffc0000
Flash型号是 Pm49FL002 (256 KB)
正在擦除flash芯片
驱动已经停止并释放

3.写入bios文件,注意,文件大小必须与flash大小匹配!
C:\flashrom>flashrom.exe -w bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
正在校准延迟循环... 完成!
找到芯片组 "ICH5/ICH5R": 正在开启FLASH芯片写入... 成功!
Pm49FL002 在下面地址找到: 0xfffc0000
Flash型号是 Pm49FL002 (256 KB)
Flash image seems to be a legacy BIOS. Disabling checks.
Programming Page: 0015 at address: 0x0003c000
驱动已经停止并释放


值得说明的是,该程序没有进行任何保护措施,即使你在BIOS中启用了BIOS芯片写保护,它照样还能继续写入。除非你在硬件上进行写保护。





更新历史.

2009.12.20

winflashrom CHS第一个版本。

2010.07.11

Flashrom DOS第一个版本。来自国外一兄弟的移植。

flash支持列表:
支持的芯片组以及支持的flash芯片,请参考:
http://www.flashrom.org/Supported_hardware

LPC/FWH/SPI的大部分flash芯片.
注:Winflashrom版本过低,目前暂不支持SPI 芯片。




测试通过的,请在楼下跟帖进行说明。
BUG以及不支持的,也请说明下具体配置。


flashrom DOS:
flashromdos.rar (321.32 KB, 下载次数: 633)


Flashrom Win:

flashrom.rar (35.83 KB, 下载次数: 975)


使用本工具的朋友,请慎重慎重再慎重。误操作将导致机器变砖。所有损失作者不负任何责任。

[ 本帖最后由 lintel 于 2010-7-12 00:18 编辑 ]
作者: moondust    时间: 2010-1-18 12:06
我在WINPE上试了一下,很不错的东西,AWARD和AMI的BIOS都识得,但好象是基于芯片组的,一些较新的板子它就无法操作。不知楼主有没更新版本的?
作者: xianglang    时间: 2010-1-18 12:23
要是再有一个GUI界面就更好了……
作者: lintel    时间: 2010-1-18 14:31
原帖由 xianglang 于 2010-1-18 12:23 发表
要是再有一个GUI界面就更好了……

那就动手写一个呗~反正这个只是俺研究的副产品。
作者: lintel    时间: 2010-1-18 14:34
重新编译了一个新版本,能支持SPI等新的芯片,但是驱动出了点问题,懒得再去改。
等大家需要的时候再编译吧。


J:\flashrom>flashrom.exe -E
WinFlashrom v1.1 Compiled By Lintel  2009.12.26
The driver has been extracted
creating new service...
The driver is registered and activated
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
Scanning bus 03 for devices...
Scanning bus 04 for devices...
No coreboot table found.
Found chipset "Intel ICH7/ICH7R", enabling flash write... OK.
This chipset supports the following protocols: SPI.
Calibrating delay loop... OK.
Found chip "Macronix MX25L4005" (512 KB, SPI) at physical address 0xfff80000.
Error! 连到系统上的设备没有发挥作用。
Error accessing flash chip, 0x100000 bytes at 0xfff00000
DirectIO mmap failed: No error
The driver stopped and unloaded

[ 本帖最后由 lintel 于 2010-1-18 14:35 编辑 ]
作者: lintel    时间: 2010-1-19 14:19
奇怪,怎么没人报告?
作者: lvyanan    时间: 2010-1-19 14:24
支持,收藏起来,以后用得着。
作者: xianglang    时间: 2010-1-19 18:19
我是收藏备用,还没试过……
作者: z1314007    时间: 2010-1-20 16:23
很强大的工具,感谢楼主。
可惜我不懂这些东西   :)
作者: yichya    时间: 2010-1-20 19:17
标题: 我的VIA APPLLO 133老机器 + WINPE.
X:\Documents and Settings\Default User\桌面\flashrom>flashrom -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
正在校准延迟循环... 完成!
警告: 没有找到芯片. Flash 检测 似乎失败了
没有找到EEPROM/flash芯片.
驱动已经停止并释放

X:\Documents and Settings\Default User\桌面\flashrom>
作者: feiyl    时间: 2010-1-20 19:50
好东西下载收藏………
作者: bardlet    时间: 2010-1-20 23:10
原帖由 lintel 于 2010-1-19 14:19 发表
奇怪,怎么没人报告?

大家用的都是主板厂家的刷新工具
能少冒点风险,不是人人都有编程器


ms-7501 主板

[ 本帖最后由 bardlet 于 2010-1-20 23:15 编辑 ]
作者: 大少爷    时间: 2010-1-21 03:52
wuyou藏龙卧虎呀.谢谢分享!~!


-E | --erase:                   擦除BIOS芯片内容

擦除:请解释一下.我的理解"清空"?


[ 本帖最后由 大少爷 于 2010-1-21 03:55 编辑 ]
作者: lintel    时间: 2010-1-21 10:14
原帖由 大少爷 于 2010-1-21 03:52 发表
wuyou藏龙卧虎呀.谢谢分享!~!


-E | --erase:                   擦除BIOS芯片内容

擦除:请解释一下.我的理解"清空"?


没错,就是擦除整个BIOS芯片内容。
作者: feiyl    时间: 2010-1-21 17:17
这个东东得谨慎使用啊
作者: cs035090    时间: 2010-1-24 10:23
很实用。。收藏下载了
作者: kevin95    时间: 2010-1-24 23:19
对nvidia芯片的好像也不支持了
作者: tszc2003    时间: 2010-1-29 20:11
不会用~~~~~~~~~~~~~
作者: zsjyzx    时间: 2010-2-3 00:12
很实用。。收藏下载了
作者: xuxuezeng    时间: 2010-2-4 23:43
我的联想昭阳E43L 用的是Phoenix Firstware,测试结果如下:
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Windows\system32>i:

I:\>cd flashrom

I:\flashrom>dir/w
驱动器 I 中的卷是 t
卷的序列号是 000E-381B

I:\flashrom 的目录

[.]            [..]           [driver]       flashrom.exe
               1 个文件         73,728 字节
               3 个目录 18,356,035,584 可用字节
I:\flashrom>flashrom -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 02 for devices...
Scanning bus 03 for devices...
Scanning bus 05 for devices...
Scanning bus 06 for devices...
Scanning bus 07 for devices...
正在校准延迟循环... 完成!
警告: 没有找到芯片. Flash 检测 似乎失败了
没有找到EEPROM/flash芯片.
驱动已经停止并释放

I:\flashrom>
作者: 滑头    时间: 2010-2-5 22:05
这才是玩心跳的东东!收下!
作者: gne    时间: 2010-2-7 10:15
C:\flashrom>flashrom.exe -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
正在校准延迟循环... 完成!
找到芯片组 "ICH4/ICH4-L": 正在开启FLASH芯片写入... 成功!
SST49LF002A/B 在下面地址找到: 0xfffc0000
Flash型号是 SST49LF002A/B (256 KB)
正在读取Flash芯片...完成
驱动已经停止并释放

作者: ice360    时间: 2010-2-7 18:10
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/18/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
Scanning bus 03 for devices...
Scanning bus 04 for devices...
Scanning bus 05 for devices...
Scanning bus 06 for devices...
Scanning bus 07 for devices...
正在校准延迟循环... 完成!
找到芯片组 "NVIDIA MCP55": 正在开启FLASH芯片写入... 成功!
W39V040B 在下面地址找到: 0xfff80000
Flash型号是 W39V040B (512 KB)
正在读取Flash芯片...完成
驱动已经停止并释放


支持一下!很强大!
作者: fbisheep    时间: 2010-2-9 15:48
F:\flashrom>flashrom.exe -r
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
Scanning bus 03 for devices...
Scanning bus 04 for devices...
正在校准延迟循环... 完成!
警告: 没有找到芯片. Flash 检测 似乎失败了
没有找到EEPROM/flash芯片.
驱动已经停止并释放

楼主,好像失败了.......
作者: neo007    时间: 2010-2-10 07:43
可不敢测试. 佩服高人. 顶起来
作者: 修罗铁    时间: 2010-2-10 13:58
我的旧日立笔记本bios类型是Phoenix在0pe下测试
X:\flashrom>flashrom.exe -r -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 81 for devices...
正在校准延迟循环... 完成!
找到芯片组 "PIIX4/PIIX4E/PIIX4M": 正在开启FLASH芯片写入... 成功!
没有找到EEPROM/flash芯片.
驱动已经停止并释放
作者: zjq20032006    时间: 2010-2-13 14:54
就是写入不了       .
作者: 1fox    时间: 2010-2-14 10:29
太危险了,这东西真刺激
正在校准延迟循环... 完成!
警告: 没有找到芯片. Flash 检测 似乎失败了
没有找到EEPROM/flash芯片.
驱动已经停止并释放
可惜没成功
作者: yangnianfeng10    时间: 2010-2-14 20:41
本人菜鸟啊,还是多看看成功的案例以后再看吧
性 爱裸体聊天室做 爱
激情裸聊激情QQ做 爱
性 爱打炮脱 衣舞
作者: afgameboy1    时间: 2010-2-15 13:38
反馈下我的 865pe

I:\无忧启动\flashrom>flashrom.exe -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
Scanning bus 02 for devices...
正在校准延迟循环... 完成!
找到芯片组 "ICH5/ICH5R": 正在开启FLASH芯片写入... 成功!
W39V040FA 在下面地址找到: 0xfff80000
Flash型号是 W39V040FA (512 KB)
正在读取Flash芯片...完成
驱动已经停止并释放
作者: GDownloader    时间: 2010-2-16 12:55
MB: MSI KT3V (MS-6712)
BIOS类型: AMI
BIOS版本: Version 07.00T

flashrom -r bios.rom
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 01 for devices...
正在校准延迟循环... 完成!
找到芯片组 "VT8235": 正在开启FLASH芯片写入... 成功!
没有找到EEPROM/flash芯片.
驱动已经停止并释放
作者: lintel    时间: 2010-4-8 22:11
准备再次更新。
作者: ljq2008    时间: 2010-4-9 11:48
期待这个工具的更新。
作者: lujianshe    时间: 2010-4-9 15:14
收藏了谢谢!!!!!!!!!!!!!!
作者: jiangxidayu    时间: 2010-4-14 20:42
牛人呀。。。。。。。。。
作者: 数值    时间: 2010-4-15 18:36
BIOS可不敢乱测试. 佩服,支持, 顶起来!!
希望写个GUI界面也好方便俺这新手,看见命令行我就烦!
作者: lintel    时间: 2010-7-11 23:51
今天添加了DOS版本的支持。支持绝大部分SPI芯片。
作者: lintel    时间: 2010-7-12 22:53
新版的没人报告测试结果?
作者: 1fox    时间: 2010-7-15 11:45
标题: 回复 #38 lintel 的帖子
不敢了,搞不好把电脑BIOS给整瘫了,我家就这一个台式机,出问题我爸妈不跟我拼命吗?
有空把那个搁在车库里的2000年DELL笔记本拿来当小白鼠(在一次被我大卸八块后,估计已经开不了机了)但是,可能不能测试了
作者: sunmingming512    时间: 2013-9-12 14:45
本帖最后由 sunmingming512 于 2013-9-12 14:50 编辑

C:\>flashrom.exe -r BIOSr.ROM
驱动已提取
正在创建新服务...
驱动已经安装并激活!
Trying method 0...
...sanity check
...outside the Asylum at 0/00/0
...OK
Decided to use Intel-conf1
Scanning bus 00 for devices...
Scanning bus 02 for devices...
Scanning bus 01 for devices...
Scanning bus 03 for devices...
正在校准延迟循环... 完成!
找到芯片组 "ICH7/ICH7R": 正在开启FLASH芯片写入... 成功!
没有找到EEPROM/flash芯片.
驱动已经停止并释放


配置是Eon生产的1MB大小bios

spi总线配置




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3