- 軟件大?。?span>7KB
- 軟件語(yǔ)言:中文
- 軟件類(lèi)型:國(guó)產(chǎn)軟件
- 軟件類(lèi)別:免費(fèi)軟件 / 硬盤(pán)工具
- 更新時(shí)間:2017-08-19 12:16
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠商:
- 官方網(wǎng)站:http://m.aimjoke.net/
34.59M/中文/2.5
29.65M/多國(guó)語(yǔ)言[中文]/10.0
19.54M/多國(guó)語(yǔ)言[中文]/10.0
304KB/英文/10.0
6.08M/英文/10.0
mbr分區(qū)軟件是一款專門(mén)用來(lái)解決硬盤(pán)分區(qū)問(wèn)題的軟件哦,小巧方便,使用起來(lái)功能也很強(qiáng)大,感興趣的朋友趕緊來(lái)綠色資源網(wǎng)下載吧!
MBR,全稱為Master Boot Record,即硬盤(pán)的主引導(dǎo)記錄。
為了便于理解,一般將MBR分為廣義和狹義兩種:廣義的MBR包含整個(gè)扇區(qū)(引導(dǎo)程序、分區(qū)表及分隔標(biāo)識(shí)),也就是上面所說(shuō)的主引導(dǎo)記錄;而狹義的MBR僅指引導(dǎo)程序而言。
硬盤(pán)的0柱面、0磁頭、1扇區(qū)稱為主引導(dǎo)扇區(qū)(也叫主引導(dǎo)記錄MBR)。它由三個(gè)部分組成,主引導(dǎo)程序、硬盤(pán)分區(qū)表DPT(Disk Partition table)和硬盤(pán)有效標(biāo)志(55AA)。在總共512字節(jié)的主引導(dǎo)扇區(qū)里主引導(dǎo)程序(boot loader)占446個(gè)字節(jié),第二部分是Partition table區(qū)(分區(qū)表),即DPT,占64個(gè)字節(jié),硬盤(pán)中分區(qū)有多少以及每一分區(qū)的大小都記在其中。第三部分是magic number,占2個(gè)字節(jié),固定為55AA。
MBR是不屬于任何一個(gè)操作系統(tǒng),也不能用操作系統(tǒng)提供的磁盤(pán)操作命令來(lái)讀取它,但可以通過(guò)命令來(lái)修改和重寫(xiě),如在minix3里面,可以用命令:installboot -m /dev/c0d0 /usr/mdec/masterboot來(lái)把masterboot這個(gè)小程序?qū)懙絤br里面,masterboot通常用匯編語(yǔ)言來(lái)編寫(xiě)。我們也可以用ROM-BIOS中提供的INT13H的2號(hào)功能來(lái)讀出該扇區(qū)的內(nèi)容,也可用軟件工具Norton8.0中的DISKEDIT.EXE來(lái)讀取。
用INT13H的讀磁盤(pán)扇區(qū)功能的調(diào)用參數(shù)如下:
入口參數(shù):AH=2 (指定功能號(hào))
AL=要讀取的扇區(qū)數(shù)
DL=磁盤(pán)號(hào)(0、1-軟盤(pán);80、81-硬盤(pán))
DH=磁頭號(hào)
CL高2位+CH=柱面號(hào)
CL低6位=扇區(qū)號(hào)
CS:BX=存放讀取數(shù)據(jù)的內(nèi)存緩沖地址
出口參數(shù):CS:BX=讀取數(shù)據(jù)存放地址
錯(cuò)誤信息:如果出錯(cuò)CF=1 AH=錯(cuò)誤代碼
用DEBUG讀取位于硬盤(pán)0柱面、0磁頭、1扇區(qū)的操作如下:
A>DEBUG
-A 100
XXXX:XXXX MOV AX,0201 (用功能號(hào)2讀1個(gè)扇區(qū))
XXXX:XXXX MOV BX,1000 (把讀出的數(shù)據(jù)放入緩沖區(qū)的地址為CS:1000)
XXXX:XXXX MOV CX,0001 (讀0柱面,1扇區(qū))
XXXX:XXXX MOV DX,0080 (指定第一物理盤(pán)的0磁頭)
XXXX:XXXX INT 13
XXXX:XXXX INT 3
XXXX:XXXX (按回車(chē)鍵)
-G=100 (執(zhí)行以上程序段)
-D 1000 11FF (顯示512字節(jié)的MBR內(nèi)容)
在windows操作系統(tǒng)下,例如xp,2003,Vista,windows7,有微軟提供的接口直接讀寫(xiě)mbr;
FILE * fd=fopen("\\\\.\\PHYSICALDRIVE0","rb+");
char buffer[512];
fread(buffer,512,1,fd);
//then you can edit buffer[512] as your wish......
fseek(fd,0,SEEK_SET); //很重要
fwrite(buffer,512,1,fd); //把修改后的MBR寫(xiě)入到你的機(jī)器
fclose(fd); //大功告成
具體含義如下:
(1)0x00~0x1BD:446個(gè)字節(jié),包含一段指令,用以通知計(jì)算機(jī)如何訪問(wèn)分區(qū)表并定位操作系統(tǒng)的位置
這部分的代碼會(huì)因?yàn)椴僮飨到y(tǒng)不同而不同,利用引導(dǎo)代碼可以實(shí)現(xiàn)多重系統(tǒng)引導(dǎo)。多系統(tǒng)引導(dǎo)有兩種方法可以實(shí)現(xiàn):一種方法是用Windows操作系統(tǒng)在引導(dǎo)分區(qū)中設(shè)置一段代碼,先加載進(jìn)入用戶選擇系統(tǒng)的界面,允許用戶選擇要進(jìn)入的系統(tǒng),再進(jìn)入指定的系統(tǒng);第二種方法是改變MBR中的引導(dǎo)代碼,該代碼直接呈現(xiàn)給用戶一個(gè)選擇系統(tǒng)的界面。
(2)0x1BE~0x1FD:64個(gè)字節(jié),4個(gè)分區(qū)表項(xiàng),每個(gè)表項(xiàng)占用16個(gè)字節(jié),描述一個(gè)分區(qū),最多可以描述4個(gè)分區(qū)(這就是為什么MBR分區(qū)體系只能分成4個(gè)區(qū)【我們平時(shí)看到的分區(qū)一般可以從26個(gè)字母中選取任意多個(gè)當(dāng)做分區(qū)標(biāo)識(shí)(多于4個(gè)),這是因?yàn)槟切┓謪^(qū)是邏輯分區(qū),這里的4個(gè)分區(qū)指的是主分區(qū)和擴(kuò)展分區(qū)的數(shù)目,而邏輯分區(qū)是在擴(kuò)展分區(qū)中劃分出來(lái)的,也叫做二級(jí)、三級(jí)擴(kuò)展分區(qū)。】)。
分區(qū)表項(xiàng)并沒(méi)有順序要求,即不要求第一個(gè)分區(qū)表項(xiàng)在第二個(gè)分區(qū)表項(xiàng)前。
分區(qū)表也不要求從第一個(gè)分區(qū)表項(xiàng)開(kāi)始
(3)0x1FE~0x1FF:2個(gè)字節(jié),有效結(jié)束標(biāo)志“55AA”。如果沒(méi)有這個(gè)標(biāo)志,操作系統(tǒng)會(huì)認(rèn)為磁盤(pán)沒(méi)有初始化,無(wú)法正確加載磁盤(pán)的分區(qū)。
分區(qū)表參數(shù)含義(字節(jié))
1 活動(dòng)(80)或非活動(dòng)分區(qū)(00)
2 3 4 起始的磁頭 01 柱面 01 扇區(qū)00值
5 分區(qū)類(lèi)型符 NTFS(07)FAT32(0B)擴(kuò)展(0F)
6 7 8 結(jié)束的磁頭 FE 柱面 FF 扇區(qū)FF值
9 10 11 12 本分區(qū)之前已用扇區(qū)數(shù)
13 14 15 16 本分區(qū)大小
虛擬MBR
即 EBR (extent boot record)擴(kuò)展引導(dǎo)記錄
其記錄表項(xiàng) 與MBR相同 ,用于管理擴(kuò)展還能分區(qū)上的邏輯驅(qū)動(dòng)器。
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容