電腦開機啟動時提示(顯示)NTLDR文件丟失解決辦法及原因分析
一、其實WINDOWS XP這個NTLDR文件丟失有個最簡便的解決辦法,不需要任何其它工具,就地起死回生。
1、用其它任何方式啟動電腦。
2、用DIR NTLDR /S命令從備份文件中找出這個文件。路徑比較長,比照抄下就行,復制到C盤根目錄下。
3、關鍵是寫入硬盤,不能COPY完就了事,必須執行DEBUG NTLDR命令。命令行中執行W命令寫入,Q命令退出。這樣才能保證真正寫入硬盤。
4、重新啟動。怎么樣?讓我苦苦盼望的畫面馬上回來了,是否有點熱淚盈洭呢。哈,別謝我,同是天涯淪落人,不過我比你先倒霉,找到解決它的辦法罷了,別忘了如果你也有什么好東東與我分享
二、修復 Windows XP 啟動系統
2.放入 Windows XP 光盤 在光盤驅動器內啟動電腦
3.讓光盤自動執行至停止便會出現叁個選擇,按〔R〕選修復電腦便會詢問要進入 哪個系統,請選擇 Windows XP 的代號,然后輸入 Administrator 密碼 (與安裝時輸入的 Administrator 密碼相同) 如果沒有密碼直接按輸入鍵便可
4.在 C:\Windows> 下鍵入 Fixboot 及按〔Y〕確認
5.在 C:\Windows> 下鍵入 光盤 \
6.在 C:\> 下鍵入 ATTRIB -H NTLDR
7.在 C:\> 下鍵入 ATTRIB -S NTLDR
8.在 C:\> 下鍵入 ATTRIB -R NTLDR
9.在 C:\> 下鍵入 ATTRIB -H NTDETECT.COM
10.在 C:\> 下鍵入 ATTRIB -S NTDETECT.COM
11.在 C:\> 下鍵入 ATTRIB -R NTDETECT.COM
12.在 C:\> 下鍵入 COPY X:\I386\NTLDR C:\ 注: X: 是光盤驅動器的代號下同
13.在 C:\> 下鍵入 COPY X:\I386\NTDETECT.COM C:\
14.完成后取出 Win XP 光盤及鍵入〔Exit〕會重新啟動電腦
15.在 BIOS 選回用硬盤啟動電腦便可
16.使用中文版 Windows XP 如啟動時選單出現亂碼者可在進入 Windows XP 后將 Windows XP 光盤 I386 目錄下的bootfont.bin 復制至 C 盤的根目錄下便可,如使用英文版 Windows XP 者把 bootfont.bin 從 C 盤的根目錄下刪除便可
解決辦法:
·如果 MFT 根文件夾碎片較多,則可能會出現此問題。如果 MFT 根文件夾包含多個文件,則 MFT 就會變得非常零碎,以至于需要另外創建一個分配索引。因為文件是按字母順序映射到分配索引中的,NTLDR 文件可能會被推到第二個分配索引中。如果發生此現象,就會看到NTLDR is missing Press CTRL+ALT+DEL to restart.描述的錯誤信息。
一般情況下不將文件寫入根文件夾。如果一個程序定期在根文件夾中創建和刪除臨時文件,或者將許多文件誤復制到根文件夾,就會造成這一情況。
這個問題是在您將多個文件復制到使用 NTFS 文件系統的啟動卷的根文件夾后出現,這個問題已經在Windows 2000 SP4中解決。所以,請您檢查您的SP狀態。 至于解決的方法:
使用恢復控制臺
1.. 使用 Windows 2000 安裝盤重新啟動計算機,或使用 Windows 2000 光盤重新啟動計算機。
2.. 在“歡迎使用安裝程序”屏上,按 R 鍵修復 Windows 2000 安裝。
3.. 按 C 鍵通過使用“恢復控制臺”修復 Windows 2000 安裝。
4.. 鍵入與要修復的 Windows 安裝對應的數字,然后按 Enter 鍵。例如,鍵入 1,然后按 Enter 鍵。有關其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章: 鍵入管理員密碼,然后按 Enter 鍵。
5.. 鍵入 map,然后按 ENTER 鍵。記下分配給包含 Windows 2000 光盤的 CD-ROM驅動器的驅動器號。
6.. 鍵入以下命令,在鍵入每個命令后按 ENTER 鍵,其中 drive 是您在本文
“方法 2:使用恢復控制臺”中的第 4 步鍵入的驅動器號:
copy drive:i386ntldr c:
copy drive:i386ntdetect.com c:
如果系統提示您覆蓋現有文件,請鍵入 y,然后按 Enter 鍵。
注意:在這些命令中,ntldr 和 c: 之間以及 ntdetect.com 和 c: 之間各有一個空格。
7.. 鍵入下面的命令,然后按 ENTER 鍵:
type c:Boot.ini
出現一個類似如下的列表:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000 Professional" /fastdetect
如果收到以下消息,則 Boot.ini 文件可能丟失或損壞:
The system cannot find the file or directory specified.
8.. 如果 Boot.ini 文件丟失或損壞,請創建一個新的。為此,請按照下列步驟操作:
1.. 使用文本編輯器,如記事本或 Edit.com 創建一個類似于以下內容的啟動加載程序文件:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000 Professional" /fastdetect有關其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章: 102873 BOOT.INI and ARC Path Naming Conventions and Usage
301680 HOW TO:Create a Boot Disk for an NTFS or FAT Partition in Windows
2.. 將該文件作為 Boot.ini 保存到磁盤。
注意:如果您是使用記事本創建的文件,請確保 .txt 擴展名沒有附加在Boot.ini 文件名后面。
3.. 在恢復控制臺命令提示符下鍵入下面的命令,將 Boot.ini 文件從軟盤復制到計算機:
copy a:Boot.ini c:
9.. 鍵入 exit,然后按 ENTER 鍵。計算機將會重新啟動
在電腦的日常使用過程中,可能有許多人碰到過開機后,提示“NTLDR is Missing Press any key to restart”(NTLDR文件丟失,按任何鍵重新啟動),無法正常進入系統。很多人可能手足無措,尤其是第一次碰到這個問題的人,可能不知道怎么解決,或者選擇重新安裝操作系統。其實完全不必要的。下面就詳細講解產生個問題的原因及處理解決辦法:
一、原因:
1、突然停電;
2、在高版本系統的基礎上安裝低版本的操作系統;
3、非正常關機或重起(直接關掉電源按鈕或按下Reset鍵);
4、NTLDR文件被破壞或刪除。這些都很容易造成NTLDR文件的丟失,這樣在開機時就會出現“NTLDR is Missing Press any key to restart”的故障提示。
二、解決辦法:
1、在“故障恢復控制臺”中進行解決。啟動電腦按"DEL"進入BIOS設置,改為從光驅啟動,然后保存退出,把Windows XP安裝光盤放入光驅中,進入故障恢復控制臺,在故障恢復控制臺的命令狀態下輸入“copy x:\i386\ntldr c:\”命令并回車即可(“x”為光驅所在的盤符),然后執行“copy x:\i386\ntdetect.com c:\”命令,如果提示是否覆蓋文件,則鍵入“y”確認,并按回車鍵。輸入“exit”命令退出控制臺,重新啟動。
2、更簡單的辦法——DOS下copy NTLDR文件。用軟盤或光盤引導,啟動電腦進入DOS,使用“dir NTLDR /s”命令從備份文件中找出這個文件(路徑比較長,對照著抄下),然后復制到C盤根目錄下“copy ……\ntldr c:\”,接著是關鍵步驟——寫入硬盤(不能COPY完就了事),必須執行“DEBUG NTLDR”命令,然后執行“W”命令寫入,“Q”命令退出,這樣才能保證真正寫入硬盤,最后重新啟動。
有時,Boot.ini文件也會同時損壞或丟失,可到其他安裝Windows XP的電腦中復制該文件,將它拷貝到C盤下,然后重啟即可。
三、NTLDR文件是做什么的?
NTLDR文件是winnt/win200/WinXP/Win2003/WinVista等WIN NT架構操作系統的引導文件,NTLDR文件的是一個隱藏的,只讀的系統文件,位置在系統盤的根目錄,用來裝載操作系統。
一般情況系統的引導過程是這樣的:
1、電源自檢程序開始運行
2、主引導記錄被裝入內存,并且程序開始執行
3、活動分區的引導扇區被裝入內存
4、NTLDR從引導扇區被裝入并初始化
5、將處理器的實模式改為32位平滑內存模式
6、NTLDR開始運行適當的小文件系統驅動程序。小文件系統驅動程序是建立在NTLDR內部的,它能讀FAT或NTFS。
7、NTLDR讀boot.ini文件
8、NTLDR裝載所選操作系統,如果NT/XP被選擇,NTLDR運行Ntdetect.com,對于其他的操作系統,NTLDR裝載并運行Bootsect.dos然 后向它傳遞控制。windows NT過程結束。
9.Ntdetect.com搜索計算機硬件并將列表傳送給NTLDR,以便將這些信息寫進HKE Y_LOCAL_MACHINEHARDWARE中。
10.然后NTLDR裝載Ntoskrnl.exe,Hal.dll和系統信息集合。
11.Ntldr搜索系統信息集合,并裝載設備驅動配置以便設備在啟動時開始工作
12.Ntldr把控制權交給Ntoskrnl.exe,這時,啟動程序結束,裝載階段開始。
四、建議
在系統正常的時候備份NTLDR、Boot.ini等重要系統引導文件。使用中文版Windows XP如啟動時選單出現亂碼者,可在進入Windows XP后,將Windows XP光盤 I386 目錄下的bootfont.bin 復制至 C 盤的根目錄下便可,如使用英文版 Windows XP 者把 bootfont.bin 從 C 盤的根目錄下刪除便可。
?
五、[更詳細的參考資料]
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 2008 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在啟動過程中如果發生致命錯誤,那么將以顯示藍屏信息取代自動重啟的設置,除此之外,我們也可以通過在系統屬性中來關閉自動重啟的設置。
具體操作方法:
在“系統屬性”窗口中點擊“高級”標簽,然后在“啟動和故障恢復”欄里點擊“設置”按鈕,接著在打開的“啟動和故障恢復”窗口中取消“系統失敗”欄中“自動重新啟動”這一選項的選中狀態,點擊“確定”,然后再在彈出的警告窗口中點擊“確定”即可。
評論