轻松提取INTEL原厂主板BIOS |
|
一直以来,使用INTEL原厂主板的网友,都会发现这样一个问题,那就是INTEL原厂的主板BIOS比较特殊;其官方网站提供的BIOS文件,并不是一个单纯的BIOS文件,也不同于刷新程序和BIOS文件整合的自动刷新程序,其是由多个单纯的文件模块组成的EXE自解压文件. |
图一 图二 |
一、准备工具。 图三 图四
由于此标识部分数据很少,因此只要在UltraEdit32编辑界面中,使用鼠标选择0000H--009FH地址的数据后,点击菜单--编辑--剪切即可(图六)。剪切完成后选择文件--保存,将修改后的文件按原名保存即可;然后按此方法逐一修改其它几个剩余文件(注意,最好按原名保存,如果选择另存为,一定要注意顺序,即不能打乱原文件名的排列顺序)。 图六 所有文件修改完成后,点击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不是零。
|
网友看到这里,是否认为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即为我们要加入的字节数(图十二)。 |
图八 图九
图十二 |
选择UltraEdit32程序的文件--新建文件,在空白处随意输入字符,然后选择菜单栏--编程--HEX编辑/EBCDIC,然后在编辑栏中0000000H地址处,删除后面的内容,删除后应只显示地址0000000H(图十三);将鼠标指向0000000H地址后,选择菜单栏--编辑--HEX插入/删除,选择插入,在插入/删除的字节数量后输入98304确认(图十三),即可加入输入字节数的空字节;选择菜单栏--搜索--替换,在界面查找内容处输入20,替换为输入FF(注意,要去掉ASCII选择),点击全部替换(图十四);这样所有的20即替换为FF。选择菜单栏--编程--全部选定然后再选择复制。 |
图十三 图十四 |
选择UltraEdit32程序左侧的状态栏,转换到开始的INTEL.rom,在58000H地址处,选择菜单栏--粘贴即可。完成操作后,看一下文件的尾部,如果正好是7FFFFH,那说明修改正确(图十五),选择文件--另存为即可(如BIOS.rom)。到此INTEL分散型BIOS文件即提取完成,使用编程器即可将文件写入。 |
|
对于整体型BIOS分离,网站以前文件已经介绍,在此不在重复: |
笔者一块INTEL D875PBZ源厂主板BIOS损坏,因为有以前对INTEL主板BIOS的分析,即以为使用编程器刷新可不是件容易的事,主要问题就是BIOS文件;由于无法找到相同的主板,使用编程器读取芯片然后再刷新的方法无法实现;现在唯一的方法只有分离BIOS了。首先到INTLE网站下载到BIOS文件,解压后文件如下:
由于无法准确判断BIOS文件,所以只有先分析一下解压缩出的文件。文件中包括自动批处理文件(autoexec.bat),因此我们首先分析一下此文件,通过编辑此文件发现此文件没有任何有用的资料,就是直接读取iflash.exe文件;接着我们分析另外一个批处理文件EXECUTE.BAT,在此文件中找到我们需要的内容:
看出IFLASH都是调用的p34-0125.bio文件,由此判断,主板所需要的BIOS文件,就在p34-0125.bio文件中,但从分离的文件可以看到,p34-0125.bio文件有1.2M大小,因此,此文件是需要分离的。 我们使用ULTRAEDIT32打开p34-0125.bio文件。打开文件后,真的无处下手呀。通过寻找关键字,发现此BIOS竟是AMI的BIOS,因为他使用的是AMIBOOT的BOOT文件;呵呵,耗子一直认为INTEL原厂的BIOS是PHOENIX的,呵呵,绝对意外。 即然其是AMI的BIOS,那么我们就从AMI BIOS来分析,我们知道,AMI BIOS在头部往往都是FF的空字节,这点与AWARD是不同的。通过分析文件,发现文件的头部是BIOS文件的识别码,就是IFLASH就是通过此来识别BIOS文件的,从头部到0acf H为识别代码,我们先在ULTRAEDIT中将其删除。
将光标移动到文件的头部,即00000H的位置,点击“编辑”--“HEX 添加/删除”,选择删除,输入需要删除的字节即可。(注意:删除时,一定要将光标移动到文件的开头呀。呵呵。)对于删除的字节数,我们可根据此计算,由于ULTRAEDIT显示的16进制,而且我们需要将0acf H以前的内容全部删除。因此我们需要计算的地址是ad0 H转换成10进制;呵呵,这个对于一般的网友来说,困难呀。不过,有简单的方法,我们只要在开始--程序--附件--计算器。运行计算器后,点击查看--选择科学型,首先选择16进制,然后输入ad0,呵呵,再选择上面的10进制,即可显示出对应的10进制数了。
将文件的头部删除后,我们再判断BIOS文件的尾部;通过分析INTLE AMI BIOS,其BIOS的尾部字节应是0F 09 EB CE 00 00 00 00 00 00 00 00 00 00 FC FF,在搜索中搜索此字节,确定尾部在fffff H位置上,再通过主板使用的BIOS芯片来判断,其使用的是N82802AC芯片,此芯片是8M容量的,其地址正好是00000H---fffffH,因此确定我们确定的BIOS文件尾部是正确的。
即然确定了BIOS文件的尾部,那么我们只要将100000 H后面的内容全部去掉就可以了。将光标移动到100000 H位置上,点击“编辑”--“HEX 添加/删除”,选择删除,输入需要删除的字节即可。由于我们要删除100000 H后面所有的字符,因此在删除输入的字节数时,我们随意输入一个尽可能大的字节数,点击删除即可;这样就不用计算需要删除的节节数了。呵呵,耗子感觉这样最方便呀。最大的删除字节数是2147483645。 删除后,我们就可把剩余的00000--fffffH之间的内容保存即可。点击文件--另存为,输入保存的文件名保存即可。 修改完成的BIOS文件,使用AMIBCP8可以正确打开,因此确定BIOS文件分离成功;然后使用编程器将修改好的文件写入主板BIOS后,插到主板上,开机一切正常,至此INTEL原厂BIOS分离完成。 注意:修改BIOS时,一定要参考BIOS芯片的容量,来判断要分离BIOS文件的大小。 此文章由BIOS维修网站制作完成 版权所有,任何个人或杂志在没有得到笔者的同意下,不允许转载,网站保留一切权力。 |
|
|