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. Weak Pair---hud5877大连网选(线段树优化+dfs)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5877  题意:给你一颗树,有n个节点,每个节点都有一个权值v[i]:现在求有多少对(u,v ...

  2. HTML-001-日期组件 layDate 演示

    在日常的网页开发过程中,日期组件已经成为不可或缺的组件之一.同时,随着广大杰出攻城狮的不懈努力,也出现了很多优秀的日期组件,其中我个人觉得 layDate 日期组件是一个非常不错的组件,简洁易用,样式 ...

  3. Windows-004-显示文件的扩展名

    此文主要讲述 Windows 7 下如何显示文件的扩展名,敬请亲们参阅.若有不足之处,敬请大神指正,不胜感激! 通常安装好 Win7 后,文件的扩展名默认是不显示的,如下所示: 点击工具栏中的 组织, ...

  4. SQL server 2012

    MICROSOFT SQL SERVER 2012 企业核心版激活码序列号: FH666-Y346V-7XFQ3-V69JM-RHW28MICROSOFT SQL SERVER 2012 商业智能版激 ...

  5. JavaScript:表单验证模型

    之前做的验证提示以弹框的形式出现太丑陋了,不符合标准的验证提示.如果要想进行更好的数据验证操作,那么必须进行一些模块化设计,通过表单样式的改变来提示.其实,一般的数据验证无非就是那么几种,例如: 大多 ...

  6. 微信支付开发(1) 微信支付URL配置

    由于微信支付接口更新,本文档已过期,请查看新版微信支付教程.地址 http://www.cnblogs.com/txw1958/category/624506.html 本文介绍微信支付申请时如何设置 ...

  7. python中反射(__import__和getattr使用)

    反射: 1.可通过字符串的形式导入模块 1.1.单层导入 __import__('模块名') 1.2.多层导入 __import__(' list.text.commons',fromlist=Tru ...

  8. 磁盘空间已满导致rabbitmq无法启动

    rabbitmq-server 启动问题 今天遇到一个挺奇怪的 rabbitmq-server 的启动问题. 在内部使用的 openstack 环境上,rabbitmq-server突然就关掉了,无法 ...

  9. navicat 链接不上mysql

    1 查看 my.cnf 的配置bindhost 127.0.0.1 注释掉 2 grant all privileges on *.* to root@'%' identified by 'passw ...

  10. Vue.2.0.5-Class 与 Style 绑定

    Class 与 Style 绑定 数据绑定一个常见需求是操作元素的 class 列表和它的内联样式.因为它们都是属性 ,我们可以用v-bind 处理它们:只需要计算出表达式最终的字符串.不过,字符串拼 ...