Windows 7 啟動鏈:**BIOS → MBR → DPT (分區表) → PBR (分區啟動記錄) → BOOTMGR → BCD → winload.exe → 核心**。任一環節損壞皆導致無法開機。本文系統解析各層故障現象、診斷邏輯與 **Windows RE (恢復環境) 指令修復大全**。
| 層級 | 元件 | 常見故障現象 | 修復指令 (WinRE CMD) | 備註 |
|---|---|---|---|---|
| 1 | **MBR** (主開機記錄) | GRUB/舊版 Linux 覆寫 MBR → 「Missing operating system」/「GRUB rescue>」 | `bootrec /fixmbr` `bootsect /nt60 sys /mbr` (推薦) | `bootsect` 同時修 MBR+PBR,Win7 光碟 `\boot\bootsect.exe` 可提取至 XP/PE 使用 |
| 2 | **DPT** (分區表) | 分區表損毀/無作用分區 | DiskGenius / `diskpart` 重建分區表 | 謹慎操作,先備份資料 |
| 3 | **PBR** (分區啟動記錄) | XP 安裝覆寫 PBR → 「NTLDR is missing」/ 亂碼 | `bootrec /fixboot` `bootsect /nt60 sys` (不含 /mbr) | Vista `bootsect` 無 `/mbr` 參數,僅修 PBR |
| 4 | **BOOTMGR** | 檔案遺失/損毀 → 「BOOTMGR is missing」 | `bcdboot C:\Windows /s C:` (C: 為系統分區,WinRE 下盤符可能不同,先 `dir` 確認) | 重寫 BOOTMGR + `\Boot\BCD` + 語系檔 |
| 5 | **BCD** (啟動配置資料) | BCD 遺失/損毀 → 無啟動選單 / 錯誤 0xc000000f | `bootrec /RebuildBcd` (掃描並提示加入) `bcdedit` 手動編輯 (複雜) | `/RebuildBcd` 會搜尋所有 Windows 安裝並詢問加入 |
| 6 | **winload.exe / 核心** | 系統檔案損毀 → 0xc0000001 / 0xc0000225 | `sfc /scannow /offbootdir=C: /offwindir=C:\Windows` 或 重裝系統 | 離線 SFC 修復系統檔案 |
現象:磁碟管理顯示 C: 為「系統、開機、分頁檔、作用中、損毀的主要分區」但 **100 MB 系統保留分區才是「作用中」**。
原因:一鍵還原/啟動管理程式寫入 MBR 導向隱藏分區,或 PBR 代碼指向特定檔案鏈結其他分區。
修復:先 `bootrec /fixmbr` 無效 → `bootrec /fixboot` **重建 PBR 即解決** (PBR 代碼修正為尋找本分區 BOOTMGR)。
原因:`BOOTMGR` 檔案遺失 (最常見)、磁碟錯誤、Diskeeper MFT 整理 Bug。
修復:`bcdboot C:\Windows /s C:` 重建啟動檔案。若磁碟錯誤先 `chkdsk /f`。不建議用 Diskeeper 整理 MFT。
原因:原有 100 MB「系統保留」分區為真正作用中分區 (含 BOOTMGR/BCD)。使用者在磁碟管理將 C: 設為作用中 → 取消系統保留分區作用中旗標 → MBR 導向 C: PBR → C: PBR 找 C: BOOTMGR → 找不到 → `BOOTMGR is missing`。
修復:**將系統保留分區重新設為作用中** (DiskGenius / `diskpart` → `select partition X` → `active`)。
原因:對系統分區啟用 NTFS 壓縮導致 `BOOTMGR` 被壓縮 (開機載入器無法解壓)。
修復:
① `compact /u /a /f /i /s C:\*` (**末尾 `*` 必須**,遞迴解壓全分區)**
② 或 `bootrec /fixboot` 重寫 PBR (修正 BPB 參數)
③ 或 `bootsect /nt60 sys` 重寫 PBR
**僅解壓 `BOOTMGR` (`compact /u C:\BOOTMGR`) 無效**,因其他啟動檔案亦被壓縮。
原因:Linux (GRUB) 覆寫 MBR + 作用中分區 PBR。
修復:`bootsect /nt60 sys /mbr` **單一指令同時修復 MBR+PBR**,即可進入 Win7。
三步驟修復:
1. `bcdboot C:\Windows /s C:` 重建 Win7 啟動檔案
2. `bootsect /nt60 sys /mbr` 恢復 Win7 MBR+PBR
3. 進入 Win7 → `bcdedit` 手動新增 XP 啟動項 (或用 EasyBCD 圖形化工具)
掌握 Win7 啟動鏈七層架構與 `bootsect`/`bcdboot`/`bootrec` 三大神器,面對任何開機故障皆能精準診斷、指令級修復,奪回系統控制權!