|
|
2
二、提取分散型BIOS文件。! h( H6 f4 J; @% N9 ?
6 i) A* T! L) {* n; Z% `6 c
首先按主板型号,到INTEL官方网站下载到BIOS文件(文章以Intel英特尔D845EPT2/D845EBG2主板 PTAP07EB文件为例),其是WIN环境下自安装程序,如果当前主板不是INTEL原厂,直接运行EXE文件,系统将提示错误而退出安装。我们应用鼠标选择PTAP07EB文件,右键--选择--用WINRAR打开(当然,系统中要安装WINRAR程序)(图三)。使用WINRAR打开后,选择文件菜单--命令--解压缩到指定文件夹,将解压的文件保存在相应的文件夹中(如c:INTEL)。打开保存的INTEL文件夹,我们会发现,文件夹中有很多文件,其中的P07-0013.BI0--p07-0013.BI6等7个文件,即为我们需要的文件(图四)。1 J1 P' s2 m7 M! y& m- r: X# ~7 V$ `
(图三)$ ^5 q/ T6 n8 k1 c
(图四)
% V0 N8 L- D. @/ H& W删除其它无用的文件,只保留P07-0013.BI0--p07-0013.BI6等7个文件;从文件名中可以看出,INTEL的BIOS文件模块,其文件名相同,但扩展名是不同的。这也是合并的关键,合并时要以文件的扩展名为顺序,即标明为BI0的为第一个文件,然后依次类推;当然,完整的BIOS文件并不是简单的合并就可完成的,请随BIOS继续。
3 Q$ ?1 w, R6 {7 N. @" U, T; E. n4 f+ J" v
运行UltraEdit32程序,调入P07-0013.BIO文件,文件从头部0000H--009FH的地址,是BIOS模块的标识部分,其内容为主板的型号及日期等,我们称为文件头部。在这里,可能细心的网友会发现,我们打开的文件是P07-0013.BIO,但标识信息中却是显示的P07-0013.BI1(图五),难道是文件错误?其实是这样的,INTEL在BIOS模块标识中定义的文件名,是代表此文件下一BIOS模块的文件名。IFLASH在刷新时,也是根据读取BIOS模块标识中的文件名,来定义联接下一个BIOS模块。但是此标识,只起到定义文件模块的作用,并没有写入BIOS。因此我们要先将标识部分(文件头部)删除。3 w+ s% p$ y, F7 E( k. y1 w
(图五): e( d Z( y" P; F1 `3 {
由于此标识部分数据很少,因此只要在UltraEdit32编辑界面中,使用鼠标选择0000H--009FH地址的数据后,点击菜单--编辑--剪切即可(图六)。剪切完成后选择文件--保存,将修改后的文件按原名保存即可;然后按此方法逐一修改其它几个剩余文件(注意,最好按原名保存,如果选择另存为,一定要注意顺序,即不能打乱原文件名的排列顺序)。
4 c% ?& [) R6 P6 k# g/ Z1 y7 w# \ (图六)4 m- j. O3 d; i) U
所有文件修改完成后,点击Windows--开始--运行。输入COMMAND确定后,进入DOS模式(以WINXP为例),进入BIOS文件模块的文件夹(即INTEL文件夹)。输入Copy P07-0013.BIO/b+P07-0013.BI1/b+P07-0013.BI2/b+......P07-0013.BI6/b BIOS.ROM,回车后即可将上述7个文件合并成一个BIOS文件(图七)。在这里一定要注意,输入的文件名一定要顺序输入,即从BIO--BI6,不能打乱顺序;每一个文件名后一定要加/B参数,即表明文件按二进制的方式联接;还有一点,请网友注意BIOS模块第一个文件,其扩展名是BIO,是O不是零。% f) B8 f1 i9 o8 ?9 y: i
(图七)
# Y4 M2 O s/ Y: S% n% W' `( ^+ I 网友看到这里,是否认为BIOS文件已经合并完成了。其实这只是开始,关键步骤如下的。运行UltraEdit32程序,调入我们刚才合并的BIOS.ROM文件(如果编辑栏显示为HEX格式(图八),只要选择菜单编辑--HEX编辑即可)。点击菜单--搜索--查找,在查找内容中输入AMI,注意一下是否选定了查找ASCII(图九),(为什么输入AMI,因为INTEL的BIOS,实际就是AMI的BIOS文件,呵呵,绝对想不到吧;搜索AMI,即寻找AMI BOOT区)。找到后,我们将鼠标移到58000H的地址处(图十),我们要在此插入相应数量的空字节即FF;插入的字节数根据主板BIOS芯片容量和我们合并的INTEL.ROM文件的大小决定,即使用BIOS芯片的容量减去合并文件的大小,由于主板使用IN82802AB的BIOS芯片,其容量为4M,大小为7FFFFH,我们合并的INTLE.ROM文件,只有67FFFH(即INTLE.ROM文件的尾部地址(图十一));运行开始--所有程序--附件--计算器,选择计算器上的查看--科学型,选择计算器上的十六进制,从键盘输入7FFFF-67FFF(不包括H),鼠标点击=,即可显示值为十六进制的18000H,选择十进制,显示的98304即为我们要加入的字节数(图十二)。
6 p% |5 Y+ D# M9 S. H, R1 D (图八)
0 @5 w4 i+ q' w% a$ t- y (图九)
: z' ^7 U3 O1 o G. b, w (图十)8 \6 V. h$ ~& J+ k2 z' U
(图十一)7 B1 D* a) M* z% c+ D2 `
(图十二)! x: n/ ]% } V& w) k5 Z9 l
选择UltraEdit32程序的文件--新建文件,在空白处随意输入字符,然后选择菜单栏--编程--HEX编辑/EBCDIC,然后在编辑栏中0000000H地址处,删除后面的内容,删除后应只显示地址0000000H(图十三);将鼠标指向0000000H地址后,选择菜单栏--编辑--HEX插入/删除,选择插入,在插入/删除的字节数量后输入98304确认(图十三),即可加入输入字节数的空字节;选择菜单栏--搜索--替换,在界面查找内容处输入20,替换为输入FF(注意,要去掉ASCII选择),点击全部替换(图十四);这样所有的20即替换为FF。选择菜单栏--编程--全部选定然后再选择复制。
G. S# N( _. `4 K+ V2 J4 W (图十三)
1 T/ Q; w$ o \% J1 g- g9 n (图十四)7 R" K, D! N2 ?8 \, v, _* Q) U$ T
选择UltraEdit32程序左侧的状态栏,转换到开始的INTEL.rom,在58000H地址处,选择菜单栏--粘贴即可。完成操作后,看一下文件的尾部,如果正好是7FFFFH,那说明修改正确(图十五),选择文件--另存为即可(如BIOS.rom)。到此INTEL分散型BIOS文件即提取完成,使用编程器即可将文件写入。' \: _, q* K1 A0 [$ p
![]() |
|