主板BIOS修改终极大法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在老一代DIY玩家眼中,BIOS是电脑入门的必修课程,不过现在新一代玩家对此领域已经相对陌生。

其实电脑硬件BIOS里面蕴含着丰富的知识,通过修改BIOS确实是可以实现众多方便而实用的功能的。

特别对于新手来说,在古老的BIOS领域,依然有很多你需要去了解的东西……
一、小试牛刀——扩大BIOS空间大小
有时我们要给BIOS中加入更多的东西,比如开机LOGO画面等,如果BIOS空间不够用,那就需要删除一些没用的模块,是否有更好的办法扩展BIOS空间大小呢?答案是肯定的,目前有很多现成的工具可以使用,例如Award BIOS写入与备份工具;BIOS编辑工具Cbrom;16进制编辑器UltraEdit32;这些工具都可以在各大下载站点下载。

要加大BIOS文件的剩余空间,我们采用的是大众化的思路:生成空白的临时文件,然后将空白的临时文件插入到原始BIOS文件的剩余空间中,这样我们就可以得到一个剩余空间较大的BIOS文件。

首先在DOS模式下输入CBROM 8kta3pro2405.bin /d命令(假设BIOS文件名为8kta3pro2405.bin),这时可以看到BIOS文件所剩余的空间大小,从图1可以看到,该主板的BIOS文件总容量为262.144K,其只有41.93K剩余空间。

进入WINDOWS 系统,打开BIOS文件所在的目录,使用“复制”和“粘贴”命令生成一个“复件
8kta3pro2405.bin”的文件副本。

其实,这一步不是必须的,只是为了预防万一下面的改造失败而及时恢复BIOS。

图1
使用16进制编辑器UltraEdit32打开“复件8kta3pro2405.bin”,进入UltraEdit32→→Edit→Hex Insert/Delete选项,然后点选“Delete”,在“Number of bytes to insert/delete”后面输入先前我们所查看的BIOS文件大小,这里为262,144字节(如图2),点击“OK”按钮即可。

图2
再次进入UltraEdit32→Edit→Hex Insert/Delet选项,与上次不同的是,我们这次要选择“Insert”进行内容的插入,同样的是插入BIOS文件的大小(此处仍然是262,144)。

可以看到,这个文件的内容变成了“20”。

最后在“Search”选项中点击“replace”调出replace对话框,分别在“Find What”中输入16进制“20”和“Replace With”中输入“FF”(如图3),最后选中“Replace All”后存盘退出。

图3
使用UltraEdit32打开新生产的“复件8kta3pro2405.bin.bak”文件(如图4),然后选择“Search”中的“Find”,输入“FF FF”,并且是连续的“FF FF FF FF FF”如图5),否则会使我们的改造失败。

回车以后就可以搞定文件中剩余空间的位置。

执行“File→Special Functions→Insert File”命令,插入先前我们所改造的“复件8kta3pro2405.bin”文件。

将先前的8kta3pro2405.bin文件保存到别的目录,然后将“复件8kta3pro2405.bin”文件改为8kta3pro2405.bin。

输入CBROM 8kta3pro2405.bin /d命令查看BIOS空间大小,我们发现BIOS的容量就扩大了一倍。

同时剩余空间也成功增加到了297.93K(如图6)。

图4
图5
图6
二、给BIOS打补丁——让老主板焕发青春
一些比较老的PC上的主板,用户在升级时会遇到无法支持新硬件的情况,比如笔者的一块BX主板的电脑,原来搭配的是8G硬盘,买了一个二手40G硬盘装上后,老主板并不能识别,开机显示到检测硬盘时就停止不动,然后就死机了。

由于找不到主板新BIOS,所以只能在找了一个俄罗斯人编写了BIOS PATCHER软件,才解决了这个问题。

BIOS Patcher是一种能查找并修复主板BIOS错误的软件,并且它也能为主板添加或打开新的特性,可以使老主板不识别新CPU的情况下正确显示CPU的名称(显示CPU内核名称并且能修正正错误),还能够修正二级缓存初始化错误,前端总线,倍频,以及不同规程的支持等‚ Patcher能支持137G的大硬盘。

在DOS下直接运行BP,就会出现功能显示画面(如图7)。

图7
使用BIOS刷新程序AWDFLASH备份主板原BIOS文件(备份后的BIOS文件为a.bin),接着输入“BP a.bin”命令就可以给主板BIOS打补丁,之后发现此程序修正我的BX主板BIOS一些错误信息‚ 从图8明显可以看到他修正了很多项目,具体的包括CPU 相关的,内存相关的,硬盘相关的选项。

