几天前,发现一个病毒,每个分区的根目录都有autorun.inf,看来又是一个通过U盘传播的病毒。病毒很简单,没干太多坏事,只是用批处理传播一下,改改注册表,取消一下系统的管理员口令,以至于杀毒软件都不把它当成是病毒。杀毒软件杀不掉,就手工来删。删除时需要在每个分区的根目录下和Windows系统目录下删除病毒文件,按照批处理里修改注册表的位置,把那几个地方再改回来。
注册表中有一个地方是
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]"Userinit"="C:\WINDOWS\system32\userinit.exe,***.exe"这里只需要把***.exe删除即可,但我不小心把整个键值都删除了,结果导致系统一启动即注销,无法进入系统,安全模式也一样。
用另一台电脑上网查了一下,userinit.exe是Windows操作系统一个关键进程,用于管理不同的启动顺序,例如在建立网络链接和Windows壳的启动。注册表的这个位置也是病毒喜欢利用的地方,可以用来实现开机病毒自启动。一般是象本例一样在userinit.exe后面加东西,或者干脆自己冒充userinit.exe,把真正的userinit.exe替换掉。
知道了原因就需要恢复注册表里的这一项。可是系统启动不起来,怎么恢复呢?想起来见过一篇文章,讲如何找回丢失的XP密码的,说是可以用脚本实现Windows在登录屏幕出现之前运行指定的批处理。输入“Winxp密码,脚本恢复”google了一下,发现这篇文章被转帖得到处都是。然而照着文章中的说法试了一下,发现并不管用。
文章说批处理和脚本要保存在“C:windowssystem32GroupPolicyMachineScriptsStartup”下,然而我发现我的系统只有“C:windowssystem32GroupPolicyMachine”,再往下就没有目录了。手工建立了文章中要求的目录和批处理,重启后批处理并不运行。
这时,我想起了深山红叶,这个工具盘里面的内容很多。下载后刻了张盘,启动后果然发现里面有个叫“ERD Commander”的工具能改硬盘上注册表的部分内容。虽然不是全都能改,但对我来说足够了。系统很快恢复了正常。
对“ERD Commander”这个工具挺感兴趣,Google了一下,并且到它的官方网站看了一下,从产品介绍里看这个软件在Windows系统的灾难恢复方面还是能做很多事情的。在官网上还得知“ERD Commander”已经整合到“Administrator's Pak”里面,而且现在“Administrator's Pak”已经作为微软“Windows Vista Enterprise”的“Microsoft Desktop Optimization Pack for Software Assurance”中的一部分,也就是说,“ERD Commander”对Windows的操作,得到了微软的官方认可。