Windows系统关键目录的文件有缺失或存在异常或出现新文件可能导致哪些后果

2023-04-10 11:59:16 浏览数 (1)

Windows系统关键目录很多,这些目录文件有缺失或存在异常或出现新文件可能导致严重后果,下面举几种常见例子,后续遇到了新case会再增补。

1、drivers目录,C:WindowsSystem32drivers

该目录存放系统驱动文件,一般按时间倒序排列能看到最新引入的驱动文件(有些新安装的软件集成的驱动比较旧也可能出问题),可用process explorer定位,最好找到引入驱动的软件官网查询去除驱动的办法,贸然直接干掉驱动可能导致系统异常,参考这个case:https://cloud.tencent.com/developer/article/1957099

驱动兼容性不好的话,可能导致蓝屏宕机、死机、远程或vnc无响应、内存泄漏等,例如内存泄漏的case:https://cloud.tencent.com/developer/article/1948812

2、CatRoot目录,C:WindowsSystem32CatRoot

误删除了C:WindowsSystem32CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE} 导致系统异常,报错critical service failed,错误码0xC000021A,并且F8所有分支包括3种安全模式(安全模式、网络安全模式、命令行安全模式)都进不去系统,报错信息都一样。

解决办法:拷贝系统差异很接近的正常系统的文件,在winpe下替换到原位置,重启机器后顺利进入系统

3、CatRoot2目录,C:WindowsSystem32CatRoot2

CatRoot、CatRoot2跟windows update有关系,这2个目录尽可能不要动CatRoot,这2个目录有异常,最直接影响的就是update,严重的话进不去系统。如果update有异常,可以逐条尝试如下命令

net stop msiserve

net stop cryptsvc

net stop BITS

net stop WUAUSERV

Ren c:windowsSoftwareDistribution SoftwareDistribution.bak

Ren c:windowssystem32catroot2 catroot2.bak

net start msiserve

net start cryptsvc

net start BITS

net start WUAUSERV

4、assembly目录,C:Windowsassembly

该目录数据缺失,会导致.msc命令执行报错,参考https://cloud.tencent.com/developer/article/1936608

解决办法:从正常系统拷贝,在winpe下替换

5、C:WindowsSystem32*.dll

C:WindowsSystem32 目录的一些.dll动态库文件、C:WindowsSystem32drivers 目录的一些.sys驱动文件,可能导致进不去系统。

遇到过一个case,https://cloud.tencent.com/developer/article/1871412

解决方案:从正常系统拷贝,在winpe下替换,然后参考https://cloud.tencent.com/developer/article/1930775

6、Fonts目录,C:WindowsFonts

该目录是存放字体文件的,但病毒木马爱钻这个目录

由于该目录在UI上不像普通文件夹,不易发现里面的异常文件,可参考https://cloud.tencent.com/developer/article/1613296

7、C:ProgramDataMicrosoftWindowsCaches*.dll

该目录默认没有.dll文件,存在话可能就是病毒木马钻这里了,之前遇到过一个case,系统进不去,转圈,其他F8分支都进不去系统,安全模式可以进系统

https://cloud.tencent.com/developer/article/1938502

有个注册表可以调C:ProgramData的位置,一般是不建议动ProgramData目录位置的,因为很多地方依赖它,遇到过改ProgramData位置导致系统异常的的case:https://cloud.tencent.com/developer/article/1935717

8、C:WindowsResourcesThemes 主题目录如果缺失aero*,可能导致看不到图形界面

解决办法:从正常系统拷贝,在winpe下替换

9、AppLocker目录,C:WindowsSystem32AppLocker

该目录默认是空文件夹,删除可能导致系统开始菜单异常

sihost.exe对应的进程名为shell infrastructure host 「外壳shell基础设施infrastructure宿主host」,就是和OS的外壳有关的东西都依赖它,不能关闭

开始菜单报错一般是因为ShellExperienceHost(简写SEH,3个单词首字母)起不来导致的问题,我们查看了当时的任务管理器,确实没有看到SEH在运行,查看app log也没有SHE的crash报错,这个问题应该发生在Sihost.exe去激活SEH的过程中出现的问题

程序包Microsoft.Windows.ShellExperienceHost_ 部署被AppLocker阻止。

procmon能监测到 CreateFile C:WindowsSystem32AppLockerAPPX.AppLocker PATH NOT FOUND

在问题机器中发现C:windowssystem32下面不存在AppLocker这个文件夹,而正常机器中是有的,默认是空的

创建了一个新文件夹命名为AppLocker之后,点击开始菜单,可以正常工作。

也可以使用第三方软件StartIsBack(适用Win10、不适用Win11,适用Win11的是StartAllBack)改造开始菜单为经典菜单

10、C:WindowsSystem32appmgmt ,别看子目录是空的,Windows系统博大精深(处处是坑),别看见空的就想删,上面的AppLocker就是例子

appmgmt是个服务,sc qc appmgmt

sc qdescription appmgmt

描述: 为通过组策略部署的软件处理安装、删除以及枚举请求。如果该服务被禁用,则用户将不能安装、删除或枚举通过组策略部署的软件。如果此服务被禁用,则直接依赖于它的所有服务都将无法启动。

11、C:Program FilesCloudbase Solutions,这是系统组件,禁用或删除会影响系统重置密码等功能,具体请参考https://cloud.tencent.com/developer/article/1883449

12、C:WindowsSystem32config

举2个case

