我的机器安装了xp 和2003 和ubuntu的多系统, 但是昨晚调整分区的时候,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文件找不到了,所幸我的别的系统还能进去马上Google。
 这个文件是干什么的?哪里去了呢?
以下网络摘要
一.
进程文件: ntoskrnl 或者 ntoskrnl.exe
进程名称: Microsoft Boot Up Kernel
进程描述:ntoskrnl.exe是保护性的进程,在你计算机反复启动的情况下出现。在正常情况下,在任务管理器是不会有该进程的。注意:
也就是说,如果这个文件丢失或损坏,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

这个方法值得尝试。
当然,这个错误还可能和启动列表损坏或者硬件有关。

描述:
ntoskrnl.exe是保护性的进程,在你计算机反复启动的情况下出现。在正常情况下,在任务管理器是不会有该进程的。注意:ntoskrnl.exe也可能是w32.bolzano病毒。请使用杀毒软件进行查杀。
出品者: Microsoft
属于: Microsoft Windows Operating System
二.

ntoskrnl.exe也可能是w32.bolzano病毒。使用杀毒软件进行查杀
可以知道此文件是winows的一个进程文件,,只是在系统经过预启动和启动阶段后进入内核调用阶段时由Ntldr调用Ntoskrnl.exe,

,此文件在WINXP系统中存储了WIN XP的启动LOGO画面。
调用Ntoskrnl.exe文件时将由Ntdetect.com收集的硬件信息传递给它,同时被调用的还有hal.dll文件.如果你有多个硬件配置文件,

当运行到这一步的时候,你会在屏幕上看到要求选择硬件配置文件的信息.另外,Ntldr也将从注册表中调用所有启动值为0x0的设备驱

动程序.如果你在boot.ini文件中有" /sos"参数,一般在" /fastdetect"后面,那么你将看到调用设备列表;

典型故障:启动的时候出现错误信息:"Ntoskrnl.exe missing or corrupt on bootup"(ntoskrnl.exe丢失或者损坏)

如果出现下列情形之一,会出现ntoskrnl.exe错误出现:

-新增加了一个硬盘或者改变了原有的分区,例如:删除了原来的一个分区或者将原来的两个分区合并,都可能导致boot.ini文件中的

[bot loader]部分的default值丢失或者无效,从而在启动过程中无法找到启动所需的文件;

-Ntoskrnl.exe文件被删除或者被损坏;

解决办法: -使用启动盘启动操作系统,编辑boot.ini文件,检察与下面一行类似的命令中是否有错误:

muti(0)disk(0)rdisk(0)partition(1)\\WINNT="microsoft windows 2000 professional" /fastdetect

这一行表示在第一个ide硬盘上rdisk(0)的第一个分区上partition(1)装有win2k,大家可以根据这个规律来查找自己的boot.ini

文件中的数值是否正确;

-如果没有发现错误,将win2k安装光盘放入光驱,然后再命令行输入:
expand x:\\i386\\ntoskrnl.ex_ c:\\ntoskrnl.exe
回车,提示文件已经释放,取出光盘,reset

-另外 从其他的电脑上复制来的这个文件是不能使用的,必须注册,在"开始""运行"中输入"regsvr32 ntoskrnl.exe"

为了你电脑启动快一下,还有就是查看一下是不是启动项目里面有病毒,你可以点击开始-运行-输入msconfig回车出现对话框 把上面最后一

个启动项里面的除了输入法(ctfmon)以外其他的启动项目前面的勾全部去掉,重新启动,最好以上操作你去网络连接的安全模式去操作 如果

是2000系统的话就其他系统拷贝一个MSCONFIG文件。以上办法一个是可以解决浏览器中病毒,主页不能修改等,另一个可以去掉启动项里面加

载的***病毒和加速电脑运行,增大内存运行空间等功能,你使用了一定受益
[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 Server 2003, Enterprise" /fastdetect /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Microsoft Windows vista" /fastdetect
这是我的boott.ini文件 , ubuntu 是用grub引导的所以没有列出本文出自 “Recovery” 博客,请务必保留此出处http://datarecovery.blog.51cto.com/701790/187688