图8
还等什么,赶紧把修正后的a.bin文件刷入主板BIOS芯片中,重启动电脑。

果然认出我那个40G硬盘硬盘,并且顺利的启动了硬盘里的系统。

修正前无法支持40G硬盘在开机检测不到而死机,修正后检测到40G硬盘并且顺利进入系统(如图9)。

图9
另外,在修正BIOS之前,我同时买了一块图拉丁CIII 1.1G(当然我把转换卡的引脚经过修改来支持CIII电压)‚也是出现很多问题‚系统显示CPU 634MHZ然后死机不动了(如图10),用BP软件修改BIOS后正确显示出CPU的类型,修正后成功检测到CPU 并顺利进入系统(如图11)。

并且后来超频到1.46G(133X11)非常稳定(如图12)。

图10
图11
图12
三、瞒天过海——化整为零屏蔽多余的容量
对2M的BIOS芯片,当A17是低电平时,使用的是00000-1FFFF之间低端1M 空间;当A17是高电平时,使用的是20000-3FFFF之间的高端1M空间,这一点非常重要。

通过分析使用1M BIOS芯片的主板电路发现,由于1M的芯片A17管脚没有定义,是空脚,因此,主板电路在设计时,就把该脚的电压拉至+5V的高电位(如图13),如果在1M BIOS的插座上插入一块2M的BIOS芯片,主板自动屏蔽了2M芯片的低端1M 空间。

图13
如果用编程器向2M的芯片中写入1M的BIOS代码,然后把该芯片插到主板上,不能正常启动机器。

用编程器把BIOS代码强行刷入高端128K空间,该芯片插入主板后,却可以正常启动机器。

这是由于第一次编程器默认把数据写在芯片的低端128K,主板读取的却是芯片高端的128K空白区域;第二次强制把数据写入高端128K空间,主板读取的正好是高端BIOS代码,所以启动主板成功。

通过上面的分析我们知道,主板上A17(即芯片的30脚)已经被设计为高电平了(图3)。

所以除了改变BIOS文件的大小外,只需找到一个不进行一致性检查的刷新程序就可简单地把1M的BIOS文件写入2M的BIOS芯片中。

先找到一个使用1M芯片的主板的机器,开机进入纯DOS模式,然后拔下1M的芯片‚换上2M的芯片。

启动刷新程序,进入程序画面,软件会自动识别出插入的BIOS芯片的类型及2M的容量。

如果这时写入1M的BIOS文件,刷新程序发现二者大小不符,拒绝执行。

在刷新程序的主菜单中,用方向键把光标移到“Part List”项(图14),敲回车后进入芯片型号选择窗口,在此窗口中,用左右键选择芯片的厂家,用上下键选择与主板上2M芯片型号一致而容量为1M芯片(图15)。

选择完毕后,按ESC键返回主菜单,读入1M的BIOS文件,一路回车即可完成操作。

图14
图15
四、偷梁换柱——网卡也能刷BIOS
一般来说,采用热拔插法可以修复损坏的BIOS,但有的主板BIOS芯片却采用32针脚的DIP封装,根本无法使用热拔插修复。

但是,你是否试知道网卡也可当BIOS编程器来修复主板BIOS呢?
普通的8139网卡都具有一个BOOTROM槽,只要把主板BIOS芯片插在网卡的BOOTROM插座中,使用的BOOTROM刷写软件就可以把主板的BIOS文件刷入BIOS 芯片中。

在刷写主板BIOS时,需要验证BIOS文件大小和BIOS芯片规格,如果检测到不符合要求,就会停止BIOS数据的写入,而8139网卡在刷新BOOTROM时,既不检测芯片也不校验映象文件,这样利用8139网卡刷新主板BIOS时就会自动跳过这些检测达到偷梁换柱目的。

由于8139芯片网卡的BOOTROM插座是28针脚,后面也正好空了4个焊脚,找一个宽度及管脚间距和网卡BOOTROM插座一样的集成电路插座,用钢锯锯下两边的小插座,小心地把它补焊到空焊脚上即可。

用一台好用的机器上网下载主板最新的BIOS文件(存储为new.bin)及RTL8139网卡的BOOTROM刷新程序RTLFLASH.EXE(可到网上找到),把刷坏的BIOS芯片按正确方向插入到网卡的BOOTROM插座里,安装好网卡,启动机器到纯DOS模式下,运行RTFLASH new.bin,提示不认生产芯片厂商,不过程序接着就自动开始刷入BIOS文件,进度达到100%后,提示成功写入(如图16)。