系统进不去,报错注册表文件C:WindowsSystem32configSYSTEM损坏,替换为C:WindowsSystem32configRegBackSYSTEM后重启机器,蓝屏,报BAD SYSTEM CONFIG INFO,整体替换为备份注册表C:WindowsSystem32configRegBack目录的DEFAULT、SYSTEM、SOFTWARE、SECURITY、SAM后重启重新识别硬件并最终顺利进入系统。

②进系统特别慢,发现C:WindowsSystem32configRegBackSYSTEM 这个文件就1.5G,用微软出的特殊软件 dureg 或第三方注册表软件可以定位具体是哪个子目录最大,在有备份的情况下,可删除异常的子目录来改造SYSTEM注册表使之变小后放回原系统开机对比。

【问题原因】驱动问题导致System注册表占用过大(1.5G),系统无法加载,通过查询src mouse sideband发现与Multipoint Service有关:

http://www.yourpcdrivers.com/drivers/src-mouse-sideband-1/59349/89da474cc143387cfaa1964e5cae19eb

为什么是1.5G,请参考如下:

https://docs.microsoft.com/zh-cn/windows/win32/sysinfo/registry-storage-space

打开Registry Workshop → 文件 → 加载配置单元 → 接下来,通常我们只需要查看ControlSet001、ControlSet002和CurrentControlSet三个项的属性即可,通过查看所有子项数目即可初步判断,超过1万条的就有疑问。

顺藤摸瓜,当注册表子项条目过多时,可以通过双击展开其子子项,通过展开条目数也可以快速定位问题注册表位置,问题现象:当其子子项过多时,加载非常慢甚至出现无响应。发现异常注册表项时(非系统关键注册表),可以对其进行批量删除即可。注意:注册表操作前建议先备份。

前面我们用到了“查看属性、双击展开”方式来看注册表子项数目,下面我们通过经验判断查找可能的异常子项,如:Enum子项应该优先关注带大括号{}的子项,这样方便快速定位问题注册表项

在删除SRCMouPdo时无法删除,提示权限不足,查看属性发现只有system用户才能操作,这就需要提权操作(先在属性里勾选system用户,勾选后还是不行,再提权),参考https://cloud.tencent.com/developer/article/1880777

最终将处理好的SYSTEM注册表通过winpe放回原机器,并执行chkdsk /f 检查文件系统无异常后重启验证效果可快速进入系统。

13、C:WindowsSystem32ucrtbase.dll

此文件损坏(比如在update时发生损坏),会导致蓝屏进不去系统,机器安全模式选项无法进入,修复启动引导也无济于事,报错:0xc000007b

从日志看,C:WindowsSystem32ucrtbase.dll损坏,从正常系统替换这个文件后顺利进入系统,但还是发现其他问题,分析日志是update环节可能出了问题,损坏的文件不止1个,因此选择备份业务数据后重装系统

14、C:WindowsSystem32perf*.dat

C:WindowsSystem32perfc009.dat

C:WindowsSystem32perfd009.dat

C:WindowsSystem32perfh009.dat

C:WindowsSystem32perfi009.dat

这4个文件丢失或损坏,会出现远程不上(远程在证书黄色感叹号界面瞬间报错后,远程服务自动停止运行)、servermanager右上侧红色小旗子报错refresh failed且安装或卸载角色时拉不出角色列表、安装wireshark安装不上npcap、磁盘管理器不能操作磁盘。

从正常系统拿了这4个文件在winpe里替换后,问题迎刃而解,参考

https://cloud.tencent.com/developer/article/2029140

https://cloud.tencent.com/developer/article/2029138

https://cloud.tencent.com/developer/article/2043666

15、C:WindowsSystem32DriverStore目录文件缺失

我遇到的情况是C:WindowsSystem32DriverStoreFileRepository下的子目录都存在,但是里面的文件都没有了,导致自定义镜像购买的新机器没法识别到完整的驱动,出现键盘有效、鼠标失灵、不能正常加载网卡的情况。

从正常系统拿了C:WindowsSystem32DriverStore目录,在winpe下整体替换后恢复正常。

16、C:Windowsapppatch目录有奇怪的.sdb文件,文件名中有关键词CA4A560E

现象:登录卡在"请稍候" "请等候 User Profile Service","禁用驱动程序强制签名"登录正常

这个是我遇到最难的问题,单独写了文档https://cloud.tencent.com/developer/article/1942103

17、最关键文件C:WindowsSystem32svchost.exe 缺失

现象:黑屏

解决办法:从正常系统拿了该文件,在winpe下恢复到原位置

正常来说,system32和syswow64目录都有一个svchost.exe,异常的系统通过winpe everything搜索发现缺少C:WindowsSystem32svchost.exe,从正常系统拿文件放到原位置即可

另外,异常系统在winpe下使用360系统急救箱还发现安全问题,有个svchcst.exe的木马,C:WindowsSystem32svchost.exe 缺失可能跟这个木马有关。

用registry workshop全局搜了svchcst.exe,发现该木马注册了服务,删除木马文件并清理注册表,恢复svchost.exe后顺利进入系统,安全杀毒软件全盘杀毒。

18、C:WindowsSystem32SMIStoreMachineSCHEMA.DAT

安装补丁更新失败,提示报错0x8007371

CBS日志有registrymachineSchema

SCHEMA.DAT损坏或不存在会影响update报错

重命名了SCHEMA.DAT,然后重启机器,运行control.exe /name Microsoft.WindowsUpdate 打开update界面检查补丁更新,自动生成了新的SCHEMA.DAT文件,补丁也可以正常安装了。

19、其他Windows关键目录,可参考https://cloud.tencent.com/developer/article/1618592

0 人点赞