即使是電腦高手,也常常會遇到多系統啟動的故障,而一旦產生無法啟動的故障,那維護起來可就費時又費力了。本文另辟蹊徑,為多系統維護提供了一種很好的 思路,通過XRLDR獨立引導,實現各個系統獨立啟動。如果你已經安裝了多系統,並且也曾遭遇過多系統啟動的故障,那麼不妨試一試本文介紹的方法,就可以大大減少你的維護工作了!
安裝雙系統的用戶越來越多,不過多系統的啟動和維護一直是個讓人頭痛的問題,比如Windows XP(以下簡稱WinXP)+Windows 7用戶(以下簡稱Win7),如果啟動文件Bootmgr或者BCD啟動配置出現問題,經常會導致兩個系統都無法進入。
在使用XRLDR之前我們先來了解一下系統啟動知識,這樣可以讓大家更好理解和配置多系統的啟動。硬盤上系統一般啟動程序是這樣的:開機自檢→加載硬盤主引導記錄(MBR)→搜索並激活系統引導文件mfc100d.dll→加載啟動配置文件→加載系統核心文件→完成啟動。
比如對於在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配置實現各分區系統的獨立啟動,從而使多系統啟動擺脫對第一分區和單一啟動文件的依賴,改造前後流程對比如圖1所示。
注:本文以C盤安裝WinXP加D盤安裝Win7的雙系統安裝為例,為了更方便進行維護,筆者還在E盤安裝WinPE系統。
從上述介紹可以知道,改造多系統啟動操作第一步要將各系統啟動文件復制到各自分區,由於簡單復制啟動文件並不能啟動系統,復制完成後還要對系統啟動進行配置。下面就針對不同系統介紹如何進行具體操作。
大家知道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)。
完成上述操作後,重啟系統進入WinXP,把“C:\bootmgr”文件、“C:\boot”整個目錄全部剪切到D盤根目錄。然後運行下載的 “bcdtool.exe”,單擊“啟動配置→打開”,打開“d:\boot\bcd”配置文件。依次選擇“編輯→刪除啟動項目”,將原來的啟動項目全部 刪除。接著再依次選擇“編輯→新建Vista啟動項目”,選中新建項目後,雙擊右側窗格的“device”項,將其更改為“partition=D:” (盤符依據Win7安裝的具體分區更改),“description”(啟動菜單顯示名稱)更改為“Windows 7”。
經過上述啟動文件移動和配置後,我們只要能夠加載“D:\bootmgr”,Win7就可以從D盤啟動了(Bootmgr加載需要借助XRLDR配置)。
由於Win7啟動經常需要借助WinPE來修復,因此為了方便對Win7系統進行維護,我們還可以手動在本地硬盤安裝WinPE系統。只要准備好 Win7安裝光盤,打開光盤後將除“光盤目錄\sources\install.wim”文件外的全部文件復制到E盤即可完成安裝。
完成上述三個系統的配置後,現在進入WinXP系統,運行下載的XRLDR,單擊“安裝/配置”進入配置界面。在界面預覽下選中“第一個操作系統”,依次進行如下設置:
1.啟動方式單選“從文件啟動”,啟動文件選擇NTLDR(用於啟動WinXP,啟動Win7和WinPE則選擇Bootmgr)。
2.啟動分區選擇第一分區(即WinXP所在分區,其他系統根據具體分區選擇)。
3.系統類型選擇“NTLDR/BOOTMGR”,並勾選“啟動時激活要啟動主分區”。
4.菜單文本更改為“Windows XP”,然後單擊“生成”(字體、顏色、字號等根據自己喜好進行設置)。其他參數采取默認設置。
5.操作同上,依次設置Win7和Win PE系統的啟動配置,最後單擊“寫入磁盤”,完成對主引導記錄的更改。
OK,現在只要重啟電腦,我們就可以在開機多重啟動菜單中選擇自己喜歡的系統進入了(下次啟動時默認啟動上次選擇的系統,默認啟動系統可以在XRLDR中進行設置)。
上述三個系統是獨立啟動的,比如選擇Win7進入後,依次打開“計算機管理→存儲→磁盤管理”,可以看到Win7所在分區既是系統分區也是啟動分區,表明它的啟動並不依賴第一分區。
提示:什麼是系統分區、啟動分區?根據微軟幫助文檔的解釋,系統分區是指包含加載 Windows(比如Bootmgr)所需的硬件特定文件的分區,系統分區可以(不是必須)與啟動分區相同。啟動分區則是指包含 Windows 操作系統及其支持文件的分區。在傳統WinXP+Win7情況下,對於Win7它的系統分區是第一分區(因為加載 Windows所需特定文件如Bootmgr和Boot引導目錄在該分區),啟動分區則為第二分區(因為Windows 操作系統目錄在該分區)。這裡系統分區、啟動分區合二為一表明這個分區就包含系統文件和引導文件,可以說明該系統是自主、獨立啟動的。
經過上述改造,我們已經實現WinXP、Win7、WinPE三個系統的獨立啟動,這給我們日常維護帶來很大的便利。比如在改造前誤刪了Bootmgr 文件,重啟後就無法啟動多系統了,而現在則可以進入WinXP系統,只要到其他電腦上復制Bootmgr到D盤即可修復Win7系統的啟動問題。同樣,如果Win7的BCD菜單出現故障,我們還可以進入WinPE,使用Bcdboot命令進行快速修復。