一台WIN2K SP4机器,可能是操作原因,在登陆界面输入密码后无法进入桌面,提示"加载个人设置"后重新要求输入密码. 如果是xp机器,一般重建新用户,然后用新用户登陆后可以解决.
可惜是脆弱的2000!
以前的解决办法是重装,因为遇到过几次都没彻底解决,所以这次想研究下,顺便蹭顿中饭.
分析:我们知道,Windows 2000的引导过程分为预引导、引导、内核加载、内核初始化和系统登陆五个阶段. 在第五个阶段,由WIN32子系统启动WINLOGON.EXE,并由它启动LOCAL SECURITY AUTHORITY(LSASS.EXE)显示登录对话框。用户登录后,WINDOWS2000/XP会继续配置网络设备和用户环境。待进入桌面后,win2000启动完成.
既然登陆框已经出现,且已经提示 加载个人设置,那么说明winlogon.exe文件成功启动后,有个文件或者服务没有加载,导致系统始终无法进入桌面.
是什么文件/服务呢?
这样的文件没有几个,如果用streng2查杀木马的话,一定会遇到过"userinit.exe被修改"的提示.我们查下资料,
userinit.exe的描述如下:
文件名: userinit.exe
显示名: Microsoft Windows 操作系统
描述: Userinit 登录应用程序 Userinit.exe是Windows操作系统一个关键进程。用于管理不同的启动顺序,例如在建立网络链接和Windows壳的启动。
发行者: Microsoft Corporation
数字签名方: Microsoft Windows Verification PCA
文件类型: 应用程序
文件路径: C:\Windows\system32\userinit.exe
启动类型: 注册表: 本地计算机
位置: SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon\userinit 与操作系统一起提供: 是
那让我们看看是不是因为没有加载userinit.exe造成启动失败的.
进入dos,搜索c:\winnt\system32,无此文件.
先不忙恢复文件,再看看注册表键值是否正确.这里我用的是深山红叶袖珍PE工具箱,光盘引导pe系统后,设置系统所在目录,在注册表中定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
发现此时键值为"userinit.exe,",
解决:
1,修改为上文键值为"c:\winnt\system32\userinit.exe,"
2,去工作正常的win2000机器拷个userinit.exe到本机system32文件夹下.(也可以使用expand X:\i386\userinit.ex_命令从光盘恢复)
重起后,恢复正常.
ps:
1,windows2000/xp启动过程,建议经常作windows维护的朋友们多看几遍,对故障的判断非常有好处.
2,使用故障恢复控制台和修复安装应该也可解决,但我从没使用成功的经历,鄙视下我自己.
3,今天是腊月29,饭店厨师都放假了,so....吃的很刻苦.