- 論壇徽章:
- 0
|
BIOS中的分區(qū)工具
原創(chuàng):killer(killer)
來源:http://nfans.net;http://xfocus.org
BIOS中的分區(qū)工具
killer
http://nfans.net
其實(shí)這只是一個(gè)廣告 :)
下面是廣告時(shí)間:
你是否為ms的丑陋的FDISK感到頭痛?或者在為沒有一款可心的多OS引導(dǎo)工具發(fā)愁?別急,下面就讓
我來幫助你把分區(qū)工具集成到BIOS中,以后你不用引導(dǎo)系統(tǒng)就可以對硬盤分區(qū)了,hoho~~
1、介紹:
以前一直對BIOS感到神秘莫測,因?yàn)樗乒芰薱omputer的啟動(dòng)大權(quán),各種設(shè)備要聽他調(diào)度,后來捷波
主板提供了一個(gè)恢復(fù)精靈,據(jù)說對刪除文件、format/fdisk系統(tǒng)都能恢復(fù),中文版本的,還聽說是一大賣
點(diǎn)。于是一激動(dòng)就給人家寫了個(gè)mail,結(jié)果人家說商業(yè)技術(shù)機(jī)密,就不理俺了。
本打算反匯編看看,但偶用的OS都是WIN32下的,居然無法反匯編,而且也找不到DOS下的反匯編工具
了,另外這個(gè)從BIOS中分離出來的.dat文件反匯編也不會正常。(誰有好辦法不防告知一聲)后來看到有人
在bios中居然集成了分區(qū)工具,才知道寫能運(yùn)行在BIOS中的軟件的格式和正常的略有不同,為了能讓大家
體會一下這個(gè)工具的方便之處和使用方法,我簡單說明如下:
bfdisk (Bios Fdisk) 是一個(gè)多系統(tǒng)的分區(qū)工具,他可以支持劃分15個(gè)分區(qū)安裝15個(gè)操作系統(tǒng),可以
設(shè)置在每個(gè)系統(tǒng)啟動(dòng)的后能看到哪些分區(qū)。軟件集成分區(qū)、多系統(tǒng)引導(dǎo)的功能,這個(gè)以ISAROM格式編寫的
軟件還支持高分辯率的LOGO,強(qiáng)!還有,這是全中文的界面。
下載:http://nfans.net/tmp/bfdisk.rar
下載完成后,可以看到壓縮包中包括bfdisk.rom、bfdisk.com兩個(gè)文件,我們需要將bfdisk.rom這個(gè)
文件寫入BIOS中。BFDISK.com是BFDISK.rom的實(shí)模式下的版本,他們的功能是一樣的。通常我們利用
bfdisk.com來檢測一下顯卡,看看是否支持VESA1.0。如果能看到出現(xiàn)的畫面就可以確定顯卡測試通過。
在測試完成后利用AWARD的工具進(jìn)行BIOS的修改,首先把主板上的BIOS讀出來:
推薦用winflash.exe來讀取,這個(gè)軟件上手比較快,而且能運(yùn)行在win9x上。執(zhí)行后點(diǎn)保存的按鈕,在
出來的對話框中起個(gè)名字,點(diǎn)保存后出現(xiàn)save bios窗口,點(diǎn)擊backup按鈕即可。(我這里把BIOS保存為
815ep.BIN)
然后用cbrom.exe來進(jìn)行修改,用下面的指令將bfdisk.rom加入到bios文件中:
CBROM 815ep.bin /ISA BFDISK.ROM
最后在用winflash.exe 來將BIOS文件寫回主板。
方法是點(diǎn)擊工具欄上面保存后面的按鈕(第三個(gè)),在出來的對話框中找到剛才修改后的BIOS文件。
點(diǎn)擊打開按鈕后會出現(xiàn)新的對話框update bios,點(diǎn)UPDATE按鈕即可。(通常所謂的BIOS升級就是如此簡單
的,我們通過此方法可以集成你想集成的其他的BIOS模塊)
然后重新開機(jī),在硬件檢測完成后就會看到一個(gè)漂亮的LOGO,在這個(gè)時(shí)候按CTRL+F鍵,就會進(jìn)入程序
的主界面。
需要注意的是該軟件只能運(yùn)行award bios主板,顯卡支持VESA1.0,主板支持8.4G以上硬盤的配置,還
有利用ISAROM來使用的工具只能加載一個(gè),就是說如果你的機(jī)子中有恢復(fù)精靈的話,在使用本軟件后恢復(fù)
精靈將會失效。
另外,如果用該軟件對硬盤進(jìn)行分區(qū)并進(jìn)行多系統(tǒng)引導(dǎo)了,不要用PQMAGIC之類的軟件來重新移動(dòng)硬盤分
區(qū),很簡單這會造成引導(dǎo)程序出錯(cuò)。
have fun ~
如果你不小心改壞了導(dǎo)致無法開機(jī),別怪我。。。
可以通過這個(gè)方法修復(fù)回來,利用sys a:作一張引導(dǎo)軟盤。然后拷貝awdflash.exe 和沒有修改的
815ep.bin到軟盤上,在軟盤的autoexec.bat寫上awdflash 815ep.bin,軟盤啟動(dòng)成功后會兩次車,然后按
“Y”鍵,就會將沒修改的815ep.bin寫回主板。
2、原理:
上面已經(jīng)說出,該工具是通過ISAROM格式編寫的,只要遵守ISAROM的規(guī)范,就可以寫出能在BIOS中使
用的工具,下面是一個(gè)hello world !寫回主板后開機(jī)會顯示hello world !提示。
有如下代碼:
=============================================================
;FILENAME BHW.ASM
;MAMS6.0 BHW
;LINK/T BHW
.Model Tiny,C
.486
.code
InitCode PROTO
printf PROTO :WORD,:WORD
GetKey PROTO
org 0h
start:
DW 0AA55h ;擴(kuò)展BIOS標(biāo)志
DB 40h ;本程序大于32K值為80H,否則為40H
invoke InitCode ;入口標(biāo)志
retf ;遠(yuǎn)程返回
Message db 0dh,0ah,'hello world!',0dh,0ah,0
InitCode proc
invoke printf,cs,addr Message
invoke GetKey
ret
InitCode endp
printf proc uses ds MemSeg:WORD,address:WORD
push MemSeg
pop ds
lea si,address
xor bx,bx
mov ah,0Eh
cld
lodsb
.while al != 0
int 10h
lodsb
.endw
ret
printf endp
GetKey proc
@@:
mov ah,1
int 16h
jz @B
xor ax,ax
int 16h
ret
GetKey endp
end start
=============================================================
利用本文提供的方法,你可以寫出能在BIOS中運(yùn)行的程序,如果具體想編寫的話,最好要參考PNPBios的
資料來編寫。 |
|