STOP: 0xc000021a Unknown Hard Error
报错信息如下:STOP: 0xc000021a Unknown Hard Error(第一行)。Unknown Hard Error(第二行)。微软告诉我们这是一个致命系统错误,当WindowsNT内核检测到Winlogon.exe或Csrss.exe进程无法加载或 状态异常时, 会停止系统并引发 0xC000021a STOP错误。
我很心虚,因为我的确在注册表里删除了一条和csrss.exe有关的记录,当时我正在卸载BitDefender的残余信息,天知道我为什么那么不小 心。不过事已至此,赶紧补救吧。借同事的笔记本上网查了查类似故障的处理方法,居然大多是重装系统和换硬盘——真是开玩笑啊,有这么严重吗 0_0
当时身边没有restore CD,也没带外置光驱,只好忍到今天。中间的这段日子晚上只好看电视,发现大部分的电视节目真是无聊到一定程度了,毫无品位可言。
a、找到Restore CD和一个U盘(或外置硬盘),都先接好。光盘启动,按“R”选择“恢复控制台”,选择安装系统的分区,然后输入管理员密码即进入到控制台下;
b、输入map命令查看U盘的盘符,假设是e盘。接着输入引号内的内容“copy c:\windows\system\config\system e:\”,然后回车,此时HKEY_LOCAL_MACHINE下SYSTEM的内容被复制到U盘里;
c、把U盘连接到一台正常的XP电脑上,运行regedit打开注册表,选中HKEY_LOCAL_MACHINE主键,然后选择“文件-加载配置单 元”,选择U盘里的SYSTEM文件,然后你需要指定加载到那个分支,随便输个名字吧,比如dog——这一步的作用是使用regedit打开出错的注册表 文件以便进行编辑;
d、在正常的PC注册表里找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\SubSystems下的Windows键,其键值是“%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16”,我就是误删了这个键造成无法进入系统的:(
e、在加载的dog下也可以找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\SubSystems,但是少了步骤d中的Windows键,新建一个属性为“可扩充字符串值”的键,重命名为“Windows”,键值 就填步骤d中的键值,然后选择“文件-卸载配置单元”,这时U盘里的注册表文件就更新完成了。
f、再把U盘接到无法启动的笔记本上,输入命令“copy e:\system c:\windows\system\config\”,更新注册表,然后重启机器,使用硬盘启动,顺利进入Windows桌面:)