由於第一次遇到這樣的問題,不知道如何解決,在群裡問了半天沒有回答,在論壇裡求助也沒有結果,所以只好自己在網上找資料研究,我沒有接觸過visit,剛知道是因為它和XP的啟動原理不同造成的,可能有的高手都知道解決方案,但網上關於這方面的資料不多,而且求助的人卻不少,而自己剛好弄明白,拿出來和大家共同分享一下,有什麼不對的地方還希望多提意見。我剛剛測試過可行
首先說一下我遇到具體問題:
我首先在C盤裝了windows xp,然後接著在D盤裝的windows 7。這樣用著一切正常,因為我原來備份的有xp系統,所以我用一鍵還原把C盤給還原了,但問題也就出來了,在系統啟動項那隻有windows xp和一鍵還原兩個選項,沒有辦法進入windows 7系統,因為我沒有接觸過windows visit,直接從xp到windows 7,所以對它的啟動原理不很瞭解,所以我研究了一下午才把問題解決了,順便也瞭解了windows 7系統的啟動原理。
解決問題前我們先來瞭解一下windows xp和windows 7的啟動原理有何不同,雙系統又是如何啟動的:
在windows 7+xp雙系統中,windows 7使用bootmgr接管系統啟動模式。電腦自檢完成後,開始尋找活動主要磁碟分割(一般情況是C:)並載入它。
接著會繼續讀取使用中的磁碟分割下的啟動設定檔(即C:\BOOT\BCD)和c:\boot.ini,根據BCD和Boot.ini儲存的啟動資訊列出啟動菜單(也就是雙系統啟動菜單)。對於雙系統使用者通常列出“Microsoft Windows 7”和“舊版本的Windows”。
如果選擇前者,Bootmgr將控制權交給windows 7系統目錄下的Winload.exe (在\windows\systems下)然後開始啟動windows 7。選擇後者,Bootmgr將控制權交給NTLDR,接著開始讀取c:\boot.ini並列出其中配置的啟動菜單。
啟動故障就主要出現在Bootmgr(如該檔案丟失)、BCD(啟動資訊配置錯誤)、Winload.exe(該檔案丟失導致Vista無法啟動)、Ntldr(該檔案丟失導致XP無法啟動)這些檔案上。(我的情況屬於bootmgr檔案丟失,BCD檔案啟動資訊配置錯誤)
下面我們來解決問題:
首先我們需要幾個備份檔案(bootmgr,ntldt,bcd,bootsect),如果你有windows 7系統硬碟或者鏡像的話可以直接從中提取。
還有一個工具——EasyBCD
注意:在XP下EasyBCD的運行需要Microsoft .NET Framework2.0的支援,可以到http://msdn2.microsoft.com/zh-cn/vstudio/default.aspx下載安裝。
以下操作都是在windows XP中進行,因為又隱藏檔案和系統檔案,所以最好顯示系統和隱藏檔案,在檔案夾選項裡點擊查看,去掉隱藏受保護的系統檔案(推薦)並選擇選擇顯示所以檔案和檔案夾。
把bootmgr,ntldt(一般C盤下有,不用複製)複製到C盤下。(此C盤為預設為系統,按具體情況而定)
把bcd,bootsect複製到C:\boot\目錄下
然後運行EasyBCD
切換到左側的“ADD/Remove Entries”,在右側邊窗格選中原來無效的啟動菜單,單擊Delete刪除,接著在Add An Entry下添加啟動項。添加XP啟動則在Version選擇“Windows NT/200/XP”、Drive選擇C:\、Name設定為Windows XP(圖3)。同上,添加windows 7的啟動項(Version選擇Windows Vista/longhom、Drive選擇D:\、Name設定為Windows 7),完成後單擊ADD Entry儲存配置。
然後開啟“運行” (開始〉運行), 輸入 cmd
進入C:\boot\目錄下輸入 “bootsect /nt60 C:” (刪除是nt52,不帶雙引號)
最後重新啟動
最後的話:
每個人遇到的問題可能與我有所不同,據自己情況具體解決,以上只是個參考,我在網上找這方面的資料發現不是很多,還有好多是修改boot.ini,有的不能解決問題,有的又特別麻煩。遇到問題多思考,多在網上找找資料,總能解決問題的.