解決 NTLDR is missing 的問題

今天修了一台電腦,因為不明的原因這台電腦在開機時會顯示"NTLDR is missing"的錯誤訊息,會出現這個問題簡單的說就是NTLDR檔案損壞無法使用。NTLDR是NT Loader的簡寫,顧名思義是NT系統開機的必要檔案。會出現此問題的原因可能是由於儲存該檔案的媒體(如硬碟)毀損、無法正常存取、或是由於MFT(Master File Table)包含太多檔案,導致系統因MFT太過分散而增加索引(按照字母排列),使得NTLDR被放置在其他索引中,系統找不到該檔案故無法正常開機。(此問題在Windows XP SP2以及Windows 2000 SP4中已獲得修正)

解決的方法很簡單,把NTLDR檔以及NTDETECT.COM檔複製到該電腦的C:底下即可(以Windows安裝在C:\WINDOWS為例)

NTLDR以及NTDETECT.COM檔案在Windows安裝光碟中的I386資料夾中都有,在正常Windows電腦的C:底下也有(不過可能不會顯示,須更改設定為顯示隱藏檔及系統檔,才能正常顯示)

具體的做法很多,只要能達到以上目的即可,若手邊有Windows安裝光碟以及知道Administrator密碼的話,可以使用以下方法:

方法一:

(假設該電腦的Windows是裝在C:\WINDOWS,光碟機代號為D:)

1.確定電腦的開機順序光碟機在硬碟之前(可於開機時進入BIOS設定)

2.使用Windows安裝光碟開機,按R進入修復主控台

3.選擇欲修復的作業系統(例如:1. C:\WINDOWS)

4.輸入Administrator密碼(如未設定密碼可直接按Enter)

5.輸入 copy D:\I386\NTLDR C:
copy D:\I386\NTDETECT.COM C:
(若系統詢問是否覆蓋檔案請按Y)

6.輸入exit

接著電腦會重新啟動,應該就可以正常進入Windows了

若是沒有Administrator密碼的話,可改用以下做法

方法二:

1.建立一份可開機媒體(如3.5磁片或是光碟片)
建立方法為將C:\底下的boot.ini檔案以及NTLDR、NTDETECT.COM檔案複製到媒體中(boot.ini檔案裡的內容可能需視個別電腦情況進行修改,一般為

[boot loader]
timeout=30
Default= multi(0)disk(0)rdisk(0)partition(1)\windows

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows="Windows XP"

更詳細的方法,請點這裡 )

2.使用該媒體開機,然後將NTLDR以及NTDETECT.COM檔案複製到C:底下

3.完成


在嘗試的過程中我遇到在跑完選擇作業系統的畫面(若電腦中有多個作業系統)後會直接重開機的問題,怎麼跑就是跑不到Windows XP開機的那個有光棒的畫面,結果才發現是NTDETECT.COM忘了複製,複製到C:以後就沒問題了。

參考資料:
http://support.microsoft.com/kb/320397/zh-tw
http://support.microsoft.com/kb/305595/

留言