概述
簡介
NTLDR全稱是NT Loader,是系統載入程式
NTLDR檔案是Windows NT/windows 2000/windows XP/windows server 2003的引導檔案,當此檔案丟失時啟動系統會提示"NTLDR is missing..."並要求按任意鍵重新啟動,不能正確進入系統,所以應該在系統正常的時候給予備份。
檔案作用
NTLDR一般存放於C糟根目錄下,是一個具有隱藏和唯讀屬性的系統檔案。它的主要職責是解析Boot.ini檔案
修復檔案
正常系統引導過程
NTLDR檔案的是一個隱藏的,唯讀的系統檔案,位置在系統盤的根目錄,用來裝載作業系統。
一般情況系統的引導過程是這樣的代碼
1:電源自檢程式開始運行
2:主引導記錄被裝入記憶體,並且程式開始執行
3:活動分區的引導扇區被裝入記憶體
4:NTLDR從引導扇區被裝入並初始化
5:將處理器的實模式改為32位平滑記憶體模式
6:NTLDR開始運行適當的小檔案系統驅動程式。
小檔案系統驅動程式是建立在NTLDR內部的,它能讀FAT或NTFS。
7:NTLDR讀boot.ini檔案
8:NTLDR裝載所選作業系統
如果windows NT/windows 2000/windows XP/windows server 2003這些作業系統被選擇,NTLDR運行Ntdetect。
對於其他的作業系統,NTLDR裝載並運行Bootsect.dos然後向它傳遞控制。
windows NT過程結束。
9:Ntdetect搜尋計算機硬體並將列表傳送給NTLDR,以便將這些信息寫進\\HKE Y_LOCAL_MACHINE\HARDWARE中。
10:然後NTLDR裝載Ntoskrnl.exe,Hal.dll和系統信息集合。
11:Ntldr搜尋系統信息集合,並裝載設備驅動配置以便設備在啟動時開始工作
12:Ntldr把控制權交給Ntoskrnl.exe,這時,啟動程式結束,裝載階段開始
Windows XP出現此故障的解決辦法
當此檔案丟失時,我們可以從安裝光碟上進行提取,方法是:
1:進入系統故障恢復控制台。
2:轉到C糟。
3:輸入"copy X:\I386\NTLDR c:\"(說明:X為光碟機盤符)並回車,如果系統提示要否覆蓋則按下"Y",
輸入"copy X:\I386\Ntdetect c:\",並回車,
之後輸入exit命令退出控制台重新啟動即可。
今天剛遇到的一種情況:使用新硬碟安裝系統時,在進行格式化未完成時突然重啟,再啟動時就出現NTLDR IS MISSING這個提示,換了一個新的硬碟後才沒有這個提示。
Windows server 2003出現此故障的解決辦法
1:用Windows server 2003的安裝盤啟動電腦,進入Windows Server 2003的安裝界面;
2:界面提示“要修復Windows server 2003的安裝,請按R”,按R鍵繼續;
3:螢幕出現故障恢復控制台提示“C:\Winnt,要登錄到哪個Windows server 2003安裝(要取消,請按Enter)?”,在此鍵入“1”,然後按Enter鍵;
4:鍵入管理員密碼,然後按Enter鍵;
5:鍵入Copy H:\WIN2003\ENT\I386\Ntldr c:\,按ENTER鍵(註:我使用的光碟是Windows 2003二合一光碟,如果是其他的安裝盤,可以使用搜尋命令查找一下ntldr檔案的位置,一般在i386目錄下。“h”為我的光碟驅動器號)如果系統提示您是否覆蓋檔案,鍵入Y,然後按Enter鍵。
最近一段時間我出現了這種情況,每次開機,都出現NTLDR is missing,press any key to restart,後面還有一句忘了,出現這種情況後,我重啟開機按F10進入選擇啟動項,選擇硬碟啟動,進去了,呵呵,如果你出現這種情況,也可以試試這種方法。
NTLDR is missing解決方法
用windows xp光碟啟動電腦,出現“歡迎使用安裝程式”螢幕時,按R鍵啟動故障恢復控制台。如果您使用的是雙啟動或多啟動計算機,請選擇需要從故障恢復控制台訪問的安裝。根據提示,鍵入管理員密碼。如果管理員密碼為空,只需按Enter鍵。在命令提示符下輸入:copy X:\i386\ntldr C:\(回車),copy X:\i386\ntdetect C:\(回車),(X:你的光碟機,C:作業系統安裝目錄)如果系統提示是否覆蓋檔案,鍵入y,然後按回車鍵。要查看有關特定命令的信息,請在命令提示符下鍵入help命令名,然後按Enter鍵。要退出並重新啟動計算機,請在命令提示符下鍵入exit,然後按Enter鍵。
處理過程發現,將系統盤放入引導後,也能正常啟動。可能是因為系統丟失了ntldr和ntdetect檔案,所以在系統盤中找到。正常啟動。然後直接在系統盤裡找到了ntldr和ntdetect,直接複製到C糟目錄下。
(注意:電腦出現NTLDR is missing問題的原因也有可能由於主系統盤未設定成活動分區引起,這時可進winpe用磁碟管理工具來設定活動分區)
另外,如果沒有及時的光碟,可以使用u盤系統進行系統維護。(如果電腦是在恢復系統突然斷電的情況下)
過程作用
NTLDR一般存放於C糟根目錄下,是一個具有隱藏和唯讀屬性的系統檔案。它的主要職責是解析Boot.ini檔案。如果你對它的理解還不是很清楚,那么下面我們就以Windows XP為例介紹NTLDR在系統引導過程中的作用。
Windows XP在引導過程中將經歷預引導、引導和載入核心三個階段,這與Windows 9X直接讀取引導扇區的方式來啟動系統是完全不一樣的,NTLDR在這三個階段的引導過程中將起到至關重要的作用。
預引導
在預引導階段里計算機所做的工作有:運行POST程式,POST將檢測系統的總記憶體以及其他硬體設備的狀況,將磁碟第一個物理扇區載入到記憶體,載入硬碟主引導記錄並運行,主引導記錄會查找活動分區的起始位置。接著活動分區的引導扇區被載入並執行,最後從引導扇區載入並初始化NTLDR檔案。
引導
在引導階段中,Windows XP將會依次經歷初始引導載入器階段、作業系統選擇階段、硬體檢測階段以及配置選擇階段這四個小的階段。
1:在初始引導載入器階段中,NTLDR將把計算機的微處理器從實模式轉換為32位平面記憶體模式,在實模式中,系統會為MS-DOS預留640KB大小的記憶體空間,其餘的記憶體都被看做是擴展記憶體,在32位平面模式中系統將所有記憶體都視為可用記憶體,然後NTLDR執行適當的小型檔案系統驅動程式,這時NTLDR可以識別每一個用NTFS或FAT格式的檔案系統分區,至此初始引導載入器階段結束。
2:當初始引導載入器階段結束後將會進入作業系統選擇階段,如果計算機上安裝了多個作業系統,由於NTLDR載入了正確的Boot.ini檔案,那么在啟動的時候將會出現要求選擇作業系統的選單,NTLDR正是從boot.ini檔案中查找到系統檔案的分區位置。如果選擇了NT系統,那么NTLDR將會運行NTDETECT檔案,否則NTLDR將載入BOOTSECT.DOS,然後將控制權交給BOOTSECT.DOS。如果Boot.ini檔案中只有一個作業系統或者其中的timeout值為0,那么將不會出現選擇作業系統的選單畫面,如果Boot.ini檔案非法或不存在,那么NTLDR將會嘗試從默認系統卷啟動系統。
小提示:NTLDR啟動後,如果在系統根目錄下發現有Hiberfil.sys檔案且該檔案有效,那么NTLDR將讀取Hiberfil.sys檔案里的信息並讓系統恢復到休眠以前的狀態,這時並不處理Boot.ini檔案。
3:當作業系統選擇階段結束後將會進入硬體檢測階段,這時NTDETECT檔案將會收集計算機中硬體信息列表,然後將列表返回到NTLDR,這樣NTLDR將把這些硬體信息載入到註冊表“HKEY_LOCAL_MACHINE”中的Hardware中。
4:硬體檢測階段結束後將會進入配置選擇階段,如果有多個硬體配置列表,那么將會出現配置檔案選擇選單,如果只有一個則不會顯示。
載入核心
在載入核心階段中,NTLDR將載入NTOSKRNL.EXE核心程式,然後NTLDR將載入硬體抽象層(HAL.dll),接著系統將載入註冊表中的“HKEY_LOCAL_MACHINE\System”鍵值,這時NTLDR將讀取“HKEY_LOCAL_MACHINE\System\select”鍵值來決定哪一個ControlSet將被載入。所載入的ControlSet將包含設備的驅動程式以及需要載入的服務。再接著NTLDR載入註冊表“HKEY_LOCAL_MACHINE\System\service”下的start鍵值為0的底層設備驅動。當ControlSet的鏡像CurrentControlSet被載入時,NTLDR將把控制權傳遞給NTOSKRNL.EXE,至此引導過程將結束。
小提示:如果在啟動的時候按F8鍵,那么我們將會在啟動選單中看到多種選擇啟動模式,這時NTLDR將根據用戶的選擇來使用啟動參數載入NT核心,用戶也可以在Boot.ini檔案里設定啟動參數。
NTLDR具有向下兼容性,也就是說高版本的NTLDR可以啟動低版本的Windows NT作業系統,目前最新版本的NTLDR是在Windows Server 2003 SP1附帶的版本。
如果你已經安裝了一個高版本的作業系統,那么如果再想安裝一個低版本的作業系統,那么低版本的作業系統在安裝後會出現無法進入原來高版本的作業系統的故障。問題的原因是低版本的NTLDR和NTDETECT不能識別高版本作業系統的NTOSKRNL.EXE,從而造成系統不能正常啟動。
解決方法
只要將高版本的NTLDR和NTDETECT替換低版本的NTLDR和NTDETEC即可(這兩個檔案可以從安裝光碟上提取)。如果是BOOTSECT.DOS檔案丟失或損壞,那么只要插入一張Windows 9X啟動盤,然後執行SYS C:命令,重新啟動系統,接著需要將Windows NT架構的安裝光碟選擇修復安裝即可恢復多重啟動選單。
系統崩潰時禁止自動重啟
從Windows XP SP2系統開始,執行安裝程式時將會檢測NTLDR和NTDETEC的版本,如果發現現有版本比安裝程式上的版本新的話,那么將採用現有版本而不採用安裝程式上的NTLDR和NTDETECT版本。
在Windows XP SP2以前,系統在崩潰時往往會自動重啟,而現在,微軟在NTLDR中增加了一個選項,那么就是:系統崩潰時禁止自動重啟(Disable automatic restart on system failure),朋友們可以通過在啟動時按F8鍵從高級啟動選單中找到這個選項,如果啟用了這個選項,Windows在啟動過程中如果發生致命錯誤,那么將以顯示藍屏信息取代自動重啟的設定,除此之外,我們也可以通過在系統屬性中來關閉自動重啟的設定。
具體操作方法
在“系統屬性”視窗中點擊“高級”標籤,然後在“啟動和故障恢復”欄里點擊“設定”按鈕,接著在打開的“啟動和故障恢復”視窗中取消“系統失敗”欄中“自動重新啟動”這一選項的選中狀態,點擊“確定”,然後再在彈出的警告視窗中點擊“確定”即可。