如何修复Edge浏览器无法使用的错误:无法创建内容处理,错误代码:0x8027025b
2019年9月9日

最近碰到一个 Edge 浏览器不工作的问题,Edge 打开后无法访问任何站点,一直报错:“这很奇怪...有些东西停止工作,所以这个页面无法加载。”,详细信息为:“无法创建内容处理,错误代码:0x8027025b”。这个问题是由于系统文件夹 C:\Windows\System32 缺少了所有受限制的应用程序包的权限以及注册表:HKEY_LOCAL_MACHINE\Software缺少了 S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 权限所导致。这篇文章将讲述如何修复这两个特殊账户权限丢失的问题。

问题分析

从 Process Monitor 日志可以看到,多个 Edge 标签页进程(MicrosoftEdgeCP.exe)在启动后瞬间就结束运行了。

随便选择其中一个 MicrosoftEdgeCP.exe 来分析一下为什么会秒退。在日志中我们看到该进程在访问一些位于 C:\Windows\System32 下的 DLL 文件时遇到了"ACCESS DENIED"错误,然后就立刻结束了进程。

然后我们找来一台正常的机器与这台有问题的机器做对比,可以发现好的机器的 C:\Windows\System32\edgeIso.dll 有给 ALL RESTRICTED APPLICATION PACKAGES (即:所有受限制的应用程序包)权限,而出问题的机器上却没有这个账户的权限。

添加 ALL RESTRICTED APPLICATION PACKAGES (所有受限制的应用程序包)权限

ALL RESTRICTED APPLICATION PACKAGES所有受限制的应用程序包)是一个特殊的系统账户,专门给 Windows 10 上的 UWP 应用使用,并且该账户无法从界面中手动添加。我们只能通过安全模板来添加相应的权限到 S-1-15-2-2(S-1-15-2-2 即为所有受限制的应用程序包的 SID)。

  1. 打开 MMC,添加管理单元:安全模板。展开安全模板,右键点击 新加模板

  2. 名字随便写什么,这里我就用fix-edge

  3. 展开 fix-edge,右键点击 文件系统,点击 添加文件,选择目录:C:\Windows\System32,弹出的安全设置中保持默认配置,直接点击 确定。在下一页添加对象中也是保持默认设置,点击 确定

  4. 右键点击 fix-edge,点击 保存

  5. 根据模板路径,打开该目录,会找到对应的配置文件:fix-edge.inf,双击在 notepad 中打开。

  6. 在 File Security 配置(最后一行)的引号内,添加黄色高亮部分配置:(A;;0x1200a9;;;S-1-15-2-2)(A;OICI;0x1200a9;;;S-1-15-2-2),然后保存文件。

  7. MMC 中添加另一个管理单元:安全配置和分析。 右键点击它然后选择 打开数据库

  8. 文件名输入 fix-edge,点击 打开, 导入模板中选择:fix-edge.inf

  9. 再次右键点击 安全配置和分析,选择 立即配置计算机

  10. 日志文件可以保持默认设置,点击 确定 即可,然后耐心等待其完成。

  11. 完成后我们可以看到 "ALL RESTRICTED APPLICATION PACKAGES"(所有受限制的应用程序包)的权限已经正确设上了。

修复 S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681 的注册表权限

修复系统文件的权限后,在我这里 Edge 仍旧无法打开。通过再次抓取 Process Monitor 日志,发现这次 Edge 进程访问C:\Windows\System32下 DLL 文件不再有问题了,这次进程退出是发生在访问HKLM\Software注册表失败后,失败的原因同样是"ACCESS DENIED"。

同样的,我们来对比一下好的机器和不好的机器上注册表HKLM\Software的权限。我们发现坏的机器在HKLM\Software上缺少了S-1-15-3-1024-1065365936-1281604716-3511738428-1654721687-432734479-3232135806-4053264122-3456934681这个账户的权限,然而在其上层的HKLM中,该账户的权限是有的。

所以我们只需要进入注册表HKLM\Software的高级安全设置页面,然后点击 启用继承 按钮,点击 确定,即可使HKLM\Software上的权限继承自HKLM。耐心等待该操作完成,因为系统需要一些时间把权限下发到HKLM\Software下所有的子目录。

修复了注册表权限之后,Edge 就可以正常打开是用了。