DELL DMC521 BIOS分离维修过程 今天一网友回复耗子,自己一台DELL DMC521机器,由于刷新BIOS时,没有关闭杀毒程序,造成刷新过程中出错,重启无法开机。由于是刷新BIOS出错后无法开机,因此只要重写BIOS即可解决问题;但目前面临的问题是,DELL机器的BIOS比较特殊,其提供的BIOS文件都是EXE自刷新的文件,因此分离比较麻烦,而且网友按主页以前提供的DELL BIOS文件分离的文章,无法分离出BIOS文件--参考文章:如何分离DELL(戴尔)机整合型BIOS文件(过程分析及相关参数介绍);因此询问耗子是否可以从EXE自刷新程序中分离出BIOS文件。
. \% h' |0 u$ j# D& N" [2 O o 收到网友传来的BIOS文件,其就是个EXE文件。首先选择使用WINRAR打开EXE文件,确定文件是否自解压的EXE文件,虽然可以使用WINRAR打开这个EXE文件,但是解压出的文件却是一个名为A17AS.BIN的文件,但其只有128K(1M)大小,这显然不对,因此排除直接分出BIOS文件的想法。
7 O w$ L5 k8 H; v2 c) U% ` 无法直接分出BIOS文件,使用ULTRAEDIT32,直接打开DMC521.EXE文件,从文件头部可看出,其就是一个WIN32程序,当然这个对我们并没有多少帮助;直接向下搜索,意外竟在0277D2H地址处,发现了“LH5”字符,我们都知道“LH5”是AWARD BIOS的标识字节,因为AWARD BIOS都是使用LH5压缩的。找到此字节,说明文件应是AWARD BIOS,也可通过此确定BIOS文件的头部,这真是意外中的意外呀。 虽然现在确定文件是AWARD的,而且也可确定文件头部。但是在LH5前还有约64K的FF空字节,因此要分出的文件有两种可能。一种是从LH5处,直接向下分出7FFFFH字节的文件,其就是完整的BIOS文件。二是从LH5前64K空字节处,开始分出7FFFFH字节的文件,即包括LH5前的64K空字节。 由于无法确定文件的头部,本来耗子想按两种方法分别分出BIOS文件,对比确定一下;但又想投机取巧,于是让网友将已经损坏的BIOS芯片中的内容读出来,如果芯片中还有数据的话,可以方便的确定,呵呵;还好芯片网友还没有擦除,备份出文件,通过网络传过来,使用ULTRAEDIT32打开备份出的已经损坏的文件。 通过分析备份出的损坏BIOS芯片的中文件,确实是文件前面有64K的空字节(机器无法启动的原因是,BIOS文件没有刷新完成,12FFFH地址后面全是空字节)。 确定了文件的头部,以下操作就简单了。正确分出BIOS文件,并传给网友测试;网友写入后回复,可以正常开机,但进入系统后检测不到机器的型号,显示全是空白。即然机器可以启动了,但是机器型号等资料检测不到,看来BIOS中还有部分信息没有加入。 重新打开网友备份出的已经损坏的BIOS文件,在文件头部位置果然发现机器的详细信息,如下图: 复制文件中的这部分资料,然后对应地址覆盖在分出的BIOS文件的文件中。重新保存成文件,传给网友测试,经网友回复,一切正常。至此维修修复完成。 注意: 1、如是刷新失败后,先不要急于写芯片,一定要先备份出文件,这样以后需要时使用。 2、此方法是否适应于其它DELL的机器,耗子没有时间测试。因此有兴趣的网友可自行测试一下。 3、分离文件时,文件的大小按BIOS芯片的大小确定即可。 |