| 
 
     
 
  | 
[软件故障] ntoskrnl.exe文件丢失或损坏的解决方法
 
电脑在一次开机后无法启动,xp提示: 
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文件找不到了,那么这个文件是干什么的?哪里去了呢? 
ntoskrnl.exe是winows的一个进程文件,在系统经过预启动和启动阶段后进入内核调用阶段时由ntldr调用ntoskrnl.exe, 在winxp系统中存储了win xp的启动logo画面。  
调用ntoskrnl.exe文件时将由ntdetect.com收集的硬件信息传递给它,同时被调用的还有hal.dll文件. 
关于这个进程的官方描述是: 
ntoskrnl - ntoskrnl.exe - 进程信息  
进程文件: ntoskrnl 或者 ntoskrnl.exe 
进程名称: microsoft boot up kernel 
 
描述: 
ntoskrnl.exe是保护性的进程,在你计算机反复启动的情况下出现。在正常情况下,在任务管理器是不会有该进程的。注意:ntoskrnl.exe也可能是w32.bolzano病毒。请使用杀毒软件进行查杀。 
出品者: microsoft 
属于: microsoft windows operating system 
 
也就是说,如果这个文件丢失或损坏,windows xp启动时那个logo都出不来,也就没有下一步可以看了。 
昨天尝试了很多方法,光盘上的copy、解压覆盖,系统上的备份覆盖还是不管用。 
最后放弃了,修复安装,结果今天打补丁到某次重起后,问题再次出现。 
现在我不能忍受再次重装了,于是反复研究,终于还是找到了一个合适的版本。 
在 "c:\windows\driver cache\i386"目录下有sp2.cab和sp1.cab文件,存放了不同补丁包的一些驱动文件,我将sp2.cab中的ntoskrnl.exe解压缩出来,终于恢复了系统: 
expand sp2.cab -f:ntoskrnl.exe c:\windows\system32 
当然首先要用光盘启动到修复模式,进入命令行进行操作。 
看来是微软的某个patch有问题,覆盖之后会导致系统无法启动。 
目前的怀疑对象是:kb890859  
网友提供了另外一个更简便的方法: 
遇到这个问题,实际上只要取消启动画面就可以了。 
在系统中打开'开始-运行',输入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 
这个方法值得尝试。  
 
当然,这个错误还可能和启动列表损坏或者硬件有关。 
有网友遇到的是内存问题,通过清洁、重新插拔或更换内存得以解决 
关于windows 2000上的问题,可以参考微软的支持文章: 
http://support.microsoft.com/kb/124550/ 
关于xp的参考文章: 
http://support.microsoft.com/kb/314477/ 
  
转自:http://www.eygle.com/archives/2007/03/ntoskrnl_exe_corruption.html |   
 
 
 
 |