硬碟分區表是儲存體的「骨架」——一旦受損,分區消失、無法開機、數據不可讀。本文帶你走進鮮為人知的分區表世界,掌握三種扇區編址規則、MBR/DBR 結構細節,為數據救援奠定理論基石。
硬碟定位有兩大體系:CHS 三維(柱面-磁頭-扇區)與 LBA 線性編號。衍生出三種術語:
| 術語 | 定義 | 編號範例(假設每軌 63 扇區) |
|---|---|---|
| 物理扇區編號 (CHS) | 柱面-磁頭-扇區三維座標 | (0,0,1) = 第 0 柱面、第 0 磁頭、第 1 扇區 |
| 絕對扇區編號 (LBA) | 從硬碟第 0 扇區起始的線性編號 | LBA 0 = (0,0,1);LBA 63 = (1,0,1) |
| 邏輯扇區編號 | 作業系統在分區內部的相對編號 | C 槽邏輯 1 = LBA 63(緊隨 MBR 之後) |
關鍵換算關係(垂直分區結構,每軌 63 扇區):
實際硬碟每軌扇區數請至 BIOS 查看,現代大容量硬碟多為 63,但不保證絕對一致。
位置:LBA 0(唯一一個扇區,512 位元組)
| 元件 | 位移/大小 | 功能 |
|---|---|---|
| 主開機程式碼 | 0x0000-0x01BD (446 bytes) | 掃描分區表、尋找啟動標誌、載入啟動分區 DBR |
| 分區表 | 0x01BE-0x01FD (64 bytes) | 4 條 16-byte 分區描述符(類型、起始/結束 CHS/LBA、啟動旗標) |
| 結束標誌 | 0x01FE-0x01FF (2 bytes) | 0x55AA 驗證 MBR 完整性 |
啟動鏈: BIOS 讀 MBR → MBR 程式碼讀啟動分區 DBR → DBR 程式碼載入作業系統開機載入器(NTLDR/BOOTMGR)。任一環節受損 = 無法開機。
位置:各分區第 1 扇區(邏輯扇區 1 = LBA 63 起),同樣 512 位元組:
| 元件 | 大小 | 內容 |
|---|---|---|
| 跳躍指令 | 3 bytes | 跳過 BPB 進入開機代碼 |
| OEM 標識/版本 | 8 bytes | 如 "MSWIN4.1"、"NTFS " |
| BPB(BIOS 參數區) | 19/25 bytes | 每扇區位元組、每叢集扇區、保留扇區、FAT 份數、根目錄項數、總扇區數、媒體描述符等 |
| DOS 開機代碼 | 480 bytes | 載入 IO.SYS/MSDOS.SYS(或 NTLDR) |
| 結束標誌 | 2 bytes | 0x55AA |
DBR 之後緊接 FAT 表(兩份備份),再是根目錄區與資料區。
| 受損元件 | 典型錯誤訊息 | 核心成因 |
|---|---|---|
| MBR 主程式碼/分區表/55AA | 「無效分區表」、「Missing Operating System」、「硬碟無法啟動」 | 病毒(CIH 等)、分區工具誤操作、惡意軟體寫入、磁碟壞軌 |
| DBR/BPB/開機代碼/55AA | 「未格式化的分區」、「檔案系統損壞」、「插入磁碟」 | 格式化中斷、病毒破壞、檔案系統錯誤、邏輯鎖定 |