ntldr 文件是主要起什麼作用

NTLDR一般存放於C盤根目錄下,是一個具有隱藏和只讀屬性的系統文件。它的主要職責是解析Boot.ini文件。如果你對它的理解還不是很清楚,那麼下面我們就以Windows XP爲例介紹NTLDR在系統引導過程中的作用。

Windows XP在引導過程中將經歷預引導、引導和加載內核三個階段,這與Windows 9X直接讀取引導扇區的方式來啓動系統是完全不一樣的,NTLDR在這三個階段的引導過程中將起到至關重要的作用。

1.預引導階段

在預引導階段裏計算機所做的工作有:運行POST程序,POST將檢測系統的總內存以及其他硬件設備的狀況,將磁盤第一個物理扇區加載到內存,加載硬盤主引導記錄並運行,主引導記錄會查找活動分區的起始位置。接着活動分區的引導扇區被加載並執行,最後從引導扇區加載並初始化NTLDR文件。

2.引導階段

在引導階段中,Windows XP將會依次經歷初始引導加載器階段、操作系統選擇階段、硬件檢測階段以及配置選擇階段這四個小的階段。

(1)在初始引導加載器階段中,NTLDR將把計算機的微處理器從實模式轉換爲32位平面內存模式,在實模式中,系統會爲MS-DOS預留640KB大小的內存空間,其餘的內存都被看做是擴展內存,在32位平面模式中系統將所有內存都視爲可用內存,然後NTLDR執行適當的小型文件系統驅動程序,這時NTLDR可以識別每一個用NTFS或FAT格式的文件系統分區,至此初始引導加載器階段結束。

(2)當初始引導加載器階段結束後將會進入操作系統選擇階段,如果計算機上安裝了多個操作系統,由於NTLDR加載了正確的Boot.ini文件,那麼在啓動的時候將會出現要求選擇操作系統的菜單,NTLDR正是從boot.ini文件中查找到系統文件的分區位置。如果選擇了NT系統,那麼NTLDR將會運行NTDETECT.COM文件,否則NTLDR將加載BOOTSECT.DOS,然後將控制權交給BOOTSECT.DOS。如果Boot.ini文件中只有一個操作系統或者其中的timeout值爲0,那麼將不會出現選擇操作系統的菜單畫面,如果Boot.ini文件非法或不存在,那麼NTLDR將會嘗試從默認系統卷啓動系統。

小提示:NTLDR啓動後,如果在系統根目錄下發現有Hiberfil.sys文件且該文件有效,那麼NTLDR將讀取Hiberfil.sys文件裏的信息並讓系統恢復到休眠以前的狀態,這時並不處理Boot.ini文件。

(3)當操作系統選擇階段結束後將會進入硬件檢測階段,這時NTDETECT.COM文件將會收集計算機中硬件信息列表,然後將列表返回到NTLDR,這樣NTLDR將把這些硬件信息加載到註冊表“HKEY_LOCAL_MACHINE”中的Hardware中。

(4)硬件檢測階段結束後將會進入配置選擇階段,如果有多個硬件配置列表,那麼將會出現配置文件選擇菜單,如果只有一個則不會顯示。

3.加載內核階段

在加載內核階段中,NTLDR將加載NTOKRNL.EXE內核程序,然後NTLDR將加載硬件抽象層(HAL.dll),接着系統將加載註冊表中的“HKEY_MACHINESystem”鍵值,這時NTLDR將讀取“HKEY_MACHINESystemselect”鍵值來決定哪一個ControlSet將被加載。所加載的ControlSet將包含設備的驅動程序以及需要加載的服務。再接着NTLDR加載註冊表“HKEY_LOCAL_MACHINESystemservice”下的start鍵值爲0的底層設備驅動。當ControlSet的鏡像CurrentControlSet被加載時,NTLDR將把控制權傳遞給NTOSKRNL.EXE,至此引導過程將結束。

小提示:如果在啓動的時候按F8鍵,那麼我們將會在啓動菜單中看到多種選擇啓動模式,這時NTLDR將根據用戶的選擇來使用啓動參數加載NT內核,用戶也可以在Boot.ini文件裏設置啓動參數。

NTLDR具有向下兼容性,也就是說高版本的NTLDR可以啓動低版本的Windows NT操作系統,目前最新版本的NTLDR是在Windows Server 2003 SP1附帶的版本。

如果你已經安裝了一個高版本的操作系統,那麼如果再想安裝一個低版本的操作系統,那麼低版本的操作系統在安裝後會出現無法進入原來高版本的操作系統的故障。問題的原因是低版本的NTLDR和NTDETECT.COM不能識別高版本操作系統的NTOSKRNL.EXE,從而造成系統不能正常啓動。

解決方法:

只要將高版本的NTLDR和NTDETECT.COM替換低版本的NTLDR和NTDETECT.COM即可(這兩個文件可以從安裝光盤上提取)。如果是BOOTSECT.DOS文件丟失或損壞,那麼只要插入一張Windows 9X啓動盤,然後執行SYS C:命令,重新啓動系統,接着需要將Windows NT架構的安裝光盤選擇修復安裝即可恢復多重啓動菜單。

小提示:從Windows XP SP2系統開始,執行安裝程序時將會檢測NTLDR和NTDETECT.COM的版本,如果發現現有版本比安裝程序上的版本新的話,那麼將採用現有版本而不採用安裝程序上的NTLDR和NTDETECT.COM版本。

在Windows XP SP2以前,系統在崩潰時往往會自動重啓,而現在,微軟在NTLDR中增加了一個選項,那麼就是:系統崩潰時禁止自動重啓(Disable automatic restart on system failure),朋友們可以通過在啓動時按F8鍵從高級啓動菜單中找到這個選項,如果啓用了這個選項,Windows在啓動過程中如果發生致命錯誤,那麼將以顯示藍屏信息取代自動重啓的設置,除此之外,我們也可以通過在系統屬性中來關閉自動重啓的設置。

具體操作方法:在“系統屬性”窗口中點擊“高級”標籤,然後在“啓動和故障恢復”欄裏點擊“設置”按鈕,接着在打開的“啓動和故障恢復”窗口中取消“系統失敗”欄中“自動重新啓動”這一選項的選中狀態,點擊“確定”,然後再在彈出的警告窗口中點擊“確定”即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章