系統的啟動是個很普遍的操作,不過有用戶卻是煩惱不已,並不是他是計算機菜鳥而是他因為工作需要安裝了雙系統,想他這樣的用戶很多,該怎麼處理呢?安裝雙系統的用戶越來越多,不過多系統的啟動和維護一直是個讓人頭痛的問題,比如Windows XP(以下簡稱WinXP)+Windows 7用戶(以下簡稱Win7),如果啟動文件Bootmgr或者BCD啟動配置出現問題,經常會導致兩個系統都無法進入。本文和大家討論使用XRLDR(一個輕量級的多重啟動管理工具)實現WinXP、Win7、WinPE三個系統獨立啟動的方法和技巧。
了解多系統啟動基礎知識
在使用XRLDR之前我們先來了解一下系統啟動知識,這樣可以讓大家更好理解和配置多系統的啟動。硬盤上系統一般啟動程序是這樣的:開機自檢→加載硬盤主引導記錄(MBR)→搜索並激活系統引導文件→加載啟動配置文件→加載系統核心文件→完成啟動。
比如對於在WinXP基礎上安裝Win7雙系統用戶,安裝Win7後它會更改主引導記錄並使用Bootmgr管理多系統啟動。它的引導流程是:自檢後加載NT60主引導記錄,然後查找引導文件“C:\Bootmgr”並激活,接著加載“C:\boot\bcd”啟動配置文件並列出多重啟動。如果選擇“Windows 7”,Bootmgr根據BCD啟動信息配置,將控制權交給Win7系統目錄下的“Winload.exe”, 然後開始啟動Win7。如果選擇的是舊版本的Windows,Bootmgr將控制權交給“NTLDR”,接著開始啟動WinXP(常見系統引導文件和引導記錄格式如下表所示)。
常見系統引導文件
提示:硬盤主引導記錄和具體操作系統並沒有必然的聯系,它是在操作系統啟動之前加載的一段代碼。不同類型的引導記錄區別在於加載引導文件的不同,比如NT60記錄,它會去查找“C:\Bootmgr”並加載它。Bootmgr既可以引導WinXP,也可以引導Linux系統。具體可以引導什麼系統,是由系統啟動配置文件決定的,比如將“C:\NTLDR”啟動配置寫入BCD後,Bootmgr就可以啟動WinXP系統了。
從上述啟動流程可以看出傳統的雙系統引導主要有如下不足:
1.多系統啟動都是通過第一分區完成,因此一旦第一分區無法正常工作(比如遭受病毒破壞),就會導致所有系統都無法啟動。
2.多系統啟動文件都保存在第一分區,並且依賴於Boootmgr單一文件,一旦該文件被誤操作(如對啟動配置文件BCD錯誤編輯)或誤刪除,將導致多系統啟動失敗。
為了解決多系統啟動的上述不足,我們可以自行對多系統啟動進行改造。首先將各系統的啟動文件復制到各自分區,接著通過XRLDR配置實現各分區系統的獨立啟動,從而使多系統啟動擺脫對第一分區和單一啟動文件的依賴,改造前後流程對比所示。
注:本文以C盤安裝WinXP加D盤安裝Win7的雙系統安裝為例,為了更方便進行維護,筆者還在E盤安裝WinPE系統。
實戰:多個系統各自啟動
從上述介紹可以知道,改造多系統啟動操作第一步要將各系統啟動文件復制到各自分區,由於簡單復制啟動文件並不能啟動系統,復制完成後還要對系統啟動進行配置。下面就針對不同系統介紹如何進行具體操作。
Part Ⅰ.實現WinXP獨立啟動
大家知道WinXP是通過“C:\NTLDR”啟動的,對於先裝WinXP後裝Win7的用戶,我們只要將硬盤主引導記錄更改為NT52格式即可。進入WinXP後將下載的“bootsect.exe”復制到C盤,接著啟動命令提示符工具並輸入“c:\bootsect.exe /nt52 c:”,當屏幕出現“Bootcode was successfully updated on all targeted volumes.”的提示,則表示成功將主引導記錄更改為NT52格式。現在重啟系統後就會自動加載NTLDR來啟動WinXP(不會再出現Bootmgr啟動管理器界面)。
提示:對於在Win7基礎上安裝WinXP的用戶,千萬不要使用上述命令更改主引導記錄,否則會出現兩個系統都無法進入的後果。因為變更為NT52格式後,硬盤主引導記錄就會去尋找第一分區根目錄下的NTLDR文件(NT60格式為尋找Bootmgr)。