Windows XP 與 Linux (以 Red Hat 9.0 為例) 雙系統共存,核心挑戰在於開機引導程式管理、磁碟分區格式相容性 (FAT32/NTFS/ext3) 與開機選單配置。本文提供從分區規劃、安裝順序、GRUB 設定到 NTFS 特殊處理的完整實戰流程。

/boot (約 100MB)、/ (根目錄、剩餘空間)、swap (記憶體 2 倍)。/dev/hda, /dev/hda1...;SATA/SCSI /dev/sda, /dev/sda1...。確認識別正確。GRUB 與 Linux 核心 無法寫入/可靠讀取 NTFS (早期核心唯讀、不穩定),導致無法將 GRUB 安裝至 MBR 並正常連鎖載入 Windows。
/dev/hda9 即 /boot 分區)。mount -t msdos /dev/fd0 /mntdd if=/dev/hda9 of=/mnt/bootrec bs=512 count=1umount /mntbootpart 或 bcdedit (需 Vista+) 將軟碟映像加入 NTLDR 選單,或用第三方工具 (EasyBCD, Grub4Dos) 實現雙系統選單。※ 現代發佈版 (Ubuntu 10.04+, Fedora 13+) 已內建 ntfs-3g 讀寫驅動,GRUB2 可直接鏈載入 NTFS 上的 Windows,上述繁瑣步驟多已成為歷史。
| 問題 | 原因 | 解決 |
|---|---|---|
| GRUB 選單無 Windows 選項 | /boot/grub/menu.lst 缺少 chainloader 區塊 | 手動添加 title Windows XP\n rootnoverify (hd0,0)\n chainloader +1 |
| 選 Windows 後黑畫面/重開機 | NTLDR/NTDETECT.COM 損毀或分區標記非 Active | XP 修復主控台 fixmbr fixboot;PQMagic 標記 C: 為 Active |
| Linux 核心恐慌/無法掛載 / | initrd 缺少 SCSI/RAID 驅動、根分區 UUID 錯誤 | 重建 initrd (mkinitrd);修正 /etc/fstab 與 grub.conf 裝置路徑 |
理解 GRUB 連鎖載入機制、MBR vs 分區開機區、NTFS 相容性限制,是駕馭 WinXP+Linux 雙系統的核心知識。現代環境強烈建議虛擬化替代實體雙系統。