修复CheckSUR.log中发现的错误

本文介绍如何解决系统更新就绪情况工具 (CheckSUR) 发现但无法自行更正的服务损坏问题。 工具的输出记录在 %WinDir%\Logs\CBS\CheckSUR.log 文件中。

适用于:Windows 7 Service Pack 1,Windows Server 2012 R2
原始 KB 编号: 2700601

注意

请确保下载并运行最新版本的 CheckSUR.exe,因为该工具会定期更新。 为此,请参阅使用 DISM 或系统更新准备工具修复Windows 更新错误

使用 CheckSur 日志

若要使用 CheckSur 日志,请遵循以下准则:

  • 如果 CheckSUR 修复了它发现的所有错误,则 CheckSUR 日志将显示以下信息:

    摘要:
    执行秒数:100
    发现 10 个错误
    修复了 10 个错误

    在这种情况下,计算机上不应再有任何服务损坏。 如果仍然遇到错误,则必须对特定错误消息进行故障排除,以查找失败的根本原因。

  • 如果收到 “修复文件不可用” 消息,则表示无法修复工具找到的一些不一致文件。 这是因为该工具不携带正确版本的替换文件。 出现此消息后,CheckSUR.log将显示类似于以下内容的信息:

    摘要:
    执行秒数:264
    发现 3 个错误
    CBS MUM 缺少总计数: 3
    不可用的修复文件:

    servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum
    servicing\packages\Package_for_KB958690_sc~31bf3856ad364e35~amd64~~6.0.1.6.mum
    servicing\packages\Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.mum
    servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.cat
    servicing\packages\Package_for_KB958690_sc~31bf3856ad364e35~amd64~~6.0.1.6.cat
    servicing\packages\Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.cat
    winsxs\manifests\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0.manifest
    winsxs\manifests\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_676975d87cc9b6e6.manifest

    若要解决此问题,请按照下列步骤操作:

    1. 下载包含缺失文件的包。 对于此示例,你将下载 Windows6.0-KB958690-x64.msu。
    2. %SYSTEMROOT%\CheckSUR 文件夹中,创建名为 Packages 的文件夹。 将 Windows6.0-KB958690-x64.msu 复制到 %SYSTEMROOT%\CheckSUR\Packages 文件夹。
    3. 重新运行 CheckSUR。
    4. 如果缺少文件的源包不明显,则必须从另一台计算机获取文件。 确保从中复制 filhates 的计算机使用与正在使用的计算机相同的 OS 版本和系统体系结构。
    5. 按以下子目录格式将文件复制到 %WinDir%\Temp\CheckSUR 损坏的计算机的文件夹,然后重新运行 CheckSUR:
      • 将类型为 *.mum 和 *.cat 的所有文件放入 文件夹中 %WinDir%\Temp\CheckSUR\Packages
      • 将类型为 *.manifest 的所有文件放入 %WinDir%\Temp\CheckSUR\Manifests 文件夹中。
  • 如果看到 “有效负载文件缺失 ”消息,则表示所需的二进制文件不可用。 这意味着问题未修复。 CheckSUR.log显示以下信息:

    摘要:
    执行秒数:100
    发现 3 个错误
    修复 1 个错误
    CSI 有效负载文件缺失总数: 3
    修复 CSI 有效负载文件缺少总计数:1

    (f) CSI 有效负载文件缺少 0x00000000 admparse.dll x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 servicing_31bf3856ad364e35_6.0.6000.16386_none_23ddbf36a8a961bc
    (f) CSI 有效负载文件缺失0x00000000 bootmgr x86_microsoft-windows-b.re-bootmanager-pcat_31bf3856ad364e35_6.0.6000.16386_none_c0f2f087b6457236
    (修复了) CSI 有效负载文件缺失0x00000000 bootmgr x86_microsoft-windows-b.re-bootmanager-pcat_31bf3856ad364e35_6.0.6000.16386_none_c0f2f087b6457236
    (f) CSI 有效负载文件缺少 0x00000000 winload.exe x86_microsoft-windows-b.environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45

    若要解决此问题,请按照下列步骤操作:

    1. 找出缺少哪些有效负载文件。 为此,请检查 CheckSUR 日志。 标识任何具有 (f) 条目的行,该条目后跟不后跟 (修复) 。 在前面的示例中,有两个未修复的有效负载文件。
    2. 从另一台计算机复制这些文件。 确保从中复制文件的计算机使用与正在使用的计算机相同的 OS 版本和系统体系结构。
    3. 将文件粘贴到 下的 %windir%\winsxs相应子文件夹中。

在将文件放入指定位置之前,可能需要授予自己编辑文件夹内容的权限。 为此,请打开提升的命令提示符窗口,并运行以下命令:

takeown /f <Path_And_Name>
icacls <Path_And_Name> /grant Administrators:F

注意

在这些命令中, <Path_And_Name> 表示要面向的文件或文件夹的名称。 例如,可以面向以下文件夹:
C:\Windows\winsxs\x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8

以下命令获取此文件夹的所有权,向 Administrators 组授予文件夹的完全控制权限,然后替换 admparse.dll 文件:

takeown /f C:\Windows\winsxs\ x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8
icacls C:\Windows\winsxs\x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 /grant Administrators:F copy C:\Temp\admparse.dll c:\Windows\winsxs\x86_microsoft-windows-ieadminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8\admparse.dll

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。