如何修复在 CheckSUR.log 中找到的错误

适用于: Windows Vista EnterpriseWindows 7 EnterpriseWindows 7 Professional

简介


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

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

  • 如果 CheckSUR 修复了它找到的所有错误,则 CheckSUR 日志将显示以下信息:
    总结: 执行秒数: 100 发现 10 个错误 修复了 10 个错误
    在这种情况下,您不应再在计算机上有任何服务损坏。如果仍然遇到错误,您必须对特定的错误消息进行故障排除,以查找故障的根本原因。
  • 如果收到"不可用的修复文件"消息,则表示无法修复该工具找到的某些不一致的文件。这是因为该工具不携带替换文件的正确版本。此消息出现后,CheckSUR.log 将显示类似于以下内容的信息:
    总结: 执行秒数: 264 发现 3 个错误 CBS MUM 缺少总计数: 3 不可用的修复文件: 服务\包\包\KB958690_sc_0_31bf3856ad364e35_amd64_6.0.1.6.mum 服务\包\包\KB958690_sc_31bf3856ad364e35_amd64_6.0.1.6.mum 服务\包\包\KB958690_31bf3856ad364e35_amd64_6.0.1.6.mum  服务\包\包\KB958690_sc_0_31bf3856ad364e35_amd64_6.0.1.6.cat  服务_包_包_KB958690_sc_31bf3856ad364e35_amd64_6.0.1.6.cat 服务\包\包\KB958690_31bf3856ad364e35_amd64_6.0.1.6.cat winsx_显性\x86_微软窗口服务堆栈_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0.显化 winsx_显性\am64_微软窗口服务堆栈_31bf3856ad364e35_6.0.6002.18005_none_676975d87cc9b6e6.显化
    若要解决此问题,请按照下列步骤操作:
    1. 下载包含缺少文件的包。在此示例中,您将下载 Windows6.0-KB958690-x64.msu。
    2. 在 %SYSTEMROOT%_CheckSUR 文件夹中,创建名为"包"的文件夹。将 Windows6.0-KB958690-x64.msu 复制到 %SYSTEMROOT%_CheckSUR_包文件夹。
    3. 重新运行检查SUR。
    4. 如果缺少文件的源包不明显,您必须从另一台计算机获取文件。确保从中复制 filhate 的计算机使用与您正在处理的计算机相同的操作系统版本和系统体系结构。
    5. 以以下子目录格式将文件复制到已损坏计算机的 %WinDir%_Temp_CheckSUR 文件夹,然后重新运行 CheckSUR:
      • 将类型 [.mum 和 #.cat] 的所有文件放入 %WinDir%_Temp_CheckSUR_包文件夹中。
      • 将类型为 *.清单的所有文件放入 %WinDir%_Temp_CheckSUR_清单文件夹。
  • 如果看到"有效负载文件丢失"消息,则表示所需的二进制文件不可用。这意味着问题没有修复。CheckSUR.log 显示以下信息:
    总结: 执行秒数: 100 发现 3 个错误 修复 1 个错误 CSI 有效负载文件缺失总数:3 修复 CSI 有效负载文件缺少总计数: 1 (f) CSI 有效文件缺失 0x00000000admparse.dll x86_微软-窗口-ie-管理工具包文件_31bf3856ad364e35_6.0.6000.163 86_none_abfb5fd109dad8b8 服务_31bf3856ad364e35_6.0.6000.16386_none_23ddbf36aa961bc (f) CSI 有效负载文件缺失 0x00000000 bootmgr x86_微软窗口-b.重新启动管理器-pcat_31bf3856ad364e35_6.0.6000.16386_none_c0f2f087b6457236 (修复)CSI 有效文件缺少 0x000000000 引导mgr x86_微软窗口-b.重新启动管理器-pcat_31bf3856ad364e35_6.0.6000.16386_none_c0f2f087b6457236 (f) CSI 有效负载文件缺失 0x00000000winload.exe x86_微软窗口-b.环境窗口_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
    若要解决此问题,请按照下列步骤操作:
    1. 找出缺少哪些有效负载文件。为此,请检查 CheckSUR 日志。标识没有跟跟(修复)(f)条目的任何行。在前面的示例中,有两个未修复的有效负载文件。
    2. 从另一台计算机复制这些文件。确保从中复制文件的计算机使用与正在处理的计算机相同的操作系统版本和系统体系结构。
    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
 
以下命令获取此文件夹的所有权,将文件夹的"完全控制"授予管理员组,然后替换 admparse.dll 文件:
takeown /f C:\Windows\winsxs\ x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8icacls C:\Windows\winsxs\x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 /grant Administrators:Fcopy C:\Temp\admparse.dll c:\Windows\winsxs\x86_microsoft-windows-ieadminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8\admparse.dll