倍可親

回復: 1
列印 上一主題 下一主題

玩轉Windows多重啟動的重要文件

[複製鏈接]

1萬

主題

1萬

帖子

1萬

積分

八級貝殼核心

倍可親終生會員(廿一級)

Rank: 5Rank: 5

積分
18033
跳轉到指定樓層
樓主
kent 發表於 2006-6-29 07:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
現在安裝多重啟動系統的朋友越來越多了,但是很少有人能夠完全知道,在多重啟動系統中的幾個重要文件的作用是什麼。下面讓筆者簡單地予以介紹,希望大家以後能關注這些文件,以備不時之需。

  由於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安裝光碟,選擇修復即可恢復多重啟動的選擇啟動模式。

683

主題

2060

帖子

1218

積分

二星貝殼精英

Rank: 4

積分
1218
沙發
nqk1949 發表於 2006-6-29 08:10 | 只看該作者
謝Kent總斑竹!
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-7-21 14:57

快速回復 返回頂部 返回列表