由于Windows 95/98/ME(以下簡稱Win9X)和Windows NT/2000/XP/Server 2003(以下簡稱WinNT)的引導方式完全不同,所以在多重啟動系統(tǒng)里面,微軟采用了一種很巧妙的方式來解決這個問題。Win9X采用的直接讀取引導扇區(qū)的方式來啟動系統(tǒng),而WinNT是通過NTLDR和NTDETECT.COM來啟動系統(tǒng)的。這也是為什么Win9X害怕引導區(qū)計算機病毒的原因之一。需要說明的是,在WinNT架構(gòu)的啟動進程中,有一個文件也是需要注意的,這個文件就是經(jīng)常被大家掛在嘴邊的BOOT.INI文件。由于這個文件的重要性被過度強化,給大家造成了這個文件是無所不能的一種錯誤的印象,也就出現(xiàn)了一些“經(jīng)典”的錯誤。例如“備份雙系統(tǒng)啟動文件只需要備份C盤根目錄下得BOOT.INI文件就可以了”。其實不然,在某些情況下,只備份這個文件是不能夠解決問題的。詳細的解釋請看后面的說明。
一、最重要的五個文件
本文將分析在多重啟動系統(tǒng)中起重要作用的文件,它們分別是以下幾個:BOOT.INI、BOOTFONT.BIN、BOOTSECT.DOS、NTDETECT.COM、NTLDR。其中BOOT.INI是大家非常熟悉的一個配置文件。從這個文件可以選擇啟動的操作系統(tǒng)是什么?而且還可以通過修改BOOT.INI文件控制啟動的方式,如在操作系統(tǒng)說明符后面加上“/fastdetect”參數(shù),可以使用快速自檢模式。同樣,還有“/nodetect”等參數(shù)可供使用。但是,不是說沒有這個文件就不能夠啟動你的操作系統(tǒng),丟失這個文件的后果就是只能從C盤啟動。同時,由于這個文件是完完全全的一個文本類型的文件,我們可以使用任何文本編輯工具編輯這個文件。換句話說,BOOT.INI在多重啟動系統(tǒng)中不是最重要的一個文件,也就說不上“備份雙系統(tǒng)啟動文件只要備份C盤根目錄下的BOOT.INI文件就可以了”。
熟悉多重啟動系統(tǒng)啟動模式的朋友們都知道,操作系統(tǒng)的啟動流程從NTLDR開始。NTLDR通過讀取BOOT.INI文件,確定操作系統(tǒng)啟動分區(qū)的位置。對于只有一個操作系統(tǒng)的電腦,NTLDR啟動NTDETECT.COM開始下一步的啟動流程,而對于含有多重啟動操作系統(tǒng)的電腦,NTLDR將把BOOT.INI的選擇菜單內(nèi)容顯示在屏幕上供使用者選擇。可見,NTLDR是決定多重啟動系統(tǒng)的關鍵性文件。而常見的啟動出錯提示也是:“NTLDR is missing.”。那么其他的文件又有什么用處呢?
NTDETECT.COM是一個用于對硬件設備初始化的一個系統(tǒng)級別的文件,然后把這些硬件信息傳遞給下一個啟動步驟,最終完成操作系統(tǒng)的啟動。需要說明的是,這個文件僅存于NT架構(gòu)的操作系統(tǒng)里面,而在Win9X下的啟動流程又是另外的一種方式。
以上3個文件的重要性已經(jīng)為不少讀者有所了解,但是下面這個文件的重要性恐怕很少有人知道了。這個文件就是在多重啟動中啟動Win9X操作系統(tǒng)的一個非常關鍵的文件:BOOTSECT.DOS。從名字上是看不出這個文件有什么特殊的用途的,但是如果你的多重啟動操作系統(tǒng)組合里面含有Win9X,那么你一定可以在C盤根目錄發(fā)現(xiàn)這個文件。這個文件不大,只有512字節(jié)。其實這個文件里面存放的就是大家非常熟悉的啟動扇區(qū)里面的全部數(shù)據(jù)。那這個文件是如何產(chǎn)生的呢?當NTLDR被安裝的時候,安裝程序自動地將原先的啟動扇區(qū)保存為BOOTSECT.DOS文件,然后使用新的啟動數(shù)據(jù)覆蓋這個扇區(qū)。當這個文件丟失的時候,你再選擇啟動Win9X時,你看到的不再是熟悉的藍天白云的啟動畫面,而是屏幕上的一串英文提示,翻譯過來的大意就是I/O錯誤,系統(tǒng)無法啟動。為什么會這樣?因為NTLDR從你的選擇中得知你將啟動Win9X系統(tǒng),然后去讀取BOOTSECT.DOS文件以開始Win9X啟動流程,但是由于BOOTSECT.DOS文件不存在,所以啟動過程當然會失敗了。
另外一個比較重要的文件就是BOOTFONT.BIN。這個文件實際上就是一個中文字體庫,用于在啟動的時候有中文顯示。否則你看到的只有滿屏的英文提示。
以上5個文件全部位于C盤根目錄下,而且都具有一定的屬性,例如隱藏、系統(tǒng)、只讀等。察看、修改這些文件需要先取消這些特別屬性,否則你的操作將不能夠進行。
二、需要注意的問題
NTLDR、NTDETECT.COM兩個文件具有向下兼容性,但是不具有向上兼容性,也就是說你可以使用Windows XP的這兩個文件啟動Windows 2000,但是卻不能夠啟動Windows Server 2003,這也解釋了為什么很多朋友在已經(jīng)安裝有Windows XP的電腦上安裝Windows 2000以后啟動Windows XP失敗的原因。解決方法其實很簡單:從Windows XP安裝光盤里面取出這兩個文件覆蓋C盤根目錄上的同名文件即可。還有就是那個容易被大家忽略的BOOTSECT.DOS文件,一旦這個文件丟失或損壞,當然是不能夠啟動Win9X了。解決方法也很簡單:插入一張Win9X啟動盤,執(zhí)行SYS C:命令,然后重新啟動,這個時候Win9X的啟動已經(jīng)恢復,只要重新運行WinNT安裝光盤,選擇修復即可恢復多重啟動的選擇啟動模式。