|   
 
 | 
[软件故障] 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
 | 
 |