硬碟分區表是作業系統管理儲存空間的骨架,掌握 MBR、分區表、DBR 結構與扇區編號規則,是資料救援、多重開機管理、磁碟編輯器操作的必修課。本文以圖解方式,系統建立硬碟底層架構心智模型。
硬碟定址有兩大派:CHS(柱面-磁頭-扇區)三維座標與 LBA(邏輯區塊定址)線性編號。
| 編號體系 | 定義 | 起始點 | 應用層級 |
|---|---|---|---|
| 物理扇區編號 (CHS) | C/H/S 三維座標,如 (0,0,1) | 柱面0、磁頭0、扇區1 | BIOS INT 13h、磁碟控制器、底層工具 |
| 絕對扇區編號 (LBA) | 從硬碟最開頭 (0,0,1) 起算的線性序號 | LBA 0 = (0,0,1) | MBR 分區表、DBR、作業系統核心 |
| 邏輯扇區編號 | 以分區內部第一個扇區為起始 (LBA 0) | 分區起始 LBA | 檔案系統 (FAT/NTFS)、應用程式 |
關鍵洞見:MBR 位於 LBA 0(絕對扇區 0),不屬於任何分區。第一個分區通常從 LBA 63 開始(對應邏輯扇區 0),此為歷史相容性保留(早期 DOS 需要磁軌對齊)。現代作業系統(Vista 以降)採用 1MB 對齊(LBA 2048),效能更佳。
MBR 佔據硬碟第一個扇區(512 Bytes),結構如下:
| 位移 | 大小 | 名稱 | 說明 |
|---|---|---|---|
| 0x000 | 446 Bytes | 啟動程式碼 | 掃描分區表尋找啟動旗標、載入該分區 DBR 執行 |
| 0x1BE | 64 Bytes | 分區表 | 4 個 16 Bytes 分區項目(主分區/延伸分區) |
| 0x1FE | 2 Bytes | 結束標記 | 0x55AA,標識有效 MBR |
| 位移 | 大小 | 欄位 | 說明 |
|---|---|---|---|
| 0x00 | 1 Byte | Boot Flag | 0x80 = 啟動分區,0x00 = 非啟動 |
| 0x01 | 3 Bytes | 起始 CHS | 舊式相容,現多設為 FE FF FF (1023/254/63 上限) |
| 0x04 | 1 Byte | 分區類型 | 0x07=NTFS, 0x0C=FAT32 LBA, 0x05/0x0F=延伸分區, 0xEE=GPT 保護 |
| 0x05 | 3 Bytes | 結束 CHS | 同起始 CHS,現多設為上限值 |
| 0x08 | 4 Bytes | 起始 LBA | 分區相對硬碟起始的絕對扇區號(核心欄位) |
| 0x0C | 4 Bytes | 分區扇區數 | 分區總大小(扇區數),最大 2TB (2^32 × 512B) |
四項目限制:最多 4 個主分區,或 3 主分區 + 1 延伸分區。延伸分區內部透過 EBR (Extended Boot Record) 鏈結邏輯分區,每個 EBR 含 1 個邏輯分區描述 + 1 個下一個 EBR 指標。
每個分區的第一個扇區(邏輯扇區 0)為 DBR,包含:
$Boot、FAT 的 IO.SYS)。DBR 損壞會導致「Non-system disk」、「BOOTMGR is missing」、「Disk error」等開機失敗,需以磁碟編輯器或 fixboot/bootrec 修復。
使用 WinHex、DiskGenius、HxD 等工具:
掌握上述核心結構,您將能獨立分析開機失敗、分區遺失、資料救援等棘手問題,不再盲目依賴單一工具的自動修復。