ntoskrnl.exe損壞或丟失的解決方案
同事的電腦啟動時出現以下提示:“因以下檔案損壞或丟失Windows無法啟動 %systemroot%\system32\ntoskrnl.exe,請重新安裝以上檔案的拷貝”(Windows could not start because the following file is missing or corrupt: \system32\ntoskrnl.exe.Please reinstall a copy of the above file.),我在網上找了很多解決方法,結果都沒用上,反而是磁碟掃描修復了故障。
出現ntoskrnl.exe損壞或丟失提示無法啟動後,首先是想試下安全模式和最後一次正確配置,但都無效,仍是上面的提示。然後用win pe光碟啟動,想網上說的方法拷貝ntoskrnl.exe,但是進入C盤的windows目錄後,突然發現沒有system32資料夾,不僅如此,windows下還少了不少系統資料夾,怪不得會提示找不到ntoskrnl.exe呢。
原先想在PE系統下從以前的GHOST備份檔案中提取整個WINDOWS目錄出來覆蓋,但那和重灌無異,估計大部分應用軟體都得重新安裝。想到system32不見了,可能是硬碟有問題,所以在做下一步決定前先檢查下硬碟有無問題。右擊C盤-屬性-工具-查錯-開始檢查-勾選“自動修復檔案系統錯誤”(另一個“掃描並試圖恢復壞扇區”也可以選上,不過當時想如果到這一步真有壞道還修什麼,所以只選了第一項,也省點時間),執行磁碟掃描檢查程式。等掃描完成,再進入c盤,竟然發現原先丟失的system32等資料夾都回來了,一個都不少,當然ntoskrnl.exe也在。重啟電腦,從硬碟啟動,正常了。
至此修復完成,不過還是把網上收集到的有關修復ntoskrnl.exe丟失或損壞的其它方法在下面列一下,以供參考:
0、有關ntoskrnl.exe的檔案資訊:
ntoskrnl.exe是windows的一個程序檔案,在系統經過預啟動和啟動階段後進入核心呼叫階段時由Ntldr呼叫Ntoskrnl.exe, 在windows系統中儲存了windows啟動LOGO畫面。呼叫Ntoskrnl.exe檔案時將由Ntdetect.com收集的硬體資訊傳遞給它,同時被呼叫的還有hal.dll檔案。如果這個檔案丟失或損壞,Windows Xp啟動時那個Logo就出不來。
1、方法一:
在 "c:\windows\driver cache\i386"目錄下有sp2.cab和sp1.cab檔案,存放了不同補丁包的一些驅動檔案,將sp2.cab中的ntoskrnl.exe解壓縮出來:expand sp2.cab -F:ntoskrnl.exe c:\windows\system32 要用光碟啟動到修復模式,進入命令列進行操作。
2、方法二:
取消啟動畫面啟動就可以了。在系統中開啟'開始-執行',輸入MSCONFIG點選'確定'後即打開了系統配置實用程式。切換到BOOT.INI選項頁,“啟動選項”功能區域中選中“ /NOGUIBOOT.INI ”複選項。這個選項使得啟動時不顯示啟動畫面,從而可以跳過這個錯誤。但問題是,如果你的系統已經無法啟動,是無法來使用MSCONFIG的。那麼可以將計算機通過光碟啟動到命令列修復模式,編輯boot.ini檔案,加入該選項:
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noguiboot
3、方法三:
此問題可能和啟動列表損壞或者硬體有關。有網友遇到的是記憶體問題,通過清潔、重新插拔或更換記憶體得以解決。
4、方法四:
開機在進入windows系統之前連按F8鍵,這時會出現一個選單列表,選擇“最後一次正確配置”然後回車。
以上來自某網站
5、方法五:發生這種問題主要可能有以下原因:Boot.ini 檔案的 [Boot Loader] 部分中的 Default 值丟失或無效、Ntoskrnl.exe檔案丟失或損壞、Boot.ini 檔案中的分割槽路徑設定不正確。解決:使用Windows XP安裝光碟啟動電腦,按照螢幕上的提示按下R鍵進入故障恢復控制檯,使用Administrator賬號登入系統。在提示符後輸入“bootcfg /rebuild”命令然後按下回車。當螢幕上詢問“將安裝新增到啟動列表嗎?”時按下“Y”鍵,出現“輸入載入識別符號”的時候輸入“Windows XP”,到詢問“輸入OS載入選項”時直接按下回車。完成後重啟動電腦到正常模式。 這樣做可以修復boot.ini檔案。如果是檔案本身損壞或者丟失了,也可以在故障恢復控制檯下修復。
6、方法六:使用windows的光碟啟動,在故障恢復控制檯下輸入expand (光碟機碟符):\I386\NTOSKRNL.EX_ C:\WINDOWS\SYSTEM32\NTOSKRNL.EXE
7、方法七:資料傳輸出錯,沒讀入初始檔案,換個硬碟資料線看看
8、方法八:
除了ntoskrnl.exe外,還有一個檔案ntkrnlpa.exe也要覆蓋,解壓縮方法同ntoskrnl.exe(見上面,不重複了)
注:以上拷貝ntoskrnl.exe修復時,一定要注意與原系統的ntoskrnl.exe相同版本。