图16
把修复好BIOS芯片插回主板,开机后却没任何反应。

笔者以为是在刷新BIOS时BIOS 芯片没有插紧,数据没有刷进去,但重刷多次,机器都没有反应。

由于RTLFLASH刷新程序在刷新时不检测芯片和映象文件,笔者也没有办法确认BIOS文件是否刷入BIOS芯片了。

后来笔者发现RTLFLASH刷新程序有一个S参数(如图17)。

图17
它可以备份出BIOS芯片里面的数据,把BIOS里的数据备份出的数据与原来的BIOS 文件比较一下不就可以确定BIOS文件是否正确写入芯片了吗?但奇怪的是备份出的BIOS 文件却是只有64K大(如图18),而且文件里面没有任何内容,看来这个刷新程序的备份功能还存在BUG,使用网卡刷新主板BIOS真的不行了吗?通过研究网卡线路布局、查资料和测试,笔者发现,这种方法确实可行,但有很大的局限性。

只适用于使用RTL8139芯片的网卡,只支持1M及1M以下的BIOS刷新,不支持2M及2M以上的BIOS芯片。

图18
五、十足个性——为主板增添异样功能
在一些特殊主板上,具有一些特色功能,比如开机即可刷新BIOS功能、BIOS分区功能等,其实,我们的普通主板同样可以获得这些功能……
1.让主板自己刷BIOS
我们知道,主板BIOS升级必须在纯DOS模式下进行,对于初学者来说,不免有些强人所难。

因此,一些品牌主板则会集成BIOS刷新功能,比如捷波主板在开机候,我们只要按ALT+F2即可直接对主板BIOS进行升级。

你想过自己的主板也具有这个功能吗?
首先以AWARD BIOS为例,先用AWDFLASH.EXE刷新工具备份当前主板BIOS(如3vca.bin),然后输入“cbrom 3vca.bin /d”查询主板BIOS文件是否有足够的剩余空间来写入BIOS刷新程序。

如果空间不够,需要对其进行扩展,如果够的话则进入下一步。

运行CBROM208 3vca.bin /AWDFLASH AWDFLASH.EXE命令将AWDFLASH.EXE 写入到BIOS.BIN文件中(如图19),注意:需要使用CBROM V2.08以上版本才能将AWDFLASH.EXE写入到BIOS,太低版本可能导致写入失败!
图19
再次使用CBROM208 3vca.bin /d查看BIOS文件信息时,你就会发现在BIOS中多了一个Flash ROM的项目(如图20)。

如果一切正常,直接输入Awdflash 3vca.bin 将BIOS文件刷入主板即可。

重新启动电脑,在开机自检画面时可看到“Press DEL to enter S ETUP‚ALT+F2 to enter AWDFLASH”的提示(如图21),此时,要进入BIOS 升级,将装有BIOS文件的软盘放入软驱,然后直接按下ALT+F2即可完成BIOS的刷新了!
图20
图21
2.主板也能给硬盘分区
我们知道,如果要给硬盘分区,一般需要用WIN98启动盘进入DOS下进行操作,那么你是否想过在BIOS中就可以直接进行分区操作呢?其实,我们只要将Bfdisk(Bios
Fdisk)这个工具集成到BIOS模块中,就可以实现这个功能(只适用于Award BIOS的主板)。

首先下载Bfdisk这个工具,解压后发现有bfdisk.rom、两个文件,我们只需要将bfdisk.rom这个文件写入主板BIOS即可。

不过,一定要确保BIOS中的剩余空间要大于Bfdisk的大小,使用CBROM这个工具能够查看BIOS的剩余空间。

用AWDFLASH刷新工具将主板BIOS文件备份出来,并复制两份以备后用,将其中一份BIOS文件和BFDISK.ROM文件以及CBROM软件放在同一目录下,重启电脑进入DOS模式,在DOS下输入CBROM BIOS.bin /d命令查看BIOS剩余的空间大小(假设BIOS文件名BIOS.bin),从图22最后一段“Remain compress code space”可以看出BIOS文件剩余空间为41.93K。

图22
如果想扩展BIOS空间大小,可以使用CBROM BIOS.bin / release命令删除没用的模块即可,如删除开机画面模块。

