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出错解决方案的更多相关文章

  1. 无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上

    winxp系统,在使用boost中的thread中的sleep的时候出现“无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上”的错误, 1.在引用boost库之前( ...

  2. VS2010 + winxp 无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上 错误

    winxp系统,使用VS2010, 在使用boost中的thread中的sleep的时候出现 “无法定位程序输入点GetTickCount64 在动态链接库kernel32.dll上”的错误, 在网上 ...

  3. [DllImport("kernel32.dll")]是什么意思??

    转载自:http://blog.csdn.net/sp6645597/article/details/8683737 1.简单说明 这叫引入kernel32.dll这个动态连接库(顾名思义就是一个链接 ...

  4. 旧书重温:0day2【2】 实验:三种获取kernel32.dll基址的方法

    0x01 找kernel32基地址的方法一般有三种: 暴力搜索法.异常处理链表搜索法.PEB法. 0x02 基本原理 暴力搜索法是最早的动态查找kernel32基地址的方法.它的原理是几乎所有的win ...

  5. windbg查找Kernel32.dll基址

    一.首先准备好一个程序,运行起来,用windbg进行附加调试,由于每个windows下的程序都会加载kernel32.dll,因此,找基址的过程是一样的:  二.查看PEB地址: 法一.r $peb ...

  6. windbg分析Kernel32.dll导出表

    写在前面的话: 继续上篇,在获得了Kernel32.dll基址的基础上,分析它的导出表结构: 对PE结构不太熟悉的同学,可以参考看雪论坛里的一篇帖子:https://bbs.pediy.com/thr ...

  7. hash算法搜索获得api函数地址的实现,"kernel32.dll", "CreateThread"

    我们一般要获得一个函数的地址,通常采用的是明文,例如定义一个api函数字符串"MessageBoxA",然后在GetProcAddress函数中一个字节一个字节进行比较.这样弊端很 ...

  8. advapi32.dll kernel32.dll 中的两套注册表API

    日前遇到一件事:WebBrowser中的网页会用到一个“大众”ActiveX控件,为了保证兼容性以及和其它程序互不干扰,我们采用这样一种方案: 1. 我们的软件会自带该控件: 2. 如果系统中已注册有 ...

  9. 告别加载dll 出错开机加载项大揭秘

    提到开机加载(load)项,大家不要以为就是系统启动(run)项.最简单的例子是,杀毒软件或者用户手动删除病毒文件后,注册表中的自动加载信息仍在,登陆系统时就会提示"加载*dll出错,系统找 ...

随机推荐

  1. 返回键 隐藏、、收起键盘textView|textField

    /** 隐藏 返回键 的做法,将title置为空 */ self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWith ...

  2. Introduction to Face Detection and Face Recognition

    http://www.shervinemami.info/faceRecognition.html http://docs.opencv.org/2.4/modules/contrib/doc/fac ...

  3. Linux命令行–基本的bash shell命令

    启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...

  4. Android Platform Guide

    This guide shows how to set up your SDK environment to deploy Cordova apps for Android devices, and ...

  5. mysql -B 恢复与不加

    -B 跟--database 意义一样 在默认不指定库时候 连续名称,只有第一个名称为库名,后面的都为表名 而使用 -B 或者 --database 之后 所有的名 都是库名 1 导出单个库时候加了- ...

  6. SQLdiag-配置文件-扩展

    CustomDiagnostics在我们第一次双击D:\Program Files\Microsoft SQL Server\100\Tools\Binn目录下的SQLdiag.exe应用程序所收集的 ...

  7. [转载]Oracle修改表空间大小

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  8. 装饰器、生成器,迭代器、Json & pickle 数据序列化

    1. 列表生成器:代码例子 a=[i*2 for i in range(10)] print(a) 运行效果如下: D:\python35\python.exe D:/python培训/s14/day ...

  9. 查看python的路径

    >>> import sys >>> sys.path

  10. java.net.ConnectException: Connection refused: connect

    在dos命令里输入netstat 查看下serverSocket所监听的端口有没有存在.