全部Windows服务报错<读取描述失败。错误代码: 2 > ,所有管理员按钮点不动没UAC弹窗
鸟人飞飞
编辑于 2023年12月26日 07:35
收录于文集
共108篇

今天某网友的win11 22h2 x64电脑上遇到了这样的问题:

因为windows安全中心自动删除软件,试图关闭它的防护时关不掉。

小白而言,如果关不掉defender,那装个第三方杀毒软件顶替就行了。

说是这么说,问题还是要解决。远程检查defender为什么关不掉时,发现defender里的所有按钮都点不动,点了关闭立即恢复启动。网友电脑开了UAC的,正常而言点关闭是有UAC弹窗,而现在没有。

  • defender组策略注册表检查过了,没有问题。

  • powershell重置过SecHealth,没有解决。

怀疑是权限问题,上procmon分析access denied的事件,没有任何发现。然后检查服务是否有禁用时,发现了新问题:

所有Windows服务都报错<读取描述失败。错误代码: 2 > 

然而用procmon分析.dll和.mui文件的NOT FOUND事件,没有任何发现。怀疑语言设置问题,运行intl.cpl,管理,更改系统区域设置,居然点不动。

出问题之前是能正常打开的。所以现在这个问题影响的范围有点广,包括此电脑图标名字也变成英文了。

问题影响范围有点大,先排除下用户配置问题,于是新建了管理员账户登录。

新账户登录失败!

出现了问题,但你可以重试。OOBESETTINGS。

跟我另一个视频系统更新升级或新建账户登录时出现报错OOBESETTINGS的解决思路​的问题很像,但还有些许差别,能看到“为你的设备选择隐私设置”,点击接受后才报错,而视频在这之前就报错了。

怀疑是语言包问题,但是网友电脑上没安装appx的语言包,我主动安装上简体语言包了问题也还在。

查看“c:\users\新用户文件夹”权限,提示:

无法打开访问控制编辑器。激活要求在CLSID密钥下面有显示名称。

或者是“无法打开访问控制编辑器。配置注册表数据库损坏。”

甚至在用户文件夹里新建文件夹也会报错“配置注册表数据库损坏”。

  • 用procmon分析启动日志的access denied事件了,但没发现任何相关日志。

  • 也分析过了读取mui文件的事件,没发现异常。

  • 分析mmc.exe打开services.msc的事件,没发现拒绝访问或找不到文件事件。

  • 检查过常见文件夹的权限正常。

  • 检查过事件查看器日志,没有相关事件。

  • 检查了注册表HKCR\Local Settings\MuiCache权限,正常。

  • 删除了MuiCache,再次访问intl.cpl的系统区域设置,还是打不开;服务也还是异常。

    按理MuiCache会重新生成,但是已经重启过电脑还是没生成。

到这里已经知道是Mui方面的问题,但不知道问题出在哪里。另外还跟UAC无法自动提权有关。

在关闭UAC后,defender正常了,intl.cpl里的设置也能正常打开了,唯独服务里描述还是报错。由于检查浪费了不少时间,继续占用网友电脑我多少有点不好意思,所以决定导出software和system注册表,然后用23h2镜像升级安装修复。

升级完成后问题也真的解决了。然后再次用reg save命令导出system和software注册表,在虚拟机里对比两次注册表变化,找到了关键的项!

代码块
JavaScript
自动换行
复制代码
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\StringCacheSettings
复制成功

虚拟机里模拟删除StringCacheGeneration或StringCacheSettings,重启后成功复现上面提到的所有问题:

  • defender关不掉,关了自动打开;

  • 没有UAC弹窗;

  • 管理员图标按钮打不开;

  • 新账户登录报错OOBESETTINGS

  • MuiCache注册表删除后不会创建

而且刚好这个注册表路径有“MUI”字符串。StringCacheGeneration的十六进制值又刚好是HKCR\Local Settings\MuiCache子项的名字。重新创建StringCacheGeneration,注销重新登录问题就解决了。

然后问题来了,这个注册表是谁删除的?

网友说自己没动过注册表。然后我网上找了下,还真找到一样问题的。

回复里有人提到了导致问题的软件:ABBYY FineReader PDF

最后也是覆盖安装系统解决的。问了网友也是装过这软件。

至此问题来龙去脉彻底搞清楚了。