kernel32.dll出错解决方案
kernel32.dll
一、什么是kernel32内核文件
kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
有时,Windows会弹出“非法页错误”的消息框,简单地说,这是因为某个或多个程序试图访问kernel32.dll所占用的内存保护区域,从而产生冲突而造成的。该错误一般由某个特定的程序引起,也可能是多个文件或程序。如果是由某个程序引起,那么可以尝试重新安装或升级该程序来解决问题,而如果由多个文件和程序引起,那就极有可能是因损坏的硬件设备驱动而引起的。
二、引起kernel32出错的主要元凶
1.Windows自身的临时交换文件被破坏;
2.文件分配表(FAT)出现错误;
3.用户名和密码列表错误;
4.装载了已经被破坏的或者是不正确版本的ker -nel32.dll文件;
5.注册表文件被损坏;
6.计算机硬件有问题,如CPU过热、超频使用、损坏的电源、地线波动、射频噪音、损坏的磁盘控制器;
7.BIOS中等待状态设置出现问题,或者RAM时钟有错误;
8.已经损坏或者没有正确、完整地安装软件;
9.临时文件夹不存在或者已经损坏;
10.损坏的控制面板文件(扩展名为cpl);
11.不正确或者已经损坏的硬件驱动程序;
12.没有正确安装打印机驱动程序;
13.Java设备错误;
14.已经被破坏的.LOG日志文件;
15.访问历史文件夹错误;
16.不合适的或损坏的动态链接库文件;
17.机器感染了病毒;
18.损坏的或者不正确版本的msinfo32.exe文件;
19.磁盘空间不足。
三、行之有效的解决方案
知道了哪些情况可能引起kernel32.dll文件出问题,那么就可以采取排除法一一解决。不过,在大多数情况下,我们建议你优先实施以下解决方案:
1.错误的内存模块:用“记事本”打开根目录下的config.sys,并在其中插入命令行:DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:ON,然后在电脑重启时观察屏幕所显示的HIMEM has detected unreliable memory at address xxxxxxxxx,这样就可以基本确定内存出了问题。不过,这可能需要重启几次来逐一发现。当然也可以下载、运行相应的系统诊断软件,特别是内存检测软件;
2.错误的显卡驱动程序:最新版本的显卡驱动程序可以保证显卡更加稳定、高效地运行,因此你要确保显卡驱动程序是最新版本;
3.超频CPU、总线速度:如果想要你的电脑运行得更加稳定、持久,建议不要将CPU和总线超频使用,恢复到默认值;
4.CPU或者电源风扇转速不正常或落满灰尘:风扇的不稳定可能导致CPU或电源温度过高,从而引起系统不稳定。CPU风扇可以用小刷子和吹风机处理,电源风扇则需要由专业人员清扫;
5.图形加速设置过高:右击“我的电脑”,选择“属性”命令,在“性能”选项卡中选择“图形”按钮,将硬件加速调低一个刻度,然后确定后重启,如果还有问题,再重复以上步骤继续往下调低一个刻度,直到正常为止;
6.动画光标、鼠标轨迹和活动桌面:这些花哨的设置都有可能引起kernel32.dll错误,尝试禁用这些功能,然后再一个一个激活这些功能,直到发现错误为止;
7.相当有效的解决方案:实践证明这个方法解决过许多ker- nel32.dll崩溃的问题。在C盘根目录下,用“记事本”创建或者直接修改系统配置文件config.sys,在其中加入如下3行语句:
FILES=65
BUFFERS=40
STACKS=64,512
如果错误仍然存在,可使用“记事本”打开系统文件夹下(如〈C:\Windows\〉)的system.ini文件,然后在[386Enh]节上加入如下两行语句:
; Increases default stack pages from 2 to 6
MinSPs=6
(MinSPs默认值是2,如需要,每次增加2直到解决问题为止,而第一句前面的“;”主要起注释作用。)
修改好后保存退出,重启使之生效。
8.删除临时交换文件:如果错误仍然存在,可以尝试删除 Windows的临时交换文件Win386.swp来解决问题,不过该文件无法在Windows下删除,你需要退到DOS实模式下进行,进入系统目录(如C盘〈Windows〉目录)删除Win386.swp,当系统重启后Windows会重新生成该文件。
9.密码列表损坏:如果系统密码列表文件被损坏也会引起错误,这时需要重建该文件,在“资源管理器”中选择〈Windows〉文件夹,然后按下F3调出查找对话框,在文件名中键入:*.pwl,然后进行查找,当符合条件的文件列出来后,将它们全部删除掉,接着重启,让系统重建密码列表文件。
10.病毒:如果系统显示的是MSIMN错误导致kernel32.dll产生无效页面错误,那么你的电脑很有可能被Happy 99蠕虫病毒所侵害,你需要使用杀毒软件对你的系统进行一下清除。
kernel32.dll出错解决方案的更多相关文章
- 无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上
winxp系统,在使用boost中的thread中的sleep的时候出现“无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上”的错误, 1.在引用boost库之前( ...
- VS2010 + winxp 无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上 错误
winxp系统,使用VS2010, 在使用boost中的thread中的sleep的时候出现 “无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上”的错误, 在网上 ...
- [DllImport("kernel32.dll")]是什么意思??
转载自:http://blog.csdn.net/sp6645597/article/details/8683737 1.简单说明 这叫引入kernel32.dll这个动态连接库(顾名思义就是一个链接 ...
- 旧书重温:0day2【2】 实验:三种获取kernel32.dll基址的方法
0x01 找kernel32基地址的方法一般有三种: 暴力搜索法.异常处理链表搜索法.PEB法. 0x02 基本原理 暴力搜索法是最早的动态查找kernel32基地址的方法.它的原理是几乎所有的win ...
- windbg查找Kernel32.dll基址
一.首先准备好一个程序,运行起来,用windbg进行附加调试,由于每个windows下的程序都会加载kernel32.dll,因此,找基址的过程是一样的: 二.查看PEB地址: 法一.r $peb ...
- windbg分析Kernel32.dll导出表
写在前面的话: 继续上篇,在获得了Kernel32.dll基址的基础上,分析它的导出表结构: 对PE结构不太熟悉的同学,可以参考看雪论坛里的一篇帖子:https://bbs.pediy.com/thr ...
- hash算法搜索获得api函数地址的实现,"kernel32.dll", "CreateThread"
我们一般要获得一个函数的地址,通常采用的是明文,例如定义一个api函数字符串"MessageBoxA",然后在GetProcAddress函数中一个字节一个字节进行比较.这样弊端很 ...
- advapi32.dll kernel32.dll 中的两套注册表API
日前遇到一件事:WebBrowser中的网页会用到一个“大众”ActiveX控件,为了保证兼容性以及和其它程序互不干扰,我们采用这样一种方案: 1. 我们的软件会自带该控件: 2. 如果系统中已注册有 ...
- 告别加载dll 出错开机加载项大揭秘
提到开机加载(load)项,大家不要以为就是系统启动(run)项.最简单的例子是,杀毒软件或者用户手动删除病毒文件后,注册表中的自动加载信息仍在,登陆系统时就会提示"加载*dll出错,系统找 ...
随机推荐
- Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)
日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资 ...
- MVC路由约束
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/ ...
- imx6 mac地址设置
imx6的mac地址总是固定的值,所以需要更改,采用的方法是在uboot中设置环境变量,之后在kernel中使用uboot中设置的mac地址的值.本文记录更改的过程. 参考链接: http://www ...
- Ubuntu下面安装eclipse for c++
1.下载jdk,cdt,eclipse. 其中jdk是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件.jdk安装见上文. 2.eclip ...
- AD834+表面声波滤波器调试小结
AD834:带宽较宽,300M无压力,但是输出幅度小,当输入2VPPX2VPP的时候最大输出400mVPP.一个特别要注意的地方是输入走线尽量短,敷铜间距至少满足3倍线宽,不然隔直之后还会耦合信号进去 ...
- centos python 2.7 安装
一开始有这个需求,是因为用 YaH3C 替代 iNode 进行校园网认证时,一直编译错误,提示找不到 Python 的某个模块,百度了一下,此模块是在 Python2.7 以上才有的,但是系统的自带的 ...
- [BS-12] JSON的基础知识--百科
JSON的基础知识--百科 http://baike.baidu.com/view/136475.htm
- WPF--Blend制作Button控件模板--问题补充
补充记录Button控件模板 控件模板制作过程中出现下图问题:动画对象不能用于动画属性"Fill” 并且这类问题Blend4中包括VS2010中仍然可以运行,但是只有VS2010中会报错:如 ...
- 项目管理利器——Maven
假设公司要开发一个新的Web项目,使用目前流行的struts2.spring.MyBatis进行新项目开发.那么接下来首先要进行的工作就是各个框架的jar包的下载.大家通常的做法是先到struts2的 ...
- status 状态栏
http://www.pchou.info/ios/2015/08/22/oc-statusbar.html IOS的项目多数会遇到控制状态栏和导航栏的问题,比如隐藏状态栏.控制状态栏的文字颜色等,导 ...