陈 皓 (湖北省工业设计学校,湖北 荆州434000)
保护卡因功能强大、使用方便等优点而得到应用普及。旧电脑中往往由于扩展槽与保护卡接触不良,从而导致保护卡失效,影响保护效果。但即使扩展槽出现接触不良故障,主板BIOS一般不会出现接触不良。笔者在实验中发现,可以将保护卡芯片中的程序固化到主板BIOS中,从而解决这类由于接触不良而导致的保护卡失效问题,而且固化后经过几年的运行,效果非常理想。下面,笔者以硕泰克915P主板为例,用主板BIOS固化保护卡以替代接触不良的保护卡进行硬盘保护。
1)准备软件 首先,准备一块实验用的硬盘,在C盘根目录下建立一个TOOL的子目录。在互联网上下载DEBUG、MSD、AWDFLASH和CBROM这几个工具,将它们拷贝到C:\TOOL子目录下。其中,MSD是微软的诊断程序;DEBUG是DOS自带调试程序;AWDFLASH是DOS下的主板BIOS备份和刷新工具,也有在WINDOW平台下使用的WINFLASH,可以备份和刷新BIOS;出于安全考虑,使用DOS下的版本8.26F的 AWDFLASH.EXE;CBROM 常见的有2.07,2.08,2.15和6.06这几个版本,最常用的是6.06和2.15。
2)获取BIOS文件 首先,将主板的BIOS保存下来。硬盘启动时不加载CONFIG.SYS配置文件进入纯DOS环境。进入C:\TOOL目录,运行AWDFLASH.EXE,回一次车,屏幕下方出现Do You Want To Save Bios(Y/N)的时候,按Y,然后输入文件名字,比如915.BIN再回车。这样在C:\TOOL下生成了一个新文件915.BIN,这个就是微星915P主板的BIOS程序。
3)获取保护卡中的程序 在有条件的情况下,可以使用读卡器读取保护卡上芯片中烧录的程序。若没有读卡器,那么通过DEBUG取出微机保留内存中的ROM程序就是固化的关键所在;若要取出ROM程序就必须查清ROM程序在保留内存中的起始地址和ROM程序的大小。
在微机的保留内存640KB~1MB之间,安放有各种ROM程序,如主板BIOS、显卡ROM程序、保护卡ROM程序等等。可以通过MSD这个工具查ROM程序情况。运行MSD,按下M,选择查看保留内存。在保留内存中可以看得很清楚,C000~CA00段和CC00~D400段的内存地址被ROM程序占用。C000~CA00段中的ROM程序一般为显卡BIOS,CC00~D400段就是保护卡ROM程序。识别保护卡ROM程序的办法很简单,拔下保护卡后启动计算机运行MSD查看保留内存,然后,插好保护卡运行MSD对比看保留内存就可知道新出现的ROM程序就是保护卡ROM程序。在MSD中按下F3即可退出MSD。对于CC00就是保护卡ROM程序的起始地址,ROM程序在保留内存占D400-CC00=800h(单位10h字节,其中h为十六进制),大小即是8000h字节 (即32768字节)。检查ROM程序的大小还有一个方法就是在DEBUG调试工具中查看ROM程序的前几个字节。运行DEBUG,通过D命令即可查看。下面CC00:0000~CC00:007F的数据是ROM程序的最前面的一个片段。
ROM程序的起始2个字节是55AA的标志;第3个字节为ROM程序大小,是40h(单位是200h字节,即512字节),ROM程序大小就是8000h(40h*200h字节=8000h字节,即32K字节),与MSD中看到的大小一致;第4个字节一般为E9或EB(短跳转JMP指令),也有的是E8(Call子程序)。
获取保护卡中的程序最关键的是将保留内存中保护卡ROM程序备份到硬盘中。在DEBUG中RCX和RCS是设定保护卡的ROM程序段地址和程序大小,RIP将ROM程序偏移量锁定在0而不是100,N是给保护卡程序取名字,W是将保护卡硬件中的程序通过 “BHK.BIN”这个文件名写入到硬盘中。
在C:\TOOL目录下出现BHK.BIN,这就是备份的保护卡ROM程序。备份的正确与否就是固化成功与否的关键所在!
4)处理主板BIOS 首先,看看现在主板的情况,键入命令:CBROM 915.BIN/D,可以看到如下内容:
注意其中Remain compress code space这一行,剩余的空间是82.93KB,足够装下32KB的BHK.BIN。如果空间不够,可以用命令 “CBROM606 915.BIN/LOGO RELEASE”将开机的LOGO画面去掉。
5)在主板BIOS文件中加入保护卡程序 cbrom606可以将保护卡程序 “BHK.BIN”压缩至原来大小的90.2%添加进入主板BIOS中:
在操作中一定要注意使用cbrom606的ISA开关,否则保护卡不能正常启动工作。
6)将新的主板BIOS写回主板 “AWDFLASH 915.BIN/SN/PY”是将915主板的BIOS程序写入主板BIOS硬件:
C:\tool>AWDFLASH 915.BIN/SN/PY
烧录BIOS执行完毕计算机重新启动,便可以看到保护卡提示画面,这就表明保护卡ROM程序已经正常工作了。
1)在主板BIOS固化保护卡程序前,一定要测试好保护卡与主板的兼容性,若保护卡与主板不兼容,保护卡便不能正常工作,那么固化是没有意义的。
2)不要在一块主板上使用多个保护卡,要更换保护卡一定要从主板BIOS中撤销保护卡ROM程序,或者拔掉主板扩展槽中保护卡。
3)若硬盘被已经被保护卡设置为保护状态,那么卸载保护卡前一定要通过保护卡取消硬盘中保护状态。
4)BOOTSTAR之类的多分区启动软件与大多数的保护卡是有冲突的,若要固化保护卡最好请先卸载多分区启动软件。
5)对于有的原装机,如联想启天M4000微机,BIOS设置选项中有硬盘保护工作开关 (HARD DISK SAFE CARD),若此选项关闭 (DISABLE),则固化到BIOS中的保护卡ROM程序就不能工作,必须要将此开关打开 (ENABLE)保护卡才能正常工作。
6)一般情况下保护卡仅对于DOS不需要安装驱动程序,其他操作系统如Windows 2003、Windows XP和LINUX等均需要安装驱动程序后,保护卡才能正常工作。