在Vista&Windows7系統下安裝XP
之前在網上看到過一篇文章,是關於如何通過修改Vista下的開機檔案來欺騙Vista的啟動順序,後來把它用在Windows7上,也實驗成功,現在來與大家分享.
(整個操作有威脅性,最好事先準備隨身碟PE系統,對於新手,注意儲存好資料,本人保證,如果按正常操作不會出問題)
硬碟資訊:C盤 Windows 7 主引導分區 D盤 邏輯分區 Windows XP
步驟1:安裝好Windows XP 後是無法進入Windows 7 的,首先得修複一下,方法很多,下面介紹其中一種方法
在Windows XP 系統中,放入Windows 7 安裝盤開啟—開始---運行,輸入cmd斷行符號,再輸入X: 斷行符號(X代表你的光碟片盤符),再輸入cd boot斷行符號(進入boot目錄)
再輸入bootsect /nt60 sys斷行符號
關閉所有視窗重啟系統,重啟系統後並沒有雙啟動菜單,而是直接進入了Windows 7 系統了.以下操作在Windows 7系統中進行
步驟2:重新命名Windows7下的bootmgr檔案(Windows7系統根目錄下),如bootmgrv
步驟3:將grub4dos中提取的grldr改名為bootmgr,然後將bootmgr和menu.lst檔案一起複製到Windows7系統根目錄下
步驟4:將Windows XP 系統中的幾個開機檔案複製到Windows7系統根目錄下(ntldr,NTDETECT.COM,boot.ini,autoexec.bat 這幾個就夠了)
步驟5:修改menu.lst和boot.ini (最關鍵的)
menu.lst用記事本開啟如下
title Windows Windows7 // grub啟動時的標題 可以自己定義 title為標識
find --set-root /bootmgrv //尋找根目錄下的bootmgrv檔案來啟動,由於我已經把Windows 7 的bootmgr檔案改名為bootmgrv,所以此時啟動Windows7
chainloader /bootmgrv //載入啟動
title Windows XP //同上
find --set-root /ntldr //尋找根目錄下的ntldr檔案來啟動,ntldr是 Windows XP的啟動方式,ntldr在來通過boot.ini檔案尋找Window XP的啟動菜單
chainloader /ntldr //同上
boot.ini用記事本開啟如下 (在這裡不用修改boot.ini檔案,直接複製過來的就是正確的,不過還是來解釋以下,便於擴充,如果還有Win2003呢)
[boot loader]
timeout=5 //啟動菜單停頓時間
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS //預設啟動的系統磁碟分割位置
[operating systems] //啟動列表
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP1" /noexecute=optin /fastdetect /PAE
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP2" /noexecute=optin /fastdetect /PAE
//前面的三個參數multi(0)disk(0)rdisk(0)不是很清楚,主要說說第四個partition(2)有用的,數字2代表在第二個硬碟分區上的系統,由於Windows 系統的分區
//的表示方法比較爛(多個系統時,盤符與分區容易亂套,Linux這點就比較好了),不過我們可以通過磁碟管理來查看當前的盤符對應的分區資訊,再來確定啟動系
//統分區
上面的 //後為我的注釋,如果在實際檔案中,請刪掉(可能無法識別,沒試過)
最後,附上多系統啟動的檔案,都已經修改過,直接放在Windows 7根目錄下即可,唯一可能需要修改的就是boot.ini檔案,不過可以把Windows XP下的boot.ini檔案複製下來即可 點此下載
註:對於添加其它的系統,如Linux ,只需在menu.lst添加linux的啟動資訊即可,如要添加Vista以上的系統,也只需在menu.lst添加啟動資訊,要是Vista之前的系統,就在boot.ini中修改