玩轉Windows多重啟動的重要檔案

2021-08-22 04:08:49 字數 2353 閱讀 6391

現在安裝多重啟動系統的朋友越來越多了,但是很少有人能夠完全知道,在多重啟動系統中的幾個重要檔案的作用是什麼。下面讓筆者簡單地予以介紹,希望大家以後能關注這些檔案,以備不時之需。

由於windows 95/98/me(以下簡稱win9x)和windows nt/2000/xp/server 2003(以下簡稱winnt)的引導方式完全不同,所以在多重啟動系統裡面,微軟採用了一種很巧妙的方式來解決這個問題。win9x採用的直接讀取引導扇區的方式來啟動系統,而winnt是通過ntldr和ntdetect.com來啟動系統的。這也是為什麼win9x害怕引導區計算機病毒的原因之一。需要說明的是,在winnt架構的啟動程序中,有乙個檔案也是需要注意的,這個檔案就是經常被大家掛在嘴邊的boot.ini檔案。由於這個檔案的重要性被過度強化,給大家造成了這個檔案是無所不能的一種錯誤的印象,也就出現了一些「經典」的錯誤。例如「備份雙系統啟動檔案只需要備份c盤根目錄下得boot.ini檔案就可以了」。其實不然,在某些情況下,只備份這個檔案是不能夠解決問題的。詳細的解釋請看後面的說明。

一、最重要的五個檔案

本文將分析在多重啟動系統中起重要作用的檔案,它們分別是以下幾個:boot.ini、bootfont.bin、bootsect.dos、ntdetect.com、ntldr。其中boot.ini是大家非常熟悉的乙個配置檔案。從這個檔案可以選擇啟動的作業系統是什麼?而且還可以通過修改boot.ini檔案控制啟動的方式,如在作業系統說明符後面加上「/fastdetect」引數,可以使用快速自檢模式。同樣,還有「/nodetect」等引數可供使用。但是,不是說沒有這個檔案就不能夠啟動你的作業系統,丟失這個檔案的後果就是只能從c盤啟動。同時,由於這個檔案是完完全全的乙個文字型別的檔案,我們可以使用任何文字編輯工具編輯這個檔案。換句話說,boot.ini在多重啟動系統中不是最重要的乙個檔案,也就說不上「備份雙系統啟動檔案只要備份c盤根目錄下的boot.ini檔案就可以了」。

熟悉多重啟動系統啟動模式的朋友們都知道,作業系統的啟動流程從ntldr開始。ntldr通過讀取boot.ini檔案,確定作業系統啟動分割槽的位置。對於只有乙個作業系統的電腦,ntldr啟動ntdetect.com開始下一步的啟動流程,而對於含有多重啟動作業系統的電腦,ntldr將把boot.ini的選擇選單內容顯示在螢幕上供使用者選擇。可見,ntldr是決定多重啟動系統的關鍵性檔案。而常見的啟動出錯提示也是:「ntldr is missing.」。那麼其他的檔案又有什麼用處呢?

ntdetect.com是乙個用於對硬體裝置初始化的乙個系統級別的檔案,然後把這些硬體資訊傳遞給下乙個啟動步驟,最終完成作業系統的啟動。需要說明的是,這個檔案僅存於nt架構的作業系統裡面,而在win9x下的啟動流程又是另外的一種方式。

以上3個檔案的重要性已經為不少讀者有所了解,但是下面這個檔案的重要性恐怕很少有人知道了。這個檔案就是在多重啟動中啟動win9x作業系統的乙個非常關鍵的檔案:bootsect.dos。從名字上是看不出這個檔案有什麼特殊的用途的,但是如果你的多重啟動作業系統組合裡面含有win9x,那麼你一定可以在c盤根目錄發現這個檔案。這個檔案不大,只有512位元組。其實這個檔案裡面存放的就是大家非常熟悉的啟動扇區裡面的全部資料。那這個檔案是如何產生的呢?當ntldr被安裝的時候,安裝程式自動地將原先的啟動扇區儲存為bootsect.dos檔案,然後使用新的啟動資料覆蓋這個扇區。當這個檔案丟失的時候,你再選擇啟動win9x時,你看到的不再是熟悉的藍天白雲的啟動畫面,而是螢幕上的一串英文提示,翻譯過來的大意就是i/o錯誤,系統無法啟動。為什麼會這樣?因為ntldr從你的選擇中得知你將啟動win9x系統,然後去讀取bootsect.dos檔案以開始win9x啟動流程,但是由於bootsect.dos檔案不存在,所以啟動過程當然會失敗了。

另外乙個比較重要的檔案就是bootfont.bin。這個檔案實際上就是乙個中文字型庫,用於在啟動的時候有中文顯示。否則你看到的只有滿屏的英文提示。

以上5個檔案全部位於c盤根目錄下,而且都具有一定的屬性,例如隱藏、系統、唯讀等。察看、修改這些檔案需要先取消這些特別屬性,否則你的操作將不能夠進行。

二、需要注意的問題

ntldr、ntdetect.com兩個檔案具有向下相容性,但是不具有向上相容性,也就是說你可以使用windows xp的這兩個檔案啟動windows 2000,但是卻不能夠啟動windows server 2003,這也解釋了為什麼很多朋友在已經安裝有windows xp的電腦上安裝windows 2000以後啟動windows xp失敗的原因。解決方法其實很簡單:從windows xp安裝光碟裡面取出這兩個檔案覆蓋c盤根目錄上的同名檔案即可。還有就是那個容易被大家忽略的bootsect.dos檔案,一旦這個檔案丟失或損壞,當然是不能夠啟動win9x了。解決方法也很簡單:插入一張win9x啟動盤,執行sys c:命令,然後重新啟動,這個時候win9x的啟動已經恢復,只要重新執行winnt安裝光碟,選擇修復即可恢復多重啟動的選擇啟動模式。

vista xp linux多重啟動

ubuntu與xp或vista多啟動問題 ubuntu與xp或vista多啟動問題 a,如果是xp vista 與ubuntu之間,先裝xp,後裝ubuntu,ubuntu會在grub中加入xp啟動項。可以手動新增 對應xp,vista,2003的 title microsoft windows x...

Windows 與Linux 的雙重啟動

windows 與linux 的雙重啟動 由linux 引導 計算機上已存在windows 系統的情況下安裝linux,並且選擇把引導資料寫到 hda1,那麼linux就會自動把windows 系統的 啟動選項新增到啟動選單中以供選擇。雙重啟動問題自動解決,不需贅述。由windows 引導 如果計算...

Windows 與Linux 的雙重啟動

windows 與linux 的雙重啟動 由linux 引導 計算機上已存在windows 系統的情況下安裝linux,並且選擇把引導資料寫到 hda1,那麼linux就會自動把windows 系統的 啟動選項新增到啟動選單中以供選擇。雙重啟動問題自動解決,不需贅述。由windows 引導 如果計算...