|
本人为Windwos xp2 pro系统,每次开机,在刚进入桌面的时候,系统都会运作十几秒钟才能响应用户的请求,如果打开“任务管理器”则会发现,此时系统在运行的进程是“Userinit.exe”,显然这是一个系统初始化程序。但是,以前这个进程不是这么慢的,所以我想是否能优化以下,于是……
首先上网查了一下Userinit.exe的进程信息,为“运行登陆脚本,建立网络连接和启动Shell壳”,非系统进程。我理解,这个shell也许是桌面的shell,会影响Explorer,而网络连接无所谓。于是进入注册表搜索了一下Userinit.exe,与启动有关的只有一项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]下有一类型为字符串值,键名为"Userinit",键值为"C:\WINDOWS\system32\userinit.exe,",
这个键值我见过,有些病毒就在这里(逗号后面)做手脚。我想开机不运行这个进程试试,于是将该分支做了备份放到桌面,删除该键值,重新启动系统,没想到……
系统启动到欢迎界面都一切正常,之后出现了选择登陆用户界面,点击用户名,开始“加载个人设置”,可是刚加载几秒钟,提示又变成了“正在保存设置”、“正在注销”,又回到了用户选择界面!Administrator用户也是一样,登陆就注销,无法进入(后来才明白这就是所谓的“运行登陆脚本”)。当时我并不是很着急,因为毕竟做了备份。
知道了这个进程的重要性,我开始进行恢复工作。
1.进入安全模式,想在安全模式下导回删去的键值。没想到在安全模式下的选择用户界面下也遇到同样的问题。
2.恢复上一次正确配置,但是其实无法启动并不是因为配置不正确,所以恢复的就是已经启动不起来的系统。
3.进入命令提示行模式,但这还是需要先登陆用户。
4.用软盘启动进入DOS,但无法运行regedit等命令,甚至无法看到备份文件,因为该文件在“桌面”的中文路径下。
5.用Windowsxp2光盘启动到控制台,但是命令有限,无法修改注册表。
至此,简单的修复方法均告失败!
备选方案:
1.在DOS中编写C程序修改注册表,在Boot.ini之类的文件中执行,但不知道Userinit的执行顺序如何。
2.将硬盘挂到别人的电脑上,修改注册表。但不知regedit能否修改非启动盘的注册表文件。
3.恢复镜像。但我上一次镜像在3个月前,这之间新装了不少于毕设相关的软件,如果恢复,之后也很麻烦。而且这种方法技术含量比较低,如果实在没办法了,这才是最后的方案。
最终解决方案:
找了好多工具都无法实现不登录系统直接编辑注册表,最后想到了“深山红叶”,于是上网下载了一个最新版深山红叶袖珍PE系统工具箱V24《黑客X档案专用版》刻录成光盘,并在虚拟机上试验成功,可以修改本机注册表。
下载地址:http://www.downxia.com/downinfo/188.html,
光盘启动-[1]Windwos PE(xp)深山红叶光盘工具箱-开始-强力系统修复ERD2003-首先在此设置当前系统目录!(当前=C:\windows[选择当前系统路径])-注册表编辑器(Regedit,针对硬盘系统)-找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon],在其下新建一个字符串值,键名为"Userinit",键值为"C:\WINDOWS\system32\userinit.exe,",重新启动,系统登陆正常。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我的winXP 是SP2版本,今天登陆后输入用户名密码老是自动注销,怎么都进不去,在安全模式下也一样,用瑞星在DOS下杀毒也没发现病毒,现在不知道怎办才好,我都快疯了。
答案:
1.用系统盘启动,登录进恢复控制台,copy c:\windows\system32\userinit.exe userinit32.exe 重新启动就可以正常登录了。
2.原因是MSN FUNNY病毒把正常的userinit.exe给破坏了,并且把注册表里的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 下的Userinit 键值由C:\WINDOWS\system32\userinit.exe, 改成了C:\WINDOWS\system32\userinit32.exe,
所以COPY以后,WINXP能找到这个登录处理程序从而成功登录。
登录进系统后,重新把这个注册表键值恢复即可。
3.除了用安装光盘修复外,还可通过局域网联机修复(远程修改注册表):如用pstools里的psexec.exe执行
Psexec.exe \\主机名 -u 管理员用户名 -p 密码 c:\windows\regedit -s d:\us.reg
us.reg 内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Userinit"="C:\\WINDOWS\\system32\\userinit.exe,"
3.控制面板-管理工具-本地安全策略--本地策略-安全选项“当登陆时间用完时自动注销”停用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[原创]WINXP登录后马上自动注销解决方法
一台WINXP的机器,感染了一个MSN传播的病毒,手工清除了病毒文件后,重启,
系统每次登录就直接注销,安全模式下也是,最后正确配置也没用。
解决方法:
A、若病机可以网络连接:
1、将正常机下的 系统盘:\windows\system32\userinit.exe 拷贝至病机相应目录下;
2、用正常机的注册编辑器的“文件”菜单下的“连接网络注册表(C)”连接到病机的注册表,检查以下是否存在以下注册表子项(注意是项并非是键值):
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\Userinit
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\Userinit
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\Eventlog\Application\Userinit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Userinit
内容为
键[EventMessageFile](类型为“可扩充字符串值”)内容为:%SystemRoot%\System32\userinit.exe
键[TypesSupported](类型为“DWORD值”),内容为:00000007
同时检查:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon项下是否存在以下键值:
键[Userinit](类型:“字符串值”)内容:“E:\WINDOWS\system32\userinit.exe,”(注意:没有引号,且串中的E:为您的WINXP所在的盘符)
B、若病机不可网络连接:
用系统盘启动,登录进恢复控制台,copy c:\windows\system32\userinit.exe userinit32.exe 重新启动就可以正常登录了。
原因是MSN FUNNY病毒把正常的userinit.exe给破坏了,并且把注册表里的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 下的Userinit 键值由C:\WINDOWS\system32\userinit.exe, 改成了C:\WINDOWS\system32\userinit32.exe,
所以COPY以后,WINXP能找到这个登录处理程序从而成功登录。
登录进系统后,重新把这个注册表键值恢复即可。
http://hi.baidu.com/popsky/blog/item/ac0391ef5829bcefcf1b3e65.html |
|