确保BIOS剩余空间大小足够后,使用CBROM BIOS.bin /ISA BFDISK.ROM将BFDISK分区模块写如到BIOS中,继续使用CBROM BIOS.bin /d 命令查看,我们发现BFDISK.ROM文件已经被集成到了BIOS中(如图23)。

图23
接下来的工作就是使用AWDFLASH刷新工具将修改后的BIOS文件刷新到主板中即可。

重启电脑后会出现一个LOGO开机画面,此时按Ctrl+F就可以进入到分区界面。

然后按提示操作就可以在BIOS中进行硬盘分区了。

3.将ghost放入主板BIOS
IBM品牌机在系统启动时,用户按F11进行系统恢复,恢复成初始化安装的系统,这就是IBM ThinkPad F11功能。

笔者经过一段时间对F11恢复功能的研究,终于全面地弄清楚了F11的恢复机制,并且结合ghost把自己备份的系统放进了隐藏分区,这样在开机时一按F11就会自动运行ghost,从而实现系统快速恢复功能。

F11必须配合IBM一个叫BMGR的工具来进行,从IBM网站下载的F11程序中包含BMGR.EXE、Boot.bin、Bmgr.scr三个文件,其中BMGR.EXE是核心安装程序,可以通过bmgr /fboot.bin /mbmgr.scr 命令来实现安装F11。

当然我们只要做一个F11.BAT 批处理的文件包含上述命令行就更加方便了。

BOOT.BIN是启动扇区程序,其记载了跳转指令和隐藏分区卷标的信息,包含3个扇区数据,在执行上述bmgr命令后,bmgr.exe将Boot.bin复制并替换硬盘0面0道1‚2‚3扇区的内容,其中硬盘0面0道1扇区是MBR,这样硬盘在启动时检测是否存在卷标为IBM_SERVICE的隐藏主分区,如存在就出现BMGR.SCR中的提示。

bmgr.scr是一个文本文件,记载了需要显示的信息、信息停留时间、定义的热键等。

Bmgr.scr的内容如下:
<PROMPT1=To Start the IBM Product Recovery program‚ press F11>
<PROMPT2=To Start the IBM backup and recovery parti tion‚ press F11> <Wait=40>
<Key1=F11>
<Key2=F11>
其中PROMPT等号和>之间是显示的信息,就是开机的时候看见的;Wait是等待的时间,数值在0-255之间;Key是激活的功能键,只能是F1-F12之间;Key1和Key2对应激活IBM_SERVICE分区和XPOINT_BASE分区。

PROMPT1、Wait、Key1是必须要有的,PROMPT2、Key2则可选。

因为F11功能的提示信息和跳转指令存在于MBR主引导区记录中,所以要想去掉这个功能,只要运行启动盘里的Fdisk/MBR命令,重写MBR就可以了。

有时我们重新安装系统后,F11消失了,因为系统安装程序改写了MBR,只要重新运行F11.BAT就可以了。

由Bmgr.exe的原理可以知道,这个F11功能可以在任何一台IBM兼容PC上使用,前提是你要用PQmagic划分出一个FAT32的Primary分区卷标是IBM_SERVICE。

首先安装好自己的系统和软件,建议应用程序尽量放在C盘,这样恢复之后可以即时使用,假设原先装的是WIN2000系统。

运行PQMagic软件,在硬盘最后空间划分出1G 左右的FREE空间,再将此空间设为一个主分区(Label为IBM_SERVICE),分区类型选FAT32隐藏起来(如图24)。

图24
用Win98启动盘引导系统,使用PQMagic把刚才的Win2000系统分区设置为隐藏,将1G的备份分区设置为激活,重新启动。

依然用Win98启动盘引导系统,此时的C盘是1G的系统恢复盘。

现在需要格式化硬盘,format c:/s(注意要加上/s传递DOS启动过去),磁盘的卷标一定是IBM_SERVICE,否则F11引导程序将失败。

格式化完成后,将WIN98启动盘里的himem.sys、smartdrv.exe、这三个文件,以及ghost.exe文件复制到需要做的系统恢复分区中。

接着配置一下AUTOEXEC 和CONFIG这两个文件,将AUTOEXEC.BAT修改为图25中的内容,将CONFIG文件修改为图26中的内容。

图25
图26
现在我们来把这个备份分区隐藏起来。

不要重新启动系统,进入Pqmagic软件界面,把1G的分区设置成隐藏,把原WIN2000分区设置成激活后重启。

