主引導(dǎo)記錄概述
MBR磁盤分區(qū)都有一個(gè)引導(dǎo)扇區(qū),稱為主引導(dǎo)記錄,英文簡(jiǎn)稱為MBR。
硬盤主引導(dǎo)記錄 (MBR) , 位于硬盤的0柱面0磁頭l扇區(qū)處。其包括硬盤主引導(dǎo)記錄MBR和分區(qū)表DPT以及結(jié)束標(biāo)志“55AA”[1], 這部分?jǐn)?shù)據(jù)總共占512字節(jié), 其中MBR占其中的446個(gè)字節(jié),另外的64個(gè)字節(jié)交給了分區(qū)表DPT, 最后2個(gè)字節(jié)“55AA”是分區(qū)的結(jié)束標(biāo)志。值得一提的是, MBR是由分區(qū)程序 (例如DOS的Fdisk.exe) 產(chǎn)生。
計(jì)算機(jī)系統(tǒng)啟動(dòng)首先對(duì)本機(jī)的硬件設(shè)備進(jìn)行測(cè)試, 測(cè)試成功之后進(jìn)入自舉程序INT l9H, 然后將磁盤的0柱面、0磁頭、1扇區(qū)的主引導(dǎo)記錄內(nèi)容讀入內(nèi)存指定單元, 其首址為0:7C00開始的區(qū)域, 并執(zhí)行MBR程序段。主引導(dǎo)記錄優(yōu)先于所有操作系統(tǒng)被調(diào)入內(nèi)存的指令, 并發(fā)揮主導(dǎo)作用。最后把控制權(quán)交給主分區(qū) (活動(dòng)分區(qū)) 內(nèi)操作系統(tǒng), 并讓主分區(qū)信息來(lái)管理硬盤??梢? 主引導(dǎo)記錄不依賴任何操作系統(tǒng), 且硬盤引導(dǎo)程序?yàn)榭勺兊? 因此完全可以實(shí)現(xiàn)多系統(tǒng)共存 (但最多4個(gè)系統(tǒng)) 。MBR主要功能如下
(1) 首先檢查硬盤中分區(qū)表是否完好。(2) 從分區(qū)表查找可引導(dǎo)的“活動(dòng)”分區(qū)。(3) 將活動(dòng)分區(qū)中第一邏輯扇區(qū)數(shù)據(jù)加載到內(nèi)存中。在DOS分區(qū)中, 該扇區(qū)內(nèi)容被稱為DOS引導(dǎo)記錄, 簡(jiǎn)稱DBR。 MBR引導(dǎo)部分的程序段執(zhí)行程序流程。
根據(jù)上述的MBR的工作流程, 可以在系統(tǒng)引導(dǎo)時(shí)加入或改變計(jì)算機(jī)系統(tǒng)正常的引導(dǎo)過(guò)程。比如, 優(yōu)先執(zhí)行用戶程序段, 再引導(dǎo)操作系統(tǒng)。因此, 可以利用這一特點(diǎn)來(lái)實(shí)現(xiàn)數(shù)據(jù)保護(hù)和數(shù)據(jù)恢復(fù)功能。例如, 當(dāng)前流行使用的硬盤保護(hù)卡、還原軟件等均為改寫0柱0頭1扇區(qū)的代碼部分, 在系統(tǒng)啟動(dòng)時(shí)搶奪中斷INT 13H的控制權(quán), 先將原中斷INT 13H的入口地址保存起來(lái), 然后將入口地址指向自己的INT 13H處理程序, 并通過(guò)自已的監(jiān)控部分的程序來(lái)確保該入口地址始終指向自己的INT 13H, 同時(shí)攔截所有的其他INT 13H中對(duì)硬盤0柱0頭1扇區(qū)的操作, 把所有對(duì)0柱0頭1扇區(qū)的讀寫操作改為對(duì)虛擬主引導(dǎo)記錄的操作。在攔截所有INT 13H寫硬盤操作后, 將把所這些寫操作在虛擬內(nèi)存中進(jìn)行, 并做好完整的記錄, 等系統(tǒng)重新啟動(dòng)后還原這些記錄[5], 實(shí)現(xiàn)數(shù)據(jù)保護(hù)與數(shù)據(jù)恢復(fù)功能。
硬盤是計(jì)算機(jī)的主要外部存儲(chǔ)設(shè)備, 大多數(shù)用戶的數(shù)據(jù)都存儲(chǔ)在硬盤上, 如果硬盤出現(xiàn)故障, 不僅需要維修硬盤, 而且還需要搶救硬盤數(shù)據(jù)。硬盤的故障常見有兩類:一類是硬盤的硬件發(fā)生故障, 稱為硬故障。硬件故障一般為磁盤劃傷、磁組變形、芯片組或其它元器件損壞等。表現(xiàn)為系統(tǒng)一般不認(rèn)硬盤, 常有一種“咔嚓咔嚓”的磁組撞擊聲或電機(jī)不轉(zhuǎn)、通電后無(wú)任何聲音、磁頭錯(cuò)位造成讀寫錯(cuò)誤等。另一類是寫在硬盤上的軟件發(fā)生故障, 稱為軟故障, 一般是病毒感染、誤操作、操作時(shí)斷電等引起的。本文僅討論軟故障中MBR數(shù)據(jù)恢復(fù)的軟件層面上的解決辦法。
用Win98的引導(dǎo)盤或DOS引導(dǎo)盤引導(dǎo)系統(tǒng)到純DOS命令提示符下執(zhí)行“Fdisk/MBR”命令進(jìn)行無(wú)條件重寫, 主引導(dǎo)記錄一般都能成功, 且保留原有數(shù)據(jù)。Fdisk命令行格式語(yǔ)法為:“Fdisk/參數(shù)開關(guān)”, 其中/MBR參數(shù)功能:重新建立主磁盤的主引導(dǎo)記錄。其它的一些隱藏參數(shù), 其功能對(duì)于有病毒感染主引導(dǎo)扇區(qū)時(shí), 用來(lái)清除病毒時(shí)用。需要提醒的是, 隱藏參數(shù)危險(xiǎn)系數(shù)比較大, 使用時(shí)需謹(jǐn)慎。





