本文記錄在同一顆硬碟上安裝 Windows XP 與 Ubuntu 7.10 (Gutsy Gibbon) 雙系統的完整過程,重點解析分區策略、安裝順序對 MBR 的影響、Grub 開機選單配置與常見陷阱。
必須先安裝 Windows XP,再安裝 Ubuntu。
原因:Windows 安裝程式會無條件覆寫 MBR (主開機記錄) 為自有開機載入器 (NTLDR),無法辨識 Linux 分區。Ubuntu 安裝程式 (Grub) 能偵測 Windows 分區並自動加入開機選單,實現雙系統共存。
| 分區 | 大小 | 檔案系統 | 用途 |
|---|---|---|---|
| 第 1 分區 (Primary) | 20 GB | NTFS | Windows XP 系統盤 (C:) |
| 第 2 分區 (Primary/Extended) | 60 GB | 預留未格式化 | Ubuntu 稍後自行切分 |
| 第 3 分區 (Logical) | 20 GB | NTFS/FAT32 | Windows 資料盤 (D:) |
| 第 4 分區 (Logical) | 60 GB | NTFS/FAT32 | Windows 資料盤 (E:) |
關鍵技巧:在 XP 安裝階段,將預留給 Ubuntu 的 60 GB 先建立為一個主分區 (或邏輯分區),避免日後 Ubuntu 安裝時因「主分區數已達 4 個上限」無法建立新分區。Ubuntu 安裝時再刪除此分區,於釋出的空間建立 / (root)、swap、/home。
/dev/sda2),選中 → 「刪除分區」 → 變為「可用空間」。/ (root) — 15-20 GB, ext3, 掛載點 /swap — 1-2 GB (建議 = 實體記憶體 1-2 倍)/home — 剩餘空間, ext3, 掛載點 /homeUbuntu 7.10, kernel 2.6.22-14-genericWindows XP原因:MBR 分區表最多 4 個主分區 (或 3 主分區 + 1 擴展分區)。XP 已佔用 3 個主分區。
解決:按上述技巧,XP 階段將 Ubuntu 預留空間建為第 2 主分區;Ubuntu 階段刪除它並在擴展分區內建立邏輯分區 (Linux 支援無限邏輯分區)。
手動編輯 /boot/grub/menu.lst (Grub Legacy) 加入:
title Windows XP
rootnoverify (hd0,0)
chainloader +1
(hd0,0) 對應第一顆硬碟第一個分區 (XP 系統盤)。
使用 Ubuntu Live CD 開機,掛載系統分區重裝 Grub:
sudo mount /dev/sda1 /mnt # sda1 為 Ubuntu / 分區
sudo grub-install --root-directory=/mnt /dev/sda
dd if=/dev/sda of=/path/mbr.backup bs=512 count=1,以備不時之需。雖 Ubuntu 7.10 已停止支援,但本文的分區邏輯、安裝順序、Grub 原理對現代 Ubuntu/Linux Mint/Debian 等發行版同樣適用。掌握核心機制,輕鬆駕馭雙系統環境。