同事的电脑启动时出现下面提示:“因下面文件损坏或丢失Windows无法启动 %systemroot%\system32\ntoskrnl.exe,请又一次安装以上文件的拷贝”(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损坏或丢失提示无法启动后,首先是想试下安全模式和最后一次正确配置,但都无效,仍是上面的提示。然后用win pe光盘启动,想网上说的方法拷贝ntoskrnl.exe,可是进入C盘的windows目录后,突然发现没有system32目录,不仅如此,windows下还少了不少系统目录,怪不得会提示找不到ntoskrnl.exe呢。

  原先想在PE系统下从曾经的GHOST备份文件里提取整个WINDOWS文件夹出来覆盖,但那和重装无异,预计大部分应用软件都得又一次安装。想到system32不见了,可能是硬盘有问题,所以在做下一步决定前先检查下硬盘有无问题。右击C盘-属性-工具-查错-開始检查-勾选“自己主动修复文件系统错误”(还有一个“扫描并试图恢复坏扇区”也能够选上,只是当时想假设到这一步真有坏道还修什么,所以仅仅选了第一项,也省点时间),执行磁盘扫描检查程序。等扫描完毕,再进入c盘,居然发现原先丢失的system32等文件夹都回来了,一个都不少,当然ntoskrnl.exe也在。重新启动电脑,从硬盘启动,正常了。

  至此修复完毕,只是还是把网上收集到的有关修复ntoskrnl.exe丢失或损坏的其他方法在以下列一下,以供參考:

0、有关ntoskrnl.exe的文件信息:

ntoskrnl.exe是windows的一个进程文件,在系统经过预启动和启动阶段后进入内核调用阶段时由Ntldr调用Ntoskrnl.exe, 在windows系统中存储了windows启动LOGO画面。调用Ntoskrnl.exe文件时将由Ntdetect.com收集的硬件信息传递给它,同一时候被调用的还有hal.dll文件。假设这个文件丢失或损坏,Windows Xp启动时那个Logo就出不来。

1、方法一:

在 "c:\windows\driver cache\i386"文件夹下有sp2.cab和sp1.cab文件,存放了不同补丁包的一些驱动文件,将sp2.cab中的ntoskrnl.exe解压缩出来:expand sp2.cab -F:ntoskrnl.exe c:\windows\system32 要用光盘启动到修复模式,进入命令行进行操作。

2、方法二:

取消启动画面启动就能够了。在系统中打开'開始-执行',输入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

3、方法三:

此问题可能和启动列表损坏或者硬件有关。有网友遇到的是内存问题,通过清洁、又一次插拔或更换内存得以解决。

4、方法四:

开机在进入windows系统之前连按F8键,这时会出现一个选单列表,选择“最后一次正确配置”然后回车。

以上来自某站点

5、方法五:发生这样的问题主要可能有下面原因:Boot.ini 文件的 [Boot Loader] 部分中的 Default 值丢失或无效、Ntoskrnl.exe文件丢失或损坏、Boot.ini 文件里的分区路径设置不对。解决:使用Windows XP安装光盘启动电脑,依照屏幕上的提示按下R键进入故障恢复控制台,使用Administrator账号登录系统。在提示符后输入“bootcfg /rebuild”命令然后按下回车。当屏幕上询问“将安装加入到启动列表吗?”时按下“Y”键,出现“输入载入标识符”的时候输入“Windows
XP”,到询问“输入OS载入选项”时直接按下回车。完毕后重新启动动电脑到正常模式。 这样做能够修复boot.ini文件。假设是文件本身损坏或者丢失了,也能够在故障恢复控制台下修复。

6、方法六:使用windows的光盘启动,在故障恢复控制台下输入expand (光驱盘符):\I386\NTOSKRNL.EX_ C:\WINDOWS\SYSTEM32\NTOSKRNL.EXE

7、方法七:传输数据出错,没读入初始文件,换个硬盘数据线看看

以上来自:http://www.cnblogs.com/chinhr/archive/2009/01/27/1309525.html

8、方法八:

除了ntoskrnl.exe外,另一个文件ntkrnlpa.exe也要覆盖,解压缩方法同ntoskrnl.exe(见上面,不反复了)

以上来自:http://www.blogjava.net/linhuaimin/archive/2008/11/02/164857.html

注:以上拷贝ntoskrnl.exe修复时,一定要注意与原系统的ntoskrnl.exe同样版本号。

ntoskrnl.exe损坏或丢失的解决方式的更多相关文章

  1. cuda并行编程之求解ConjugateGradient(共轭梯度迭代)丢失dll解决方式

    在进行图像处理过程中,我们常常会用到梯度迭代求解大型线性方程组.今天在用cuda对神秘矩阵进行求解的时候.出现了缺少dll的情况: 报错例如以下图: watermark/2/text/aHR0cDov ...

  2. Could not locate executable null\bin\winutils.exe in the Hadoop binaries解决方式 spark运行wordcoult

    虽然可以正常运行,但是会出异常,现给出解决方法. 1.问题:   2.  问题解决: 仔细查看报错是缺少winutils.exe程序. Hadoop都是运行在Linux系统下的,在windows下ec ...

  3. Could not locate executable null\bin\winutils.exe in the Hadoop binaries解决方式

    1.  问题: 2.  问题解决: 仔细查看报错是缺少winutils.exe程序. Hadoop都是运行在Linux系统下的,在windows下eclipse中运行mapreduce程序,要首先安装 ...

  4. 批处理安装Windows服务,提示"InstallUtil.exe"不是内部命令也不是外部命令解决方式

    今天在测试一个C#写的windows服务的时候,在用bat进行调用cmd安装的时候, cd C:\Windows\Microsoft.NET\Framework\v2.0.50727 InstallU ...

  5. 因下面文的损坏或丢失windows/system32/config/system 解决方法

    这是因为你电脑的初始化文件遭破坏所致.导致破坏的原因也可能是病毒或其它原因. 因为Windows启动须要读取Syatem.ini,Win.ini和注冊表文件,假设C盘根文件夹下有config.sys, ...

  6. Visual studio 2010出现“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”解决方式

    本来自己的电脑上装了VS2010,因为开发Cocos2d-x 3.x,所以就在自己的机器上装了一个VS2012. 但是.这不装不要紧,debug一下自己原来的程序,结果出现了"error L ...

  7. 使用 PDBDownloader 解决 IDA 加载 ntoskrnl.exe 时符号不完全问题

    解决 IDA 加载 ntoskrnl.exe 时符号不完全问题 1. 问题:IDA加载xp系统的 ntoskrnl.exe 加载不完全. 2. 尝试过但未成功的解决方案: 1)配置好的IDA的 pdb ...

  8. Dynamic Property Wizard 添加类提示 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目 错误提示解决方式

    在重新打开OPM项目添加ATL动态属性向导Dynamic Property Wizard提示错误 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目. 有效的解决方式,右键 ...

  9. 后端Long类型传到前端精度丢失的正确解决方式

    原因:前端js对Long类型支持的精度不够,导致后端使用的Long传到前端丢失精度,比如现在分布式id生成算法"雪花算法"在使用中就会出现问题. 解决方式: 1.后端的Long类型 ...

