電腦開機(jī)啟動(dòng)時(shí)提示(顯示)NTLDR文件丟失解決辦法及原因分析
一、其實(shí)WINDOWS XP這個(gè)NTLDR文件丟失有個(gè)最簡便的解決辦法,不需要任何其它工具,就地起死回生。
1、用其它任何方式啟動(dòng)電腦。
2、用DIR NTLDR /S命令從備份文件中找出這個(gè)文件。路徑比較長,比照抄下就行,復(fù)制到C盤根目錄下。
3、關(guān)鍵是寫入硬盤,不能COPY完就了事,必須執(zhí)行DEBUG NTLDR命令。命令行中執(zhí)行W命令寫入,Q命令退出。這樣才能保證真正寫入硬盤。
4、重新啟動(dòng)。怎么樣?讓我苦苦盼望的畫面馬上回來了,是否有點(diǎn)熱淚盈洭呢。哈,別謝我,同是天涯淪落人,不過我比你先倒霉,找到解決它的辦法罷了,別忘了如果你也有什么好東東與我分享
二、修復(fù) Windows XP 啟動(dòng)系統(tǒng)
1.在 BIOS 設(shè)使用光盤驅(qū)動(dòng)器啟動(dòng)電腦
2.放入 Windows XP 光盤 在光盤驅(qū)動(dòng)器內(nèi)啟動(dòng)電腦
3.讓光盤自動(dòng)執(zhí)行至停止便會(huì)出現(xiàn)叁個(gè)選擇,按〔R〕選修復(fù)電腦便會(huì)詢問要進(jìn)入 哪個(gè)系統(tǒng),請(qǐng)選擇 Windows XP 的代號(hào),然后輸入 Administrator 密碼 (與安裝時(shí)輸入的 Administrator 密碼相同) 如果沒有密碼直接按輸入鍵便可
4.在 C:\Windows> 下鍵入 Fixboot 及按〔Y〕確認(rèn)
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: 是光盤驅(qū)動(dòng)器的代號(hào)下同
13.在 C:\> 下鍵入 COPY X:\I386\NTDETECT.COM C:\
14.完成后取出 Win XP 光盤及鍵入〔Exit〕會(huì)重新啟動(dòng)電腦
15.在 BIOS 選回用硬盤啟動(dòng)電腦便可
16.使用中文版 Windows XP 如啟動(dòng)時(shí)選單出現(xiàn)亂碼者可在進(jìn)入 Windows XP 后將 Windows XP 光盤 I386 目錄下的bootfont.bin 復(fù)制至 C 盤的根目錄下便可,如使用英文版 Windows XP 者把 bootfont.bin 從 C 盤的根目錄下刪除便可
解決辦法:
·如果 MFT 根文件夾碎片較多,則可能會(huì)出現(xiàn)此問題。如果 MFT 根文件夾包含多個(gè)文件,則 MFT 就會(huì)變得非常零碎,以至于需要另外創(chuàng)建一個(gè)分配索引。因?yàn)槲募前醋帜疙樞蛴成涞椒峙渌饕械?,NTLDR 文件可能會(huì)被推到第二個(gè)分配索引中。如果發(fā)生此現(xiàn)象,就會(huì)看到NTLDR is missing Press CTRL+ALT+DEL to restart.描述的錯(cuò)誤信息。
一般情況下不將文件寫入根文件夾。如果一個(gè)程序定期在根文件夾中創(chuàng)建和刪除臨時(shí)文件,或者將許多文件誤復(fù)制到根文件夾,就會(huì)造成這一情況。
這個(gè)問題是在您將多個(gè)文件復(fù)制到使用 NTFS 文件系統(tǒng)的啟動(dòng)卷的根文件夾后出現(xiàn),這個(gè)問題已經(jīng)在Windows 2000 SP4中解決。所以,請(qǐng)您檢查您的SP狀態(tài)。 至于解決的方法:
使用恢復(fù)控制臺(tái)
1.. 使用 Windows 2000 安裝盤重新啟動(dòng)計(jì)算機(jī),或使用 Windows 2000 光盤重新啟動(dòng)計(jì)算機(jī)。
2.. 在“歡迎使用安裝程序”屏上,按 R 鍵修復(fù) Windows 2000 安裝。
3.. 按 C 鍵通過使用“恢復(fù)控制臺(tái)”修復(fù) Windows 2000 安裝。
4.. 鍵入與要修復(fù)的 Windows 安裝對(duì)應(yīng)的數(shù)字,然后按 Enter 鍵。例如,鍵入 1,然后按 Enter 鍵。有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫中相應(yīng)的文章: 鍵入管理員密碼,然后按 Enter 鍵。
5.. 鍵入 map,然后按 ENTER 鍵。記下分配給包含 Windows 2000 光盤的 CD-ROM驅(qū)動(dòng)器的驅(qū)動(dòng)器號(hào)。
6.. 鍵入以下命令,在鍵入每個(gè)命令后按 ENTER 鍵,其中 drive 是您在本文
“方法 2:使用恢復(fù)控制臺(tái)”中的第 4 步鍵入的驅(qū)動(dòng)器號(hào):
copy drive:i386ntldr c:
copy drive:i386ntdetect.com c:
如果系統(tǒng)提示您覆蓋現(xiàn)有文件,請(qǐng)鍵入 y,然后按 Enter 鍵。
注意:在這些命令中,ntldr 和 c: 之間以及 ntdetect.com 和 c: 之間各有一個(gè)空格。
7.. 鍵入下面的命令,然后按 ENTER 鍵:
type c:Boot.ini
出現(xiàn)一個(gè)類似如下的列表:
[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 文件丟失或損壞,請(qǐng)創(chuàng)建一個(gè)新的。為此,請(qǐng)按照下列步驟操作:
1.. 使用文本編輯器,如記事本或 Edit.com 創(chuàng)建一個(gè)類似于以下內(nèi)容的啟動(dòng)加載程序文件:
[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有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫中相應(yīng)的文章: 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 保存到磁盤。
注意:如果您是使用記事本創(chuàng)建的文件,請(qǐng)確保 .txt 擴(kuò)展名沒有附加在Boot.ini 文件名后面。
3.. 在恢復(fù)控制臺(tái)命令提示符下鍵入下面的命令,將 Boot.ini 文件從軟盤復(fù)制到計(jì)算機(jī):
copy a:Boot.ini c:
9.. 鍵入 exit,然后按 ENTER 鍵。計(jì)算機(jī)將會(huì)重新啟動(dòng)
在電腦的日常使用過程中,可能有許多人碰到過開機(jī)后,提示“NTLDR is Missing Press any key to restart”(NTLDR文件丟失,按任何鍵重新啟動(dòng)),無法正常進(jìn)入系統(tǒng)。很多人可能手足無措,尤其是第一次碰到這個(gè)問題的人,可能不知道怎么解決,或者選擇重新安裝操作系統(tǒng)。其實(shí)完全不必要的。下面就詳細(xì)講解產(chǎn)生個(gè)問題的原因及處理解決辦法:
一、原因:
1、突然停電;
2、在高版本系統(tǒng)的基礎(chǔ)上安裝低版本的操作系統(tǒng);
3、非正常關(guān)機(jī)或重起(直接關(guān)掉電源按鈕或按下Reset鍵);
4、NTLDR文件被破壞或刪除。這些都很容易造成NTLDR文件的丟失,這樣在開機(jī)時(shí)就會(huì)出現(xiàn)“NTLDR is Missing Press any key to restart”的故障提示。
二、解決辦法:
1、在“故障恢復(fù)控制臺(tái)”中進(jìn)行解決。啟動(dòng)電腦按"DEL"進(jìn)入BIOS設(shè)置,改為從光驅(qū)啟動(dòng),然后保存退出,把Windows XP安裝光盤放入光驅(qū)中,進(jìn)入故障恢復(fù)控制臺(tái),在故障恢復(fù)控制臺(tái)的命令狀態(tài)下輸入“copy x:\i386\ntldr c:\”命令并回車即可(“x”為光驅(qū)所在的盤符),然后執(zhí)行“copy x:\i386\ntdetect.com c:\”命令,如果提示是否覆蓋文件,則鍵入“y”確認(rèn),并按回車鍵。輸入“exit”命令退出控制臺(tái),重新啟動(dòng)。
2、更簡單的辦法——DOS下copy NTLDR文件。用軟盤或光盤引導(dǎo),啟動(dòng)電腦進(jìn)入DOS,使用“dir NTLDR /s”命令從備份文件中找出這個(gè)文件(路徑比較長,對(duì)照著抄下),然后復(fù)制到C盤根目錄下“copy ……\ntldr c:\”,接著是關(guān)鍵步驟——寫入硬盤(不能COPY完就了事),必須執(zhí)行“DEBUG NTLDR”命令,然后執(zhí)行“W”命令寫入,“Q”命令退出,這樣才能保證真正寫入硬盤,最后重新啟動(dòng)。
有時(shí),Boot.ini文件也會(huì)同時(shí)損壞或丟失,可到其他安裝Windows XP的電腦中復(fù)制該文件,將它拷貝到C盤下,然后重啟即可。
三、NTLDR文件是做什么的?
NTLDR文件是winnt/win200/WinXP/Win2003/WinVista等WIN NT架構(gòu)操作系統(tǒng)的引導(dǎo)文件,NTLDR文件的是一個(gè)隱藏的,只讀的系統(tǒng)文件,位置在系統(tǒng)盤的根目錄,用來裝載操作系統(tǒng)。
一般情況系統(tǒng)的引導(dǎo)過程是這樣的:
1、電源自檢程序開始運(yùn)行
2、主引導(dǎo)記錄被裝入內(nèi)存,并且程序開始執(zhí)行
3、活動(dòng)分區(qū)的引導(dǎo)扇區(qū)被裝入內(nèi)存
4、NTLDR從引導(dǎo)扇區(qū)被裝入并初始化
5、將處理器的實(shí)模式改為32位平滑內(nèi)存模式
6、NTLDR開始運(yùn)行適當(dāng)?shù)男∥募到y(tǒng)驅(qū)動(dòng)程序。小文件系統(tǒng)驅(qū)動(dòng)程序是建立在NTLDR內(nèi)部的,它能讀FAT或NTFS。
7、NTLDR讀boot.ini文件
8、NTLDR裝載所選操作系統(tǒng),如果NT/XP被選擇,NTLDR運(yùn)行Ntdetect.com,對(duì)于其他的操作系統(tǒng),NTLDR裝載并運(yùn)行Bootsect.dos然 后向它傳遞控制。windows NT過程結(jié)束。
9.Ntdetect.com搜索計(jì)算機(jī)硬件并將列表傳送給NTLDR,以便將這些信息寫進(jìn)HKE Y_LOCAL_MACHINEHARDWARE中。
10.然后NTLDR裝載Ntoskrnl.exe,Hal.dll和系統(tǒng)信息集合。
11.Ntldr搜索系統(tǒng)信息集合,并裝載設(shè)備驅(qū)動(dòng)配置以便設(shè)備在啟動(dòng)時(shí)開始工作
12.Ntldr把控制權(quán)交給Ntoskrnl.exe,這時(shí),啟動(dòng)程序結(jié)束,裝載階段開始。
四、建議
在系統(tǒng)正常的時(shí)候備份NTLDR、Boot.ini等重要系統(tǒng)引導(dǎo)文件。使用中文版Windows XP如啟動(dòng)時(shí)選單出現(xiàn)亂碼者,可在進(jìn)入Windows XP后,將Windows XP光盤 I386 目錄下的bootfont.bin 復(fù)制至 C 盤的根目錄下便可,如使用英文版 Windows XP 者把 bootfont.bin 從 C 盤的根目錄下刪除便可。
?
五、[更詳細(xì)的參考資料]
NTLDR一般存放于C盤根目錄下,是一個(gè)具有隱藏和只讀屬性的系統(tǒng)文件。它的主要職責(zé)是解析Boot.ini文件。下面我們就以Windows XP為例介紹NTLDR在系統(tǒng)引導(dǎo)過程中的作用。
Windows XP在引導(dǎo)過程中將經(jīng)歷預(yù)引導(dǎo)、引導(dǎo)和加載內(nèi)核三個(gè)階段,這與Windows 9X直接讀取引導(dǎo)扇區(qū)的方式來啟動(dòng)系統(tǒng)是完全不一樣的,NTLDR在這三個(gè)階段的引導(dǎo)過程中將起到至關(guān)重要的作用。
1.預(yù)引導(dǎo)階段
在預(yù)引導(dǎo)階段里計(jì)算機(jī)所做的工作有:運(yùn)行POST程序,POST將檢測系統(tǒng)的總內(nèi)存以及其他硬件設(shè)備的狀況,將磁盤第一個(gè)物理扇區(qū)加載到內(nèi)存,加載硬盤主引導(dǎo)記錄并運(yùn)行,主引導(dǎo)記錄會(huì)查找活動(dòng)分區(qū)的起始位置。接著活動(dòng)分區(qū)的引導(dǎo)扇區(qū)被加載并執(zhí)行,最后從引導(dǎo)扇區(qū)加載并初始化NTLDR文件。
2.引導(dǎo)階段
在引導(dǎo)階段中,Windows XP將會(huì)依次經(jīng)歷初始引導(dǎo)加載器階段、操作系統(tǒng)選擇階段、硬件檢測階段以及配置選擇階段這四個(gè)小的階段。
(1)在初始引導(dǎo)加載器階段中,NTLDR將把計(jì)算機(jī)的微處理器從實(shí)模式轉(zhuǎn)換為32位平面內(nèi)存模式,在實(shí)模式中,系統(tǒng)會(huì)為MS-DOS預(yù)留640KB大小的內(nèi)存空間,其余的內(nèi)存都被看做是擴(kuò)展內(nèi)存,在32位平面模式中系統(tǒng)將所有內(nèi)存都視為可用內(nèi)存,然后NTLDR執(zhí)行適當(dāng)?shù)男⌒臀募到y(tǒng)驅(qū)動(dòng)程序,這時(shí)NTLDR可以識(shí)別每一個(gè)用NTFS或FAT格式的文件系統(tǒng)分區(qū),至此初始引導(dǎo)加載器階段結(jié)束。
(2)當(dāng)初始引導(dǎo)加載器階段結(jié)束后將會(huì)進(jìn)入操作系統(tǒng)選擇階段,如果計(jì)算機(jī)上安裝了多個(gè)操作系統(tǒng),由于NTLDR加載了正確的Boot.ini文件,那么在啟動(dòng)的時(shí)候?qū)?huì)出現(xiàn)要求選擇操作系統(tǒng)的菜單,NTLDR正是從boot.ini文件中查找到系統(tǒng)文件的分區(qū)位置。如果選擇了NT系統(tǒng),那么NTLDR將會(huì)運(yùn)行NTDETECT.COM文件,否則NTLDR將加載BOOTSECT.DOS,然后將控制權(quán)交給BOOTSECT.DOS。如果Boot.ini文件中只有一個(gè)操作系統(tǒng)或者其中的timeout值為0,那么將不會(huì)出現(xiàn)選擇操作系統(tǒng)的菜單畫面,如果Boot.ini文件非法或不存在,那么NTLDR將會(huì)嘗試從默認(rèn)系統(tǒng)卷啟動(dòng)系統(tǒng)。
小提示:NTLDR啟動(dòng)后,如果在系統(tǒng)根目錄下發(fā)現(xiàn)有Hiberfil.sys文件且該文件有效,那么NTLDR將讀取Hiberfil.sys文件里的信息并讓系統(tǒng)恢復(fù)到休眠以前的狀態(tài),這時(shí)并不處理Boot.ini文件。
(3)當(dāng)操作系統(tǒng)選擇階段結(jié)束后將會(huì)進(jìn)入硬件檢測階段,這時(shí)NTDETECT.COM文件將會(huì)收集計(jì)算機(jī)中硬件信息列表,然后將列表返回到NTLDR,這樣NTLDR將把這些硬件信息加載到注冊(cè)表“HKEY_LOCAL_MACHINE”中的Hardware中。
(4)硬件檢測階段結(jié)束后將會(huì)進(jìn)入配置選擇階段,如果有多個(gè)硬件配置列表,那么將會(huì)出現(xiàn)配置文件選擇菜單,如果只有一個(gè)則不會(huì)顯示。
3.加載內(nèi)核階段
在加載內(nèi)核階段中,NTLDR將加載NTOKRNL.EXE內(nèi)核程序,然后NTLDR將加載硬件抽象層(HAL.dll),接著系統(tǒng)將加載注冊(cè)表中的“HKEY_MACHINESystem”鍵值,這時(shí)NTLDR將讀取“HKEY_MACHINESystemselect”鍵值來決定哪一個(gè)ControlSet將被加載。所加載的ControlSet將包含設(shè)備的驅(qū)動(dòng)程序以及需要加載的服務(wù)。再接著NTLDR加載注冊(cè)表“HKEY_LOCAL_MACHINESystemservice”下的start鍵值為0的底層設(shè)備驅(qū)動(dòng)。當(dāng)ControlSet的鏡像CurrentControlSet被加載時(shí),NTLDR將把控制權(quán)傳遞給NTOSKRNL.EXE,至此引導(dǎo)過程將結(jié)束。
小提示:如果在啟動(dòng)的時(shí)候按F8鍵,那么我們將會(huì)在啟動(dòng)菜單中看到多種選擇啟動(dòng)模式,這時(shí)NTLDR將根據(jù)用戶的選擇來使用啟動(dòng)參數(shù)加載NT內(nèi)核,用戶也可以在Boot.ini文件里設(shè)置啟動(dòng)參數(shù)。
NTLDR具有向下兼容性,也就是說高版本的NTLDR可以啟動(dòng)低版本的Windows NT操作系統(tǒng),目前最新版本的NTLDR是在Windows Server 2008 SP1附帶的版本。
如果你已經(jīng)安裝了一個(gè)高版本的操作系統(tǒng),那么如果再想安裝一個(gè)低版本的操作系統(tǒng),那么低版本的操作系統(tǒng)在安裝后會(huì)出現(xiàn)無法進(jìn)入原來高版本的操作系統(tǒng)的故障。問題的原因是低版本的NTLDR和NTDETECT.COM不能識(shí)別高版本操作系統(tǒng)的NTOSKRNL.EXE,從而造成系統(tǒng)不能正常啟動(dòng)。
解決方法:
只要將高版本的NTLDR和NTDETECT.COM替換低版本的NTLDR和NTDETECT.COM即可(這兩個(gè)文件可以從安裝光盤上提取)。如果是BOOTSECT.DOS文件丟失或損壞,那么只要插入一張Windows 9X啟動(dòng)盤,然后執(zhí)行SYS C:命令,重新啟動(dòng)系統(tǒng),接著需要將Windows NT架構(gòu)的安裝光盤選擇修復(fù)安裝即可恢復(fù)多重啟動(dòng)菜單。
小提示:從Windows XP SP2系統(tǒng)開始,執(zhí)行安裝程序時(shí)將會(huì)檢測NTLDR和NTDETECT.COM的版本,如果發(fā)現(xiàn)現(xiàn)有版本比安裝程序上的版本新的話,那么將采用現(xiàn)有版本而不采用安裝程序上的NTLDR和NTDETECT.COM版本。
在Windows XP SP2以前,系統(tǒng)在崩潰時(shí)往往會(huì)自動(dòng)重啟,而現(xiàn)在,微軟在NTLDR中增加了一個(gè)選項(xiàng),那么就是:系統(tǒng)崩潰時(shí)禁止自動(dòng)重啟(Disable automatic restart on system failure),朋友們可以通過在啟動(dòng)時(shí)按F8鍵從高級(jí)啟動(dòng)菜單中找到這個(gè)選項(xiàng),如果啟用了這個(gè)選項(xiàng),Windows在啟動(dòng)過程中如果發(fā)生致命錯(cuò)誤,那么將以顯示藍(lán)屏信息取代自動(dòng)重啟的設(shè)置,除此之外,我們也可以通過在系統(tǒng)屬性中來關(guān)閉自動(dòng)重啟的設(shè)置。
具體操作方法:
在“系統(tǒng)屬性”窗口中點(diǎn)擊“高級(jí)”標(biāo)簽,然后在“啟動(dòng)和故障恢復(fù)”欄里點(diǎn)擊“設(shè)置”按鈕,接著在打開的“啟動(dòng)和故障恢復(fù)”窗口中取消“系統(tǒng)失敗”欄中“自動(dòng)重新啟動(dòng)”這一選項(xiàng)的選中狀態(tài),點(diǎn)擊“確定”,然后再在彈出的警告窗口中點(diǎn)擊“確定”即可。
評(píng)論