XP 與 Win7 同安裝於 C 槽根目錄會導致 `Program Files`、`Windows` 等同名資料夾互相覆蓋,系統損壞。正確做法:修改 XP 安裝路徑至子資料夾 (如 `C:\WinXP`),再安裝 Win7 至 C 槽根目錄,最後修復 BCD 引導雙系統共存。本文提供經驗證可行的完整流程。
核心原理
- XP 安裝程式預設目標目錄為 `C:\Windows`。修改安裝源檔案 `WINNT.SIF` 與 `HIVESFT.INF` 指定 `TargetPath=\WinXP`,XP 將安裝至 `C:\WinXP`,系統資料夾變為 `C:\WinXP\Windows`,`Program Files` 為 `C:\WinXP\Program Files`,與 Win7 根目錄 `C:\Windows`、`C:\Program Files` 完全隔離。
- Win7 安裝後會覆寫 MBR/PBR 並建立 BCD 儲存區,識別 XP 需手動新增 BCD 項目或使用 EasyBCD 等工具。
關鍵步驟:修改 XP 安裝源檔案
- 複製 XP 安裝光碟/ISO 內容至硬碟資料夾 (如 `D:\XP_SRC`)。
- 編輯 `D:\XP_SRC\I386\WINNT.SIF` (不存在則新建),加入:
[Unattended]
TargetPath="\WinXP"
- 編輯 `D:\XP_SRC\I386\HIVESFT.INF`,尋找 `HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","SystemRoot"` 等鍵值,將 `%SystemRoot%` 相關路徑由 `\Windows` 改為 `\WinXP\Windows` (全檔搜尋替換)。
- 使用 nLite 或 UltraISO 重新封裝為可開機 ISO/USB。
安裝順序與引導修復
- 先安裝修改後的 XP 至 C 槽 (實際安裝於 `C:\WinXP`)。
- 再安裝 Win7 至 C 槽 (根目錄)。Win7 安裝會偵測現有 XP 但無法自動加入啟動選單 (因路徑非標準)。
- 進入 Win7,以管理員身分開啟 CMD,使用 EasyBCD (推薦) 或 `bcdedit` 手動新增 XP 啟動項:
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path \WinXP\ntldr
bcdedit /displayorder {ntldr} /addlast
(需確認 `C:\WinXP\ntldr`、`C:\WinXP\boot.ini` 存在,且 `boot.ini` 指向 `partition(1)\WinXP\Windows`)。
- 重開機測試雙系統選單,分別進入 XP/Win7 驗證穩定。
避坑指南
- XP 需安裝於主分區首區 (C:),邏輯分區無法啟動。
- 修改 HIVESFT.INF 極易出錯,建議使用 nLite「自訂安裝路徑」功能圖形化操作,再手動微調。
- Win7 安裝會將 XP 的 `ntldr`/`boot.ini` 視為普通檔案,不會破壞,但需確保 XP 分區標記為「作用中」 (Win7 安裝通常會保留)。
- 雙系統維護成本高: 修補程式需分別安裝、防毒軟體雙份、磁碟空間雙倍。虛擬機 (VirtualBox/VMware/Client Hyper-V) 運行 XP 為現代更優解法:隔離、快照、攜帶、零硬體衝突。
同槽雙系統屬「極客技巧」,驗證可行但不建議生產環境長期使用。理解安裝路徑隔離與 BCD 引導機制,才是本文核心價值。