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