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