如何解决 CheckSUR.log 中找到的错误

适用于: Windows Vista EnterpriseWindows 7 EnterpriseWindows 7 Professional

简介


本文介绍如何解决维护损坏系统更新准备工具 (CheckSUR) 发现了,但不能纠正自己。您可以在 %WinDir%\Logs\CBS\CheckSUR.log 中找到此信息

注意: 确保您下载并运行最新版本的 CheckSUR.exe,因为它会定期更新。
http://support.microsoft.com/kb/947821

使用 CheckSur 日志
  1. 如果此系统更新准备工具已修复找到的所有错误,CheckSUR.log 将显示以下信息:

    摘要:
    秒执行: 100
    发现的 10 个错误,
    固定的 10 个错误
    在这种情况下应该再也不维护损坏您的计算机上。如果您仍收到错误来完成此操作后,需要解决特定错误消息来查找故障的根本原因。
  2. 如果无法修复的文件信息,这表明一些不一致的文件找到的工具无法修复之后,如由该工具不能继续替换文件的正确版本。此消息出现后,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. 将 Windows6.0 KB958690 x64.msu 复制到 %windir%\temp\checksur 下的程序包文件夹。您可能需要创建该目录。
    3. 重新运行系统更新准备工具。
    4. 如果不明显缺失的文件来源于何种包,您需要从另一台计算机中获取这些文件。请确保您正在复制的文件的计算机相同的操作系统版本和系统体系结构。
    5. 将文件复制到 %WinDir%\Temp\CheckSUR 目录下的子目录格式损坏计算机,然后重新运行系统更新准备工具:
      • 类型 *.mum 和 *.cat 的所有文件应都放置在 %WinDir%\Temp\CheckSUR\Packages 目录中
      • 应放在 %windir%\temp\CheckSUR\manifests 目录中所有文件的类型 *.manifest

  3. 如果得到有效负载文件丢失的邮件,则所需的二进制文件不可用。这意味着该问题不固定。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 窗口 b.环境-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
    要解决此问题的步骤
    1. 找出哪些负载文件是缺少通过查看 CheckSUR.log。识别有 (f) 任何行不跟 (修补程序)。从前面的示例中有两个未修复的有效负载文件。
    2. 您将需要从另一台计算机中获取这些文件。请确保您正在复制的文件的计算机相同的操作系统版本和系统体系结构。
    3. 将文件粘贴到下 %windir%\winsxs 的正确子目录

注意: 之前将这些文件放在适当的位置,您可能需要授予自己权限才能编辑该文件夹的内容;下面是有关如何实现此目标的快速指南。
  • 在提升的命令提示符: takeown /f < Path_And_File_Name >
    例如: takeown C:\Windows\winsxs\ x86_microsoft /f-windows 的 ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8
  • 现在授予对文件的完全访问权限: icacls < Path_And_File_Name > /grant F 管理员:
    例如: icacls C:\Windows\winsxs\x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 /grant F 管理员:
  • 现在使用已知完好的拷贝替换文件: < 复制 Path_And_File_Name_Of_Source_File Path_And_File_Name_Of_Destination >
    示例:复制 C:\Temp\admparse.dll c:\Windows\winsxs\x86_microsoft-windows-ieadminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8\admparse.dll