1.一般导致故障发生的原因是kernel32.dll文件丢失或者被损坏。解决办法是用Windows故障控制台重新从WinXP的安装光盘上提取一个新的kernel32.dll文件。启动故障控制台,进入Windows\System32目录下,然后输入ren kernel32.dll kernel32.old(改名)再回车,输入map,放入WinXP安装盘,输入expand X:\i386\kernel32.dl_(释放)

2.感染了一个MSN传播的WORM_FUNNER.A病毒,系统每次登录就直接注销,安全模式下也是,最后正确配置也没用。用系统盘启动,登录进恢复控制台,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能找到这个登录处理程序从而成功登录。
登录进系统后,重新把这个注册表键值恢复即可。
 
最终解决:
注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 这个分支下有个叫USERINIT的键值被破坏了,正常的值应为C:\WINDOWS\system32\userinit.exe。
或者是C:\winnt\system32\userinit.exe