2012升级R2过程中强制关闭了计算机,导致再次启动后蓝屏提示"BAD_SYSTEM_CONFIG_INFO"。用2012安装盘进入尝试修复失败(安全模式什么的都不用想),进入命令提示符查看错误日志发现是由注册表意外损坏引起(本想上调试器)。
由于Windows在升级时会对原有注册表进行备份,可以在对应操作系统盘符+"\Windows\System32\config\RegBack"下找到(例如:C:\Windows\System32\config\RegBack),将下面的文件覆盖对应"\Windows\System32\config"目录下文件。
重新启动后继续蓝屏并提示"the boot Configuration Data file is missing some required information File:/Boot/BCD Error code 0xc0000034",需要再次进入命令提示符修复BCD存储,执行命令如下:
Bootrec /RebuildBcd
之后会扫描到对应的Windows目录,输入"Y"回车即可。重新启动Windows已可以正常进入,但用户配置文件已损坏无法正常加载,这个时候Windows会为当前的系统管理员账号创建一个临时配置,对应目录:C:\Users\TEMP。查看User Profiles发现账号的Status=Backup,决定去注册表将对应账号的状态重置进入系统。
用户的配置信息存放在"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"下,系统管理员的原始配置项被添加了bak后缀。将RefCount、State的值都修改为0,同时删除临时配置项重新登录。发现仍然无法使用原有用户配置,打开事件查看器发现ntuser.dat被占用,使用pe搜索未发现占用进程。推测这个状态很有可能保存在ntuser.dat内部。决定备份原始配置目录被删除它,交由系统重新创建ntuser.dat之后再将除此之外的文件复制过去。