問題現象
安裝過 Linux(GRUB 寫入 MBR),刪除 Linux 分區後,開機仍進入 GRUB 選單(找不到 Linux 核心報錯),無法直接啟動 Windows XP。
原因分析
Linux 安裝時將 GRUB(或 LILO)安裝至硬碟主開機記錄(MBR),取代 Windows 開機載入器(NTLDR)。單純刪除 Linux 分區不會自動恢復 MBR,GRUB 仍殘留在 MBR 尋找已不存在的 /boot/grub 設定檔。
解決方案
方法一:Windows 開機軟碟 + fdisk /mbr(經典)
- 用 Windows 98/Me/XP 開機軟碟啟動電腦(或 DOS 7.1+ 開機碟)。
- 在命令提示字元輸入:
fdisk /mbr
- 重新開機,MBR 恢復標準 Windows 開機碼,直接啟動 NTLDR → XP。
方法二:Windows XP 修復主控台 + fixmbr(推薦,無需軟碟)
- 從 XP 安裝光碟開機,進入「修復主控台」(按 R)。
- 選擇 Windows 安裝,輸入 Administrator 密碼。
- 執行指令:
fixmbr \Device\HardDisk0
(單一硬碟通常為 HardDisk0,多硬碟請確認編號)
- 輸入
y 確認,完成後 exit 重開機。
方法三:Windows 98/Me 開機碟 sys c:(僅限 FAT32 系統盤)
若系統盤為 FAT32,可用 Win98 開機碟執行 sys c: 寫入系統檔,但無法修復 NTFS 分區的 NTLDR。
進階:修復 NTLDR/NTDETECT.COM/BOOT.INI
若 MBR 修復後仍無法開機(提示「NTLDR is missing」),進修復主控台從光碟複製:
copy F:\i386\ntldr C:\
copy F:\i386\ntdetect.com C:\
並檢查 C:\boot.ini 內容正確指向系統分區。
預防建議
- 安裝 Linux 時選擇將開機載入器安裝至 Linux 分區啟動區(而非 MBR),再用 Windows 開機管理工具(如 EasyBCD、BootICE)新增 Linux 開機項。
- 或使用支援多重開機的第三方開機管理器(Grub4DOS、rEFInd、Clover)。
- 刪除 Linux 前,先在 Windows 下用
fixmbr 恢復 MBR,再刪除分區。