我最早在C盤裝了Windows XP,然后接著在D盤裝的Windows7。這樣用著一切正常,因?yàn)槲以瓉韨浞莸挠蠿P系統(tǒng),所以我用一鍵還原把C盤給還原了,但問題也就出來了,在系統(tǒng)啟動(dòng)項(xiàng)那只有Windows XP和一鍵還原兩個(gè)選項(xiàng),沒有辦法進(jìn)入Windows 7系統(tǒng),因?yàn)槲覜]有接觸過Windows Vista,直接從XP到Windows 7,所以對(duì)它的啟動(dòng)原理不很了解,所以我研究了一下午才把問題解決了,順便也了解了Windows 7系統(tǒng)的啟動(dòng)原理。
解決問題前我們先來了解一下Windows XP和Windows 7的啟動(dòng)原理有何不同,雙系統(tǒng)又是如何啟動(dòng)的:
在Windows 7+XP雙系統(tǒng)中,Windows 7使用bootmgr接管系統(tǒng)啟動(dòng)模式。電腦自檢完成后,開始查找活動(dòng)主分區(qū)(一般情況是C:)并加載它。
接著會(huì)繼續(xù)讀取活動(dòng)分區(qū)下的啟動(dòng)配置文件(即C:\BOOT\BCD)和c:\boot.ini,根據(jù)BCD和Boot.ini存儲(chǔ)的啟動(dòng)信息列出啟動(dòng)菜單(也就是雙系統(tǒng)啟動(dòng)菜單)。對(duì)于雙系統(tǒng)用戶通常列出“Microsoft Windows 7”和“舊版本的Windows”。
如果選擇前者,Bootmgr將控制權(quán)交給Windows 7系統(tǒng)目錄下的Winload.exe (在\Windows\systems下)然后開始啟動(dòng)Windows 7。選擇后者,Bootmgr將控制權(quán)交給NTLDR,接著開始讀取c:\boot.ini并列出其中配置的啟動(dòng)菜單。
啟動(dòng)故障就主要出現(xiàn)在Bootmgr(如該文件丟失)、BCD(啟動(dòng)信息配置錯(cuò)誤)、Winload.exe(該文件丟失導(dǎo)致Vista無法啟動(dòng))、Ntldr(該文件丟失導(dǎo)致XP無法啟動(dòng))這些文件上。(我的情況屬于bootmgr文件丟失,BCD文件啟動(dòng)信息配置錯(cuò)誤)
下面我們來解決問題:
1、首先我們需要幾個(gè)備份文件(bootmgr,ntldt,bcd,bootsect),如果你有Windows 7系統(tǒng)盤或者鏡像的話可以直接從中提取。
還有一個(gè)工具——EasyBCD
注意:在XP下EasyBCD的運(yùn)行需要Microsoft .NET Framework2.0的支持。
2、以下操作都是在Windows XP中進(jìn)行,因?yàn)橛蛛[藏文件和系統(tǒng)文件,所以最好顯示系統(tǒng)和隱藏文件,在文件夾選項(xiàng)里點(diǎn)擊查看,去掉隱藏受保護(hù)的系統(tǒng)文件(推薦)并選擇選擇顯示所以文件和文件夾。
把bootmgr,ntldt(一般C盤下有,不用復(fù)制)復(fù)制到C盤下。(此C盤為默認(rèn)為系統(tǒng),按具體情況而定)
把bcd,bootsect復(fù)制到C:\boot\目錄下
3、然后運(yùn)行EasyBCD
切換到左側(cè)的“ADD/Remove Entries”,在右側(cè)窗格選中原來無效的啟動(dòng)菜單,單擊Delete刪除,接著在Add An Entry下添加啟動(dòng)項(xiàng)。添加XP啟動(dòng)則在Version選擇“Windows NT/200/XP”、Drive選擇C:\、Name設(shè)置為Windows XP(圖3)。同上,添加Windows 7的啟動(dòng)項(xiàng)(Version選擇Windows Vista/longhom、Drive選擇D:\、Name設(shè)置為Windows 7),完成后單擊ADD Entry保存配置。
4、然后打開“運(yùn)行” (開始〉運(yùn)行), 輸入cmd
進(jìn)入C:\boot\目錄下輸入“bootsect /nt60 C:” (刪除是nt52,不帶雙引號(hào))