2009年10月29日

基本上, 这个问题GG出来的结果都是和PNP或者event log相关. 但是,事实上, 还有另外一种可能就是CSC造成的.
CSC全称为Comodo System Cleaner. 这个软件,说实话, 确实不错, 界面漂亮, 功能还不错, 值得一用. 但是, 却有这么一个致命伤. 就是在优化后重启系统时, 会造成Services.exe的内存占用和CPU占用飙升. 一直到吃干净所有的物理内存并填满虚拟内存后, 再逐步回落到正常水平. 根据机器配置的不同, 这个过程的时间也不相同. 比方说我的烂笔记本大概要15分钟左右才恢复正常, 工作机要10分钟左右吧(工作机配置很高,但是同时启动的东西太多). 这个问题看到老外已经反映到Comodo的论坛上了, 管理员也回复说是下个release解决, 只能期待新版本的CSC能好用点了.

2009年10月16日

以前的应该是在Blog上写过这个问题, 一直没有找到解决的办法. 这不,功夫不负有心人,终于解决了.可惜找不到以前的图了,laptop上应该还有,回去翻翻. 还是先说说机器的症状吧.

以前不知道安装的什么软件,卸载后,在自动播放菜单里仍然有该软件,但选择后无效.

首先,这个问题的症状出现在自动播放的菜单里,那么下手点就应该是自动播放菜单. 在这里我以前走了大弯路.因为我一直认为这是属于Shell部分,所以一直在这块瞎转悠,结果当然是解决不了问题了. 关于自动播放菜单,在注册表的位置如下: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers 在这底下,可以见到诸多事件触发的分支比方说AutorunINFLegacyArrival,MixedContentOnArrival 等等. 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers下, 则是诸如ImgBurnBluRayBurningOnArrival_BuildImage, AlcoholAutoPlayV2.BurnDisc等触发情况下调用的程序信息.在这里, 我发现了一些问题. 首先就是某些我已经删除的程序的注册表信息还残留在Handlers下. 我确认这些注册表条目的存在是不正常的.因此,首先我清除了Handlers下的不相关条目. 然后做了个简单的测试,插上一个USB设备试验了下. 情况有所改变. 以前出现的用xx导入啊什么的这下全都成为了"使用<need provider>" 然后附带乱码字符. 看样子只更改Handlers下的条目,只是删除了程序信息,应该还有一个地方存留有要调用什么样的程序的信息. 这些信息就存放在EventHandlers下. 仔细查看了下EventHandlers 下所有的条目,发现在一些分支里仍然有已删除程序.最常见的是在MixedContentOnArrival下. 在仔细的删除所有的不相关信息后,再用USB设备验证了下, 那些无效的菜单已经完全删除了.

当然,从这个例子可以看出, 很多Windows的问题,都是隐藏在注册表中的. 注册表对于Windows来讲,实在是太过于重要.但是, 就是因为注册表的存在,却也导致了Windows无穷尽的软件问题.