加载C:\windows\*.dll错误
一、分析:
我们知道系统所实现的功能都是靠一系列的“进程”加载dll、sys等这些模块来实现的,例如我们开机后进入系统接触到桌面,上面有“开始”按钮,有“我的电脑”等图标,就是靠特定的dll文件来实现的。
我们安装软件后实现的一些功能也是如此,通过自身的“模块”让这些系统进程加载,从而实现软件的功能(比如金山词霸的即指即译功能就是通过其某个dll插入到相应的进程中实现的)。
恶意软件、病毒想实现其的目的靠的也是这一招(当然其招数可能隐蔽得多),通过一系列的伪装手段使自身的这些模块让系统进程认为是开机必须加载的,从而实现在开机加载,实现病毒的目的。
而这些模块一旦由于一些意外的原因(比如杀毒软件的查杀、卸载不完全)导致其加载信息还在,但文件却没有了。系统进程却还是“天真”地认为这个模块是必须加载的,但又找不到这个文件了,所以按“惯例”,它给出提示“加载c:\windows\*.dll错误中,找不到指定模块”等等。
二、处理:
知道了大致的原因,我们可以处理了:由于是文件可能没有了,但加载信息还存在导致的这样的错误,那么我们将这个加载信息删除掉就可以了。
现在网上处理的方法一般有2种:
⑴、开始——运行——msconfig——启动——把你这加载项***.dll的那个勾勾去掉。 重启电脑,通常到这就可以了,如果还弹出来再进行第二步;
这一种方法无可厚非,但许多新手按照这样的教程操作的话,输入Msconfig,打开“系统配置实用程序”后发现,在“启动”里根本找不到什么“加载*.dll”的项目。这是因为dll只是一个模块,上面说过了,它由进程加载,自身是并不能运行的。在这一步上,其实我们应该查看“启动”项下有没有“Rundll32.exe”这个进程,有的话,查看这个进程的路径,看它加载的是哪个dll,如果这个dll确实是错误提示中提到的这个文件,那么将它取消才是正解!
⑵、开始——运行——regedit 在下面的位置删除相应键值: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
这种方法也对,但不全对。现在的病毒制造者不会白痴到只在这2个键值下写入了。因此搜索整个注册表才是正解!
下面说说我碰到这样的错误提示后的做法(至少在我的机器上经过试验是有效的):
1.用IceSword、Wsyscheck这些软件按提示中的路径到这个文件夹下查看有无这个dll文件,有的话,在软件里右击这个文件,删除它们!然后断开网络,全盘查杀病毒!并最好是到安全模式下或WinPE模式下查杀!---建议采用WinPE下杀毒的方法。
2.如果没有,则说明这个dll因为一些不可知的原因已经被删除了(最大的可能是因为它是病毒释放的文件,但已经被杀毒软件清除了),但留在注册表里的加载信息却没有得到清除,导致系统不断地尝试加载这个文件却又找不到文件,出现加载出错提示!
这样的话,只要清除注册表里的加载信息即可。在开始运行里输入Regedit打开注册表,搜索并删除这个dll的键值即可。
如果你嫌一个一个搜索-删除麻烦,也可以用Autoruns这个软件来清除,安装后,直接在这个软件的“所有项目”下的“映像路径”中找到这个dll文件(一般也是提示:没有找到文件:**.dll),右击--删除即可。然后重启一般就可以了。
如果这样处理后,还是不行,那么对不起,我也不知道原因了。
第一步:首先确认已经彻底清除了病毒的主程序
确认方法:
1。确认杀毒软件正常工作,没有异常的自动关闭、过多cpu占用现象等等。
2。升级杀毒软件到最新版本杀毒。
3。杀毒后任务管理器中无明显的异常进程。没有可疑名称的加载项。
4。控制面板内点计划任务,删掉可疑的任务。
第二步:去除加载项
开始菜单-运行-输入msconfig回车
在里边的启动栏里把**.dll前面的勾去掉就行了
1、开始——运行——msconfig——启动——把加载项***.dll的那个勾勾去掉。
重启电脑,通常到这就可以了,如果还弹出来再进行第二步
2、开始——运行——regedit
在下面的位置删除相应键值:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
3.按F3查找删除直至没有为止。
楼主,您好。
38.开机加载c:\WINDOWS\system32\***.dll时出错找不到指定的模块问题解决:
一种:开始→运行→msconfig→启动→把启动项目下的***.dll的那个钩去掉,单击确定。
重启电脑,通常到这就可以了,如果没找到dll或者还弹出来再进行第二步
二种:开始→运行→regedit
在下面的位置删除相应键值:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。
开始--运行--msconfig--启动--找到和你说的类似的选项PhotoViewer--取消勾--确定,然后
1,开始-运行-输入:regedit,然后回车
2,选择“我的电脑”,然后点击“文件”-“导出”-随便起个名字点“保存”。这样做的目的是备份一下注册表,以免误操作后及时恢复。恢复的方法是,找到你刚才保存的文件,双击它,然后选择“允许导入”即可。
3,选择“我的电脑”,按F3键,然后输入“PhotoViewer”,点击“查找下一个”,找到后一定要核对是不是PhotoViewer.dll文件,如果确认,对该项点“右键”选“删除”。
注意:结果出来后要看后面的数值部分,不能光看文件名称,只要有PhotoViewer.dll在的文件不管它边上还写没写别的(如:PhotoViewer.dll,load),都要删除!”
4,然后再按F3键-删除,直到提示“完成注册表搜索”为止。
5,重新启动计算机,看看系统有没有问题。
注,如果出现了其它严重问题,请恢复注册表。
(【sql1981】原创答案,引用请说明原作者:sql1981,未通知原作者严禁复制本答案!!)
【注意】注册表如果也没找到的话请用下面的方法!
下载AUTORUNS(启动项目查看器),
下载安装后运行“autoruns.exe”在所有登陆项“全部”里查找
“PhotoViewer.dll”和所有“找不到...DLL文件(特别注意)”项目,右键点删除。
打开开始--运行
输入msconfig回车
打开启动选项卡
找到与之相关的程序点一下使其前面小方框中的对勾消失点确定即可
下回启动电脑时就不会有这个错误提示了
下载360安全卫士
查杀病毒
清理恶意插件
清理系统垃圾文件