現象
重裝 Windows 7 覆寫 MBR,導致原有 CentOS 6.4 Grub 引導損壞,開機直接進入 Windows,無法選擇 Linux。
修復流程:LiveCD/USB 進入救援模式重裝 Grub
- 準備 **CentOS 6.4 安裝 ISO** (或任意 Linux LiveCD/USB,如 SystemRescueCd、Ubuntu Live)。
- 使用 **UltraISO / Rufus / Ventoy** 寫入 USB 製作啟動盤。
- BIOS 設定 USB 優先啟動,進入 CentOS 安裝介面選擇 **「Rescue installed system」 (救援已安裝系統)**。

- 依提示選擇語言、鍵盤、網路 (可跳過) → 系統偵測到根分區 → 選擇 **「Continue」掛載至 `/mnt/sysimage`** → 進入 Shell。

- 執行 **chroot 切換根環境**:
chroot /mnt/sysimage
- **重裝 Grub 至 MBR (通常為 /dev/sda)**:
grub-install /dev/sda
(若為 UEFI 系統,需掛載 EFI 分區並用 `grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=centos`)。
- **檢查/修補 Grub 設定檔**:
vi /boot/grub/grub.conf
確認 `root (hd0,0)` 對應 `/boot` 分區、`kernel`/`initrd` 路徑正確。
**手動添加 Windows 7 啟動項 (若缺失):**
# Windows 7
title Windows 7
root (hd0,0)
makeactive
chainloader +1
(注意:`root (hd0,0)` 指 Windows 所在分區,通常為第一顆硬碟第一分區,請用 `fdisk -l` 確認)。
- 儲存離開 (`:wq`),退出 chroot 並重啟:
exit
reboot
- 拔除 USB,開機應出現 Grub 選單,可選擇 CentOS 6.4 或 Windows 7 雙系統啟動。
現代工具替代 (更簡單)
- Boot-Repair (Ubuntu LiveUSB 內建/可安裝):圖形化一鍵修復 Grub、添加 Windows 項目、支援 UEFI/Legacy。
- EasyBCD (Windows 端):在 Win7 內直接添加 Linux Grub2 項目至 Windows BCD 引導選單 (需 Grub 安裝在 Linux 分區啟動扇區而非 MBR)。
注意
- 操作前**備份重要資料**,分區表/引導區操作有風險。
- 確認硬碟裝置名稱 (`/dev/sda` vs `/dev/nvme0n1`) 不要寫錯。
- CentOS 6 **生命週期 2020/11 結束**,強烈建議遷移至 Rocky Linux 8/9、AlmaLinux 8/9、CentOS Stream 9 或 Ubuntu LTS 獲得安全更新。