1. kernel32.dll文件丢失或者被损坏。
解决办法是用Windows故障控制台重新从WinXP的安装光盘上提取一个新的kernel32.dll文件。启动故障控制台,进入Windows\System32目录下,然后输入ren kernel32.dll kernel32.old(改名)再回车,输入map,放入WinXP安装盘,输入expand X:\i386\kernel32.dl_,然后按回车键,输入EXIT,当电脑重新启动时,取出WINXP光盘,电脑可正常启动.
2.注册表里userinit.exe 被删除了。
用系统盘启动,登录进恢复控制台,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能找到这个登录处理程序从而成功登录,登录进系统以后重新把这个注册表键值恢复即可.
除了用安装光盘修复外,还可通过局域网联机修复(远程修改注册表):如用pstools里的psexec.exe执行
下载pstools.rar 把解压出来的文件复制到 system32文件夹下
在开始 运行里 输入
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"
2000的改成
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Userinit"="C:\\WINNT\\system32\\userinit.exe"
也可以用DameWare NT Utilities的远程命令控制台 运行
c:\>c:\WINDOWS\regedit -s d:\us.reg
US.reg 先复制到D盘