公司简介
  笔记本维修
  维修案例
  维修培训
  技术服务
  合作单位
  联系我们
笔记本维修 首页 笔记本维修

       以DELL机器Latitude D410,D610,D520,Insprion 630m,6000,6400为例,我测试过的BIOS包含了大部分迅驰1、2、3机型,因此本帖只讨论DELL迅驰笔记本,
Q:哪里可以获得DELL机器的BIOS升级程序?
A:当然是DELL官方网站。但是这里有一个技巧,就是用FTP客户端登录ftp://ftp.dell.com/,在bios文件夹下有各种机型的各个版本的BIOS升级程序下载。升级程序的命名规则是 型号_版本.exe,比如D610机器的A06版本就是 D610_A06.exe,但是有些机型用的是内部代号。比如 Insprion 6400 的代号是 MM061,所以它的A12版本文件名是 MM061_A12.exe。机器的代号在笔记本刚启动显示DELL标志的那个界面可以看到,在白色进度条的上方。

Q:如何知道我当前的BIOS版本?
A:同样是在笔记本刚启动显示DELL标志的那个界面,在白色进度条的下方,有 BIOS Revision AXX 字样,AXX就是当前BIOS的版本号。

Q:什么版本的BIOS含有SLIC信息?
A:取决于机型。比如D620的A07版本,6400的A12版本。对于一些较老的机型,DELL根本没有提供含有SLIC信息的BIOS更新程序。

Q:如何知道DELL有没有为我的机型提供含有SLIC信息的BIOS?
A:有一系列方法:
  1、登录DELL官方网站(http://www.dell.com/,亚太网站.cn也可以,我比较推荐dell.com),在驱动下载页面找到你的机型,并选择 Windows Vista 32-bit 或 Windows XP 操作系统 及 English 语言,查找 Flash BIOS 更新。如果在该BIOS更新程序的下载页面有 Update Computrace ROM support for Vista 字样,就证明该BIOS含有SLIC信息。
  2、DELL统一在2006年12月19日为所有支持升级到Vista的机型提供了包含SLIC信息的BIOS更新,只要FTP登录ftp://ftp.dell.com/bios/,查看你的机型有没有修改时间为 2006/12/19 或更晚的BIOS更新程序即可。
  3、经验判断:如果你的CPU是酷睿系列(编号T开头,如T2300、T5500),或你的主板芯片组为945系列(或更高,如桌面的965系列),那么DELL应该已经为你的机型提供含有SLIC信息的BIOS,快去ftp上找一找吧。如果你的CPU还是Pentium M(或更早,如Pentium 4 M),如果你的主板芯片组为915系列(或更早,如855系列),那么很遗憾,DELL没有为你提供含有SLIC信息的BIOS更新程序。

Q:为什么我的机器明明刷了含有SLIC的BIOS却只得到一个长度为36字节的SLIC表?
A:你的机器比较新,DELL在生产线上对其BIOS做了标记,使BIOS信息向内存映射时,只有36字节的表头出现,后面的内容被抹去了。可以肯定这并不是由于你和别人刷了不同的BIOS导致的,换句话说,DELL的这个标记不是存在于BIOS中(这个BIOS是狭义的,就是镜像),而在主板的其它地方,猜测比如DMI。关于这个结论的证明可以看下面的备份部分(事实上,6400和6400-n都刷到A12,备份出BIOS可以发现它们是相同的,即使这台6400-n可能被DELL做过标记,导致进入系统后其SLIC表不完整。)。

Q:DELL的BIOS刷新程序怎么用?
A:BIOS刷新程序是一个特殊的可执行程序,有32位和16位两种运行模式,也就是说,它可以在Windows平台下以32位程序运行(非实模式),也可以在纯DOS环境中运行。运行后系统会自动重启,BIOS刷新完毕。在某些特定的情况下,它可能必须在纯DOS环境中运行,在Windows平台下会有错误报告,代码0x00000610。

Q:DELL的BIOS刷新程序仅仅是一个补丁吗?
A:不是!事实上,DELL的BIOS刷新程序中含有完整的GZip压缩的BIOS镜像。提取方法是使用-writehdrfile或-writeromfile参数。比如:


D610_A06.exe -writehdrfile

这条命令将在当前文件夹下生成一个名为 D610_A06.hdr 的BIOS镜像,大小为1,048,668字节,等于1MB+92字节(这个大小不是D610的特例,而是所有迅驰1,2机型相同,迅驰3的机型大小为1,114,208字节)


D610_A06.exe -writeromfile

这条命令将在当前文件夹下生成一个名为 D610_A06.rom 的BIOS镜像,大小为1,048,576字节,恰好为1MB(这个大小不是D610的特例,而是所有迅驰1,2,3机型相同)

Q:HDR和ROM分别是什么格式的BIOS镜像?它们有什么关系?
A:暂且可以将其称为 Phoenix ROM BIOS Plus 格式,应该是 Phoenix 专为 DELL 设计的,尚未找到对其进行修改的工具。HDR文件和ROM文件的关系则比较清楚,对于迅驰1,2系列机型(主板为855或915芯片组),HDR文件比对应的ROM文件多92个字节。这92字节分别是头部的84字节和结尾的8字节,除去这92个字节即可得到ROM文件。其中头部的84字节是以$RBU开头的版权字符串,结尾的8字节中前4字节是ROM文件的CRC32校验和的补码,后4字节是前面84字节+1MB完整ROM镜像+4字节ROM校验和的CRC32校验和的补码(汗,说得好绕口)。因此由ROM文件也可以简单地添加这92字节内容得到相应的HDR文件。
附注:1、RBU的全称是 Remote BIOS Update(远程BIOS刷新),估计DELL当初设计HDR格式主要是为了远程管理(好像有个Dell OpenManage系统做远程管理)
   2、CRC32是一种Hash(哈希)函数(MD5也是一种Hash函数),它对任意长度的数据都会生成4个字节的校验和。有许多常见的Hash计算器都可以用来获得某一字符串或某一文件的CRC32校验和。
   3、补码,对于一个十六进制位来讲,就是用 F(15) 减去当前值得到的结果。(如 3A 的 补码是 FF - 3A = C5)
   4、对于迅驰3机型,HDR比ROM文件又多出了一部分内容。但是由于这些机型已经包含SLIC表,所以暂且按下不提。

Q:怎么备份当前的BIOS镜像?
A:用DELL官方的BIOS刷新程序。必须在纯DOS下运行,加入-readromfile参数。比如:


D610_A06.exe -readromfile

这条命令将在当前文件夹下生成一个名为 BIOS.ROM 的BIOS镜像,大小为1,048,576字节,恰好是1MB。这就是当前BIOS备份出来的镜像。

Q:如何证明上面的镜像是从BIOS中备份得到,而非升级程序提取自身包含的镜像生成的?
A:我的D610目前是A06版本的BIOS,在纯DOS下分别用 D610_A06,D610_A05,D510_A04 (注意,我甚至用了D510的升级程序),配合 -readromfile 参数得到3份BIOS.ROM,用十六进制编辑器(如UltraEdit或WinHex)打开后,发现其中均有D610、A06字样,经过比较,它们的每一个字节都完全相同,都与 D610_A06.exe -writeromfile 得到的镜像相同!

Q:如何把ROM镜像或HDR镜像刷新到BIOS中?
A:用DELL官方的BIOS刷新程序。必须在纯DOS下运行,加入-readgzfile参数。比如:


D610_A06.exe -readgzfile

这条命令将在当前文件夹下寻找D610_A06.gz文件,如果找到,它把该文件解压得到D610_A06.hdr文件,校验其中的CRC信息,并把该hdr文件中所包含的1MB ROM镜像刷新到BIOS中。所以,如果我们手头有ROM镜像,只须先添加92字节成为HDR镜像,然后用GZip打包成gz文件就可以刷新了。
附注:GZip压缩格式:这是一个开源的压缩格式,Windows 用户可能对其并不熟悉,但是Linux下它的应用十分广泛(Linux最流行的压缩方式莫过于tar打包加上gz压缩)。在 http://www.gzip.org/ 可以获得各种版本的GZip源码和不同平台下的可执行程序。

Q:如何编辑DELL的ROM镜像?
A:尽管用十六进制编辑器打开ROM镜像,你可以搜索到RSDT等字符,但很遗憾的是,ROM镜像的确是被一种未知的算法压缩过的。

  地址:南京市珠江路653号脑海科技大厦   传真:025-84525065   苏ICP备12008589号 苏公网安备32010202010135号Copyright © 2010  南京瑞巨数码科技有限公司  All Rights Reservered   技术支持:南京瑞巨设计有限公司 友情链接:   平面设计制作网  南京思锐文化发展有限公司  PPT设计策划  南京ppt设计制作  南京龙帅设计  重庆空调维修  南京龙帅设计  南京平面广告设计  南京画册设计  南京菜谱设计制作  南京少年极客  江苏PPT设计网