1. 进不去系统的第一现场:怎么判断是config文件夹损坏
1.1 先看现象,对号入座
前阵子帮朋友处理一台老机器,开机过了Windows logo就蓝屏,错误码是STOP: c000021a,屏幕上那一串英文大意是“核心系统进程意外终止”。朋友说这机器昨晚还正常,今天一开机就这样,里面还有一堆没导完的工作资料。我当时第一反应不是重装,而是先检查注册表文件,因为这种"系统文件看起来还在、但就是进不去"的故障,十有八九是注册表hive文件坏了。
config文件夹损坏的情况,在Win7里相当典型。注册表不是存在某个数据库程序里,而是以一整个文件夹的形式躺在C:\Windows\System32\config路径下,里面主要包含SYSTEM、SOFTWARE、SAM、SECURITY、DEFAULT这五个无扩展名的文件。它们分别对应系统服务配置、软件安装信息、用户账户信息、安全策略和默认用户环境。任何一个文件损坏,轻则某个功能异常,重则直接进不去系统。
那怎么对号入座呢?要看现象:
| 故障表现 | 最可能损坏的文件 | 说明 |
|---|---|---|
| 开机蓝屏,错误码类似c000021a | SYSTEM | 系统核心进程加载时读不到服务配置 |
| 卡在“正在启动Windows”转圈,然后重启 | SYSTEM 或 SOFTWARE | 启动阶段的系统服务或软件配置加载失败 |
| 能到登录界面,但输入密码后反复回到登录界面 | SAM | 用户账户数据库损坏 |
| 登录后桌面黑屏、任务栏反复重启、桌面自动刷新 | SOFTWARE 或 DEFAULT | explorer等外壳组件依赖的注册表项缺失 |
| 提示“配置文件无法加载”或“Windows无法加载您的配置” | DEFAULT | 默认用户配置损坏 |
这里多说一句,很多用户搜“win7桌面自动刷新”“win7资源管理器频繁重启”,其实并不是桌面进程的问题,而是注册表里外壳相关的键值已经处于半损坏状态。如果这种问题出现了一两周,然后某天突然开机进不去系统了,那基本可以锁定SOFTWARE或者DEFAULT文件出了状况。
1.2 分清引导损坏与注册表损坏
这是排查里最容易走偏的一步。不少人在系统进不去以后,第一反应是修复引导,跑bootrec /fixmbr、bcdboot一套下来,结果毫无变化,因为这压根不是引导问题。
怎么区分?很简单:
- 如果开机提示“Bootmgr is missing”或“Missing operating system”,这是引导坏了,和config文件夹没关系。
- 如果开机能看到Windows logo、能看到“正在启动Windows”字样,或者蓝屏、黑屏、无限重启,那引导是好的,问题出在系统加载阶段,注册表损坏的概率极高。
- 还有一种情况是开机直接进入“启动修复”界面,这也说明系统活着,但某个关键启动组件出了问题,其中就包括注册表文件。
所以排查的第一步不是修,而是先判断故障发生在哪个阶段。判断方法也很简单:看有没有进入Windows加载界面。只要过了开机自检,能看到Windows的图形元素,就可以把注意力从引导转移到系统文件和注册表上。
1.3 在PE里用文件特征定位到具体的hive文件
如果已经准备用PE启动盘,那更直接:进PE后打开系统盘的Windows\System32\config文件夹,看这几个文件的大小和修改时间。
正常来说,SYSTEM文件大小在十几MB到几十MB之间,SOFTWARE文件几十MB到几百MB不等,SAM、SECURITY、DEFAULT通常是几MB。如果某个文件变成0字节、只有几KB、或者明显比同机其他文件小得离
