開機畫面顯示 Invalid partition table,硬碟無法啟動,但用啟動碟進入後只能看到 C 槽。這代表 **MBR (主開機記錄) 中的分區表 (DPT) 損毀或包含多個啟動標記** 。
技術原理:MBR 結構與啟動邏輯
- MBR 位於 **磁頭 0、柱面 0、扇區 1** (LBA 0),共 512 Bytes。
- 結構:446 Bytes 開機程式碼 + 64 Bytes 分區表 (4 個 16 Bytes 項目) + 2 Bytes 結束標記 0x55AA。
- 分區表項目中 Boot Indicator (第 1 Byte) =
0x80 表示啟動分區,**只能有一個分區標記為 0x80**。
- 開機時 BIOS 載入 MBR 程式碼 → 掃描分區表 → 找到唯一 0x80 分區 → 讀取其 VBR (Volume Boot Record) → 載入作業系統。
- 若發現 **多個 0x80** 或 **無 0x80** 或 **分區表結構錯誤** → 顯示
Invalid partition table 停止啟動。
常見成因
- 多重開機工具 (Grub/LILO/BootMagic) 寫入錯誤標記。
- 病毒/惡意程式 (如 CIH、MBR Rootkit) 破壞分區表。
- 分區工具 (Partition Magic、舊版 PQMagic) 操作中斷/錯誤。
- 硬碟壞軌導致分區表扇區損壞。
- 使用者誤用
fdisk /mbr 或磁碟編輯器破壞分區表。
三種修復方案 (由易到難)
方案一:Norton Disk Doctor (NDD) / 現代分區工具自動修復 (最簡單)
- PE 環境下執行 DiskGenius / Partition Assistant / AOMEI Partition Assistant → 選擇該硬碟 → 「重建 MBR」或「修復分區表」。
- 工具會自動分析分區結構、修正啟動標記、修復 0x55AA 結束標記。
方案二:備份分區表還原 (若有備份)
DiskGenius / Partition Table Doctor 等工具支援「備份分區表」→ 「還原分區表」。平時習慣備份 MBR+分區表 (存成 .ptb/.mbr 檔),關鍵時刻秒級恢復。
方案三:手動修復 (進階)
- 病毒感染先殺毒 (PE 環境下 360/火綿/卡巴斯基救援盤)。
- 用十六進位編輯器 (WinHex/HxD) 或
debug 直接編輯 LBA 0,修正 Boot Indicator 只保留一個 0x80,修正分區起始/結束 CHS/LBA 值、系統 ID、0x55AA 結束標記。**極高風險,非專業人士勿試。**
- 若上述無效:
fdisk 重新分區 (分區大小**必須與原分區完全一致**) → 再用 NDD/DiskGenius 修復 → 資料可能保留 (若未格式化)。
現代 UEFI/GPT 系統:不會出現此錯誤
UEFI 系統使用 GPT 分區表 + ESP 分區啟動,不依賴 MBR 分區表啟動標記。若在 UEFI 系統遇到類似啟動失敗,請修復 **BCD 存儲** 或 **重建 ESP 分區** (bcdboot/diskpart)。
預防建議
- 定期備份 MBR + 分區表 (DiskGenius「備份分區表」功能)。
- 安裝多重開機時,優先使用 Windows 開機管理員 (BCD) + EasyBCD,避免 GRUB 直接寫入 MBR。
- 硬碟健康度監控 (CrystalDiskInfo),壞軌預警時立即備份更換。
- 謹慎使用舊版分區工具 (PQMagic、Partition Magic 8.0 等),已不支援大容量硬碟/4K 對齊/GPT,易破壞分區表。
遇到 Invalid partition table 別慌,**資料通常還在**,分區表修復後即可恢復存取。先備份再修復,穩健不失誤。