仍用WIN98SE启动
光盘引导系统进入DOS,进入F11安装目录,执行F11.BAT安装,重新启动机器,屏幕上出现“To Start the IBM Product Recovery program‚ press F11”时按F11出现图27画面‚先选第2项备份当前C盘内容为MY_C.GHO,完成后自动重启。

以后系统出现故障时。

选第1项即可恢复备份的MY_C.GHO到C盘。

图27
通过以上几步,我们完成了IBM F11一键恢复功能的制作,当然,你也可以修改默认的IBM_SERVICE卷标,方法是用ULTRAEDIT打开Boot.bin文件,找到IBM_SERVICE,将其修改为MYGHOST并保存即可,同时在Pqmagic中建立逻辑分区F的卷标也改为MYGHOST,同样能实现F11一键恢复功能。

六、BIOS彻底安全——自己打造双BIOS主板
我们知道,有些特殊主板配备双BIOS系统,如技嘉的DUAL BIOS、承启的TWINBIOS
等。

这些主板有一个特点:如果其中一片BIOS芯片受到损坏,可以再次开机利用另外一片加以修复。

作为电脑爱好者,只要努力发挥DIY精神,我们也可以DIY自己的双BIOS 系统组件。

一般来说,同型号芯片的引脚数、电压、容量都是一样的,所以不管封装形式如何(DIP、PLCC、TSOP等),各针脚是互相兼容的;但不同型号芯片的工作或编程电压有所不同。

下图28是SST29EE020的两种封装形式的引脚示意图。

从图中可知,芯片引脚是按照逆时针方向排列的,通常第一引脚上会有一个园形或三角形的标记,只要确定了第一引脚,接顺序就可以确定其它的31支引脚。

这些引脚分别有以下几种用途:数据线(D0~D7)、地址线(A0~A17)、控制线(CE、OE、WE)、电源(VDD/VCC)、地(VSS/GND)。

图28
BIOS芯片常见的工作方式有:读出方式、备用方式(也称未选中方式)、编程方式。

只有CE为低电平(或负脉冲)时,芯片才会被选中并且可以进行之如读取编程等工作,所以CE称作片选信号端。

当CE和OE同为低电平时,就可以读取芯片中的内容,而当OE为高电平时就不能读取芯片内容,OE称为输出使能端;当CE和WE同为低电平时,可以对芯片进行编程(刷新),反之就不能对芯片进行编程,WE称为写入使能端。

而当CE为高
电平时,芯片就会处于“备用方式”状态,这时就不能对芯片进行任何操作了,如前面所述的双BIOS系统主板就是利用它来进行主从BIOS切换的。

当BIOS芯片处于备用工作状态时,各数据线被封锁呈高阻抗状态,有效功耗和有效电流都降到最低,基本上不会对周边电路产生影响。

双BIOS系统中最为关键的就是CE这一引脚,在双BIOS主板中,是利用逻辑电路的门与非来进行高低电平的转换。

但个人DIY就只能利用普通电路开关来实现了:普通主板上只有单BIOS,所以第22引脚(CE)总是接地(被选中),如果把两片同型号或不同型号的芯片的各引脚(22引脚除外)进行并联,再利用一个单刀双掷开关在两芯片的第22引脚之间进行切换,就可以达到目的了。

先准备一些工具:尖嘴电烙铁一支、焊锡若干、吸锡器一支。

以及一些必要的配件:BIOS芯片两块、单刀双掷开关一个、10KΩ电阻两个、废电源线若干、PLCC32转换座一个(如图29)。

这种PLCC转换座市面上比较少见,但在一些专业维修店或专业BIOS网站可以购买得到,价格从10至20元不等。

它的作用是可以接上PLCC封装的芯片后再插到DIP封装的管座上进行转换使用(和CPU的转接卡有些类似)。

图29
笔者准备的两片芯片一片是原来主板使用的DIP32封装型号为SST29EE020芯片(下面称主BIOS),一片是PLCC32封装型号为W29C020的芯片(称备用BIOS)。

注意:选择芯片时最好使用相同型号的,这样可以减少一些不必要的麻烦,原因是不同型号芯片的电源线定义有所不同。

还有一点,以下是笔者结合个人实际DIY的DIP&PLCC组件,你如能找到合适的配件,如DIP32管座等,按照正确的手法,也可以DIY自己特色的双BIOS 组件,形式如DIP TO DIP,PLCC TO PLCC等。

相关文档
最新文档