問題一:原系統xp,在C盤。ghost安裝win7到D盤。顯然,D盤的win7沒有引導,需要手動修複。
修複方法【內為注釋】:
1. 進入C盤xp,運行cmd進入xp命令列模式。輸入
d:
cd d:/windows/system32
bcdboot d:/windows /l zh-cn /s c:
運行上述命令後,在C盤根目錄產生了/boot檔案夾和bootmgr檔案。
【D盤下已經具備了一個完整的win7,唯一欠缺的是系統硬碟內的引導,因此首先要在C盤重建win7的引導環境。通過Windows7內建的bcdboot命令可以輕易做到這一點。這個命令不能修改引導記錄,我用VHD驗證過】
2. 去win7安裝光碟片,找到bootsect.exe檔案(找不到就網上下載一個,注意要win7的),複製到C:/boot/檔案夾。然後進入命令列:
cd c:/boot
bootsect /nt60 c:
bootsect /nt60 c: /mbr
這個命令執行完畢後,在完成所有後續步驟之前,一定不能重啟XP,否則XP將無法啟動!
【bootsect —— 用來寫win7需要的引導資訊到引導記錄,第一個bootsect命令把引導資訊寫入C盤分區引導記錄,第二個bootsect命令把引導資訊寫入硬碟主引導記錄。由於主引導記錄和分區引導記錄都被修改為支援bootmgr,因此XP的引導器ntldr將不能被引導,後續步驟中我們會修複它】
3. 繼續在xp的命令列模式,輸入
d:
cd d:/Windows/system32
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path /ntldr
bcdedit /displayorder {ntldr} /addlast
bcdedit /timeout 10
【這一步,我們用bcdedit命令來給XP在bcd中重建引導項。這樣通過bootmgr載入bcd中XP的引導項,進而把啟動控制權交給XP的引導管理器ntldr,實現XP的啟動】
至此,雙系統引導修複完成。
上述命令中,每個命令都必須成功。有可能,bcdedit命令會返回失敗資訊。此時步驟3中的命令改為:
bcdedit /store c:/boot/bcd /create {ntldr} /d "Windows XP"
bcdedit /store c:/boot/bcd /set {ntldr} device boot
bcdedit /store c:/boot/bcd /set {ntldr} path /ntldr
bcdedit /store c:/boot/bcd /displayorder {ntldr} /addlast
bcdedit /store c:/boot/bcd /timeout 10
——————————————————————————————————————————————————————————————————————————————————————————————
問題二:如果C盤已裝WIN7,如何在D盤裝XP並修複引導?
修複方法:
1. 如果XP是正常安裝到D盤:
安裝成功後,win7引導被XP的引導覆蓋。因此需要在XP下手動修複win7的引導。方法同問題一。命令如下(不再注釋,請自行理解)
bootsect /nt60 c:
bootsect /nt60 c: /mbr
cd C:/Windows/system32
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path /ntldr
bcdedit /displayorder {ntldr} /addlast
bcdedit /timeout 10
2. 如果XP是通過ghost安裝到D盤:
這種情況下D盤的XP缺乏引導,需要在win7下手動恢複XP的引導。方法如下:
2.1 把D盤根目錄下的ntldr,ntdetect.com,boot.ini三個檔案複製到C盤根目錄
2.2 修改boot.ini的內容,為 D盤的xp設定正確的引導路徑。(原路徑是C盤)
2.3 以管理員身份運行cmd,輸入如下命令
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path /ntldr
bcdedit /displayorder {ntldr} /addlast
bcdedit /timeout 10