Board logo

标题: [软件故障] ntoskrnl.exe文件丢失或损坏的解决方法 [打印本页]

作者: shillan    时间: 2010-7-4 15:48     标题: 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




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2