MBR (Master Boot Record) 位於硬碟實體位址 0 柱面 0 磁頭 1 扇區,僅 512 Bytes,卻掌控整顆硬碟的啟動與分區管理。深入理解 MBR 結構,不僅能排除啟動故障,更能實現加密、多重開機、自我修復等進階應用。
一、MBR vs DOS 開機磁區 (DBR) 差異
| 項目 | DOS 開機磁區 (DBR) | 主開機磁區 (MBR) |
| 位置 | 軟碟邏輯第 1 扇區 / 硬碟 DOS 分區邏輯第 1 扇區 | 硬碟實體 0 柱面 0 磁頭 1 扇區 |
| 產生時機 | FORMAT 格式化時 | FDISK 分區時 |
| 屬於 | 單一 DOS 分區 | 整顆硬碟(不屬於任何分區) |
| 讀取方式 | DEBUG L 100 2 0 1 | 需組合語言 INT 13H 讀取實體扇區 |
二、MBR 512 Bytes 結構詳細拆解
- 000H~1BDH (446 Bytes):主開機程式碼,負責檢查分區表、尋找作用分區、載入該分區 DBR 並轉交控制權。
- 1BEH~1FDH (64 Bytes):分區表,共 4 筆,每筆 16 Bytes:
- Byte 0:啟動旗標 (80H=作用分區, 00H=非作用)
- Byte 1~3:分區起始實體位址 (磁頭/柱面/扇區)
- Byte 4:分區類型 (01=FAT12, 04=FAT16<32M, 05=Extended, 06=FAT16>32M, 其他=非 DOS)
- Byte 5~7:分區結束實體位址
- Byte 8~11:分區前總扇區數 (LBA 起始)
- Byte 12~15:分區總扇區數
- 1FEH~1FFH (2 Bytes):魔術數
55 AA (小端序存儲為 AA55H),MBR 有效標誌,缺此則 BIOS 拒絕啟動。
三、MBR 核心任務流程
- 儲存分區表(硬碟正確讀寫關鍵)。
- 檢查分區表正確性:有且僅有一個作用分區。
- 確定作用分區號,讀取其 DBR 到記憶體 0000:7C00H。
- 驗證 DBR 結尾亦為 AA55H。
- 轉交控制權給作業系統開機程式(如 NTLDR、GRUB、IO.SYS)。
錯誤訊息對照:
Invalid partition table=分區表錯/無或多作用分區
Error loading operating system=讀 DBR 失敗
Missing operating system=DBR 無 AA55H 標誌
四、MBR 七大進階應用技巧
- 清除開機功能:破壞開機程式碼或清除作用旗標 → 硬碟無法啟動(防盜/防誤啟動)。
- 整顆硬碟加密:修改/清除 AA55H 標誌 → 即使 DOS 開機也看不到硬碟,還原即解密。
- 單一分區加密:修改分區類型碼 (如 05H→FFH) → DOS 認為非 DOS 分區拒絕存取。
- 硬碟開機密碼:在 MBR 程式碼植入密碼驗證流程,正確才繼續啟動。
- DOS 前駐留記憶體程式 (TSR):在 MBR 安裝中斷服務 (如 INT 13H/21H 監控) → 病毒即時掃描、行為攔截,極難被繞過。
- 多作業系統選單開機:修改 MBR 加入按鍵判斷,直接載入四個主分區任一 OS,免用 Boot Manager。
- MBR/DBR 自我修復:在硬碟閒置扇區備份完好 MBR,開機時自動比對修復,實現防毒免疫。
總結: MBR 雖小,掌控全盤。掌握其結構與操作,是系統維護、資安防護與進階玩家的核心能力。