随机推荐

  1. Collectl基础

    Collectl比nmon更专业和深入的linux性能测试工具 首先是安装 $ sudo apt-get install collectl 直接输入collectl就可以看到数据 默认是CPU,硬盘, ...

  2. dzzoffice教程、文档、开发手册等内容地址

    dzzoffice教程.文档.开发手册等内容全部都存放在DzzOffice开发者社区的文集中.搜索引擎收录不到DzzOffice中的应用内容,这里将文集地址提供在这里. 地址:http://dev.d ...

  3. Nodejs_day01

    helloworld.txt的内容: 我是nodejs 阻塞式调用 var fs = require('fs'); var data = fs.readFileSync('helloworld.txt ...

  4. Win10正式版激活方法有哪些?如何激活Win10?

    很多用户都想将系统升级到Win10,但是却不知道怎么激活Win10正式版的方法,其实不同版本激活正式版Win10的方法秘钥不同,下面99安卓网小编就分享一些激活Win10正式版的方法和秘钥,供大家参考 ...

  5. linux 学习网站

    study-Area:http://www.study-area.org 鸟哥的私房菜:http://linux.vbird.org 鸟哥的私房菜课后答案:http://wapwenku.baidu. ...

  6. windows下跑python flask,环境配置

    首先声明一下,我安装的是python 2.7. 第一步:下载easy_setup.py 下载地址:https://pypi.python.org/pypi/setuptools 这个下载地址真心难找, ...

  7. ASP.NET MVC 常用内置验证特性 简介

    1.[Required] : 必须输入 [Required(ErrorMessage = "请输入用户名")] 2.[StringLength] : 限制字符串长度 [String ...

  8. 轻松学习Linux之AWK使用初步

    AWK最初是Unix平台上一种可以对文本进行逐行处理的编程语言,它来源于3个创作者的名字:Aho.(Peter)Weinberg和(Brain)Kernighan. 现在广泛应用于Linux,他与se ...

  9. gcc -D

    [gcc -D] -D name Predefine name as a macro, with definition 1. 通常debug和release版的区别就在于是否有DEBUG宏,DEBUG ...

  10. python知识点(07-08)

    python: 循环else: while true: if x>1: print() break else: print() 文件循环: for line in open(‘test.txt’ ...