魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

Windows could not start because the following file



今一大早就解决我困了好几天的一个难题.

一台刚做完系统电脑开机时提示:(是用GHOST的)

Windows could not start because the following file is missing or corrupt

<windows root>\system\ntoskrnl.exe

please re-install a copy of the above file

用纯安装版的。但是一开始就出错。
File setupdd.sys could not be loaded.
the error code is 4.

(有时候是:Setupdd.sys could not be loaded.Error code 7. )
郁闷死了
后来又换一个安装版的。 又出错 :
File ntkrnlmp.exe could not be loaded.
the error code is ....

晕 有时硬盘都检测不过.

分析:
如果计算机中包含损坏的或与 Windows XP 不兼容的硬件组件,就可能会出现此问题。
解决此种故障的方案:
要解决此问题,请按照下列步骤操作。
(
提示:除非对计算机内部硬件的拆装非常熟悉,否则不要执行以下操作)

1. 关闭计算机,然后卸下所有外围组件互连 (PCI) 设备。
2.
重新启动计算机。如果 Windows 成功启动,则关闭计算机,然后重新安装 PCI 设备(每次只能安装一个)。安装完每个设备后,都要启动 Windows。如果安装的某个设备导致出现症状一节中所描述的问题,则卸下该设备,然后继续安装其他 PCI 设备。
如果 Windows 启动失败,则卸下安装在计算机内的一个或多个内存模块。请留下足够的 RAM,以便计算机可以启动并运行 Windows XP
注意:Windows XP 需要 128 兆字节 (MB) RAM。最小为 64 MB,最大为 4 GB
例如,如果计算机中安装了两个 256 MB 的内存模块,应卸下其中一个内存模块。如果 Windows 成功启动,则关闭计算机,然后重新安装 RAM 模块(每次只能安装一个)。安装完每个 RAM 模块后,都要启动 Windows。如果安装的某个模块导致出现症状一节中所描述的问题,则卸下该模块,然后继续安装其他 RAM 模块。(我的是这么解决的)

错误描述:

重装系统重启后提示:

Windows could not start because the following file is missing or corrupt:
<WINDOWS root>\system32\ntoskrnl.exe.
Please reinstall a copy of the above file.

以下是网络上寻找出来的解决方案:

=star===

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</BLOCKQUOTE>

也就是说,如果这个文件丢失或损坏,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</BLOCKQUOTE>
这个方法值得尝试。

当然,这个错误还可能和启动列表损坏或者硬件有关。
有网友遇到的是内存问题,通过清洁、重新插拔或更换内存得以解决

===end======

解决:由于内存损坏也会引起此类问题。



返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.3


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1