陳 皓 (湖北省工業(yè)設(shè)計(jì)學(xué)校,湖北 荊州434000)
保護(hù)卡因功能強(qiáng)大、使用方便等優(yōu)點(diǎn)而得到應(yīng)用普及。舊電腦中往往由于擴(kuò)展槽與保護(hù)卡接觸不良,從而導(dǎo)致保護(hù)卡失效,影響保護(hù)效果。但即使擴(kuò)展槽出現(xiàn)接觸不良故障,主板BIOS一般不會(huì)出現(xiàn)接觸不良。筆者在實(shí)驗(yàn)中發(fā)現(xiàn),可以將保護(hù)卡芯片中的程序固化到主板BIOS中,從而解決這類由于接觸不良而導(dǎo)致的保護(hù)卡失效問題,而且固化后經(jīng)過幾年的運(yùn)行,效果非常理想。下面,筆者以碩泰克915P主板為例,用主板BIOS固化保護(hù)卡以替代接觸不良的保護(hù)卡進(jìn)行硬盤保護(hù)。
1)準(zhǔn)備軟件 首先,準(zhǔn)備一塊實(shí)驗(yàn)用的硬盤,在C盤根目錄下建立一個(gè)TOOL的子目錄。在互聯(lián)網(wǎng)上下載DEBUG、MSD、AWDFLASH和CBROM這幾個(gè)工具,將它們拷貝到C:\TOOL子目錄下。其中,MSD是微軟的診斷程序;DEBUG是DOS自帶調(diào)試程序;AWDFLASH是DOS下的主板BIOS備份和刷新工具,也有在WINDOW平臺(tái)下使用的WINFLASH,可以備份和刷新BIOS;出于安全考慮,使用DOS下的版本8.26F的 AWDFLASH.EXE;CBROM 常見的有2.07,2.08,2.15和6.06這幾個(gè)版本,最常用的是6.06和2.15。
2)獲取BIOS文件 首先,將主板的BIOS保存下來。硬盤啟動(dòng)時(shí)不加載CONFIG.SYS配置文件進(jìn)入純DOS環(huán)境。進(jìn)入C:\TOOL目錄,運(yùn)行AWDFLASH.EXE,回一次車,屏幕下方出現(xiàn)Do You Want To Save Bios(Y/N)的時(shí)候,按Y,然后輸入文件名字,比如915.BIN再回車。這樣在C:\TOOL下生成了一個(gè)新文件915.BIN,這個(gè)就是微星915P主板的BIOS程序。
3)獲取保護(hù)卡中的程序 在有條件的情況下,可以使用讀卡器讀取保護(hù)卡上芯片中燒錄的程序。若沒有讀卡器,那么通過DEBUG取出微機(jī)保留內(nèi)存中的ROM程序就是固化的關(guān)鍵所在;若要取出ROM程序就必須查清ROM程序在保留內(nèi)存中的起始地址和ROM程序的大小。
在微機(jī)的保留內(nèi)存640KB~1MB之間,安放有各種ROM程序,如主板BIOS、顯卡ROM程序、保護(hù)卡ROM程序等等??梢酝ㄟ^MSD這個(gè)工具查ROM程序情況。運(yùn)行MSD,按下M,選擇查看保留內(nèi)存。在保留內(nèi)存中可以看得很清楚,C000~CA00段和CC00~D400段的內(nèi)存地址被ROM程序占用。C000~CA00段中的ROM程序一般為顯卡BIOS,CC00~D400段就是保護(hù)卡ROM程序。識(shí)別保護(hù)卡ROM程序的辦法很簡單,拔下保護(hù)卡后啟動(dòng)計(jì)算機(jī)運(yùn)行MSD查看保留內(nèi)存,然后,插好保護(hù)卡運(yùn)行MSD對(duì)比看保留內(nèi)存就可知道新出現(xiàn)的ROM程序就是保護(hù)卡ROM程序。在MSD中按下F3即可退出MSD。對(duì)于CC00就是保護(hù)卡ROM程序的起始地址,ROM程序在保留內(nèi)存占D400-CC00=800h(單位10h字節(jié),其中h為十六進(jìn)制),大小即是8000h字節(jié) (即32768字節(jié))。檢查ROM程序的大小還有一個(gè)方法就是在DEBUG調(diào)試工具中查看ROM程序的前幾個(gè)字節(jié)。運(yùn)行DEBUG,通過D命令即可查看。下面CC00:0000~CC00:007F的數(shù)據(jù)是ROM程序的最前面的一個(gè)片段。
ROM程序的起始2個(gè)字節(jié)是55AA的標(biāo)志;第3個(gè)字節(jié)為ROM程序大小,是40h(單位是200h字節(jié),即512字節(jié)),ROM程序大小就是8000h(40h*200h字節(jié)=8000h字節(jié),即32K字節(jié)),與MSD中看到的大小一致;第4個(gè)字節(jié)一般為E9或EB(短跳轉(zhuǎn)JMP指令),也有的是E8(Call子程序)。
獲取保護(hù)卡中的程序最關(guān)鍵的是將保留內(nèi)存中保護(hù)卡ROM程序備份到硬盤中。在DEBUG中RCX和RCS是設(shè)定保護(hù)卡的ROM程序段地址和程序大小,RIP將ROM程序偏移量鎖定在0而不是100,N是給保護(hù)卡程序取名字,W是將保護(hù)卡硬件中的程序通過 “BHK.BIN”這個(gè)文件名寫入到硬盤中。
在C:\TOOL目錄下出現(xiàn)BHK.BIN,這就是備份的保護(hù)卡ROM程序。備份的正確與否就是固化成功與否的關(guān)鍵所在!
4)處理主板BIOS 首先,看看現(xiàn)在主板的情況,鍵入命令:CBROM 915.BIN/D,可以看到如下內(nèi)容:
注意其中Remain compress code space這一行,剩余的空間是82.93KB,足夠裝下32KB的BHK.BIN。如果空間不夠,可以用命令 “CBROM606 915.BIN/LOGO RELEASE”將開機(jī)的LOGO畫面去掉。
5)在主板BIOS文件中加入保護(hù)卡程序 cbrom606可以將保護(hù)卡程序 “BHK.BIN”壓縮至原來大小的90.2%添加進(jìn)入主板BIOS中:
在操作中一定要注意使用cbrom606的ISA開關(guān),否則保護(hù)卡不能正常啟動(dòng)工作。
6)將新的主板BIOS寫回主板 “AWDFLASH 915.BIN/SN/PY”是將915主板的BIOS程序?qū)懭胫靼錌IOS硬件:
C:\tool>AWDFLASH 915.BIN/SN/PY
燒錄BIOS執(zhí)行完畢計(jì)算機(jī)重新啟動(dòng),便可以看到保護(hù)卡提示畫面,這就表明保護(hù)卡ROM程序已經(jīng)正常工作了。
1)在主板BIOS固化保護(hù)卡程序前,一定要測(cè)試好保護(hù)卡與主板的兼容性,若保護(hù)卡與主板不兼容,保護(hù)卡便不能正常工作,那么固化是沒有意義的。
2)不要在一塊主板上使用多個(gè)保護(hù)卡,要更換保護(hù)卡一定要從主板BIOS中撤銷保護(hù)卡ROM程序,或者拔掉主板擴(kuò)展槽中保護(hù)卡。
3)若硬盤被已經(jīng)被保護(hù)卡設(shè)置為保護(hù)狀態(tài),那么卸載保護(hù)卡前一定要通過保護(hù)卡取消硬盤中保護(hù)狀態(tài)。
4)BOOTSTAR之類的多分區(qū)啟動(dòng)軟件與大多數(shù)的保護(hù)卡是有沖突的,若要固化保護(hù)卡最好請(qǐng)先卸載多分區(qū)啟動(dòng)軟件。
5)對(duì)于有的原裝機(jī),如聯(lián)想啟天M4000微機(jī),BIOS設(shè)置選項(xiàng)中有硬盤保護(hù)工作開關(guān) (HARD DISK SAFE CARD),若此選項(xiàng)關(guān)閉 (DISABLE),則固化到BIOS中的保護(hù)卡ROM程序就不能工作,必須要將此開關(guān)打開 (ENABLE)保護(hù)卡才能正常工作。
6)一般情況下保護(hù)卡僅對(duì)于DOS不需要安裝驅(qū)動(dòng)程序,其他操作系統(tǒng)如Windows 2003、Windows XP和LINUX等均需要安裝驅(qū)動(dòng)程序后,保護(hù)卡才能正常工作。