使用 DISM 或系统更新准备工具修复 Windows 更新错误

适用于: Windows 10Windows 8.1Windows Server 2012 R2 Datacenter

症状


如果存在损坏错误,则 Windows 更新和服务包可能会安装失败。 例如,如果系统文件损坏,则可能无法安装更新。 DISM 或系统更新准备工具可帮助你修复一些 Windows 损坏错误。

解决方案


对于 Windows 10、Windows 8.1、Windows 8、Windows Server 2012 R2 或 Windows Server 2012

若要解决此问题,请使用收件箱部署映像服务和管理 (DISM) 工具。 然后,重新安装 Windows 更新和服务包。
  1. 打开提升的命令提示符。 要执行此操作,请从屏幕的右侧边缘滑入,然后点按“搜索”。 如果你使用的是鼠标,请指向屏幕右下角,然后单击“搜索”。 在“搜索”框中键入命令提示符,右键单击“命令提示符”,然后单击“以管理员身份运行”。 如果系统提示你输入管理员密码或进行确认,则键入密码或单击“允许”
  2. 键入以下命令,然后按 Enter 键。
    命令操作可能需要几分钟才能完成。
    DISM.exe /Online /Cleanup-image /Restorehealth
    重要说明 当运行此命令时,DISM 通过 Windows 更新提供修复损坏所需的文件。 但是,如果 Windows 更新客户端已断开,则会将正在运行的 Windows 安装用作修复来源,或者将来自网络共享或可移动媒体(例如 Windows DVD)的 Windows 并行文件夹用作文件来源。 为此,请改为运行以下命令:
    DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
    注意 使用修复来源的位置替换 C:\RepairSource\Windows 占位符。 有关使用 DISM 工具修复 Windows 的更多信息,请参考修复 Windows 映像
  3. 键入以下命令并按 Enter 键。
    命令操作可能需要几分钟才能完成。
    sfc /scannow
  4. 关闭命令提示符,然后再次运行“Windows 更新”
DISM 会创建一个日志文件 (%windir%/Logs/CBS/CBS.log),用于捕获此工具发现或修复的任何问题。 %windir% 是 Windows 的安装文件夹。 例如,%windir% 文件夹为 C:\Windows。

对于 Windows 7、Windows Vista、Windows Server 2008 R2 或 Windows Server 2008

若要解决此问题,请使用系统更新准备工具。 然后,重新安装 Windows 更新和服务包。
  1. 下载系统更新准备工具。
    单击下表中与您计算机上运行的 Windows 版本相对应的下载链接。
    查明计算机运行的是 32 位还是 64 位版本 Windows。

    由于该工具定期更新,因此我们建议您务必下载最新版本。

    操作系统下载链接
    基于 x86(32 位)版本的 Windows 7 SP1 和 Windows 7
    下载图标
     立即下载此程序包。
    基于 x64(64 位)版本的 Windows 7 SP1 和 Windows 7
    下载图标
     立即下载此程序包。
    基于 x64(64 位)版本的 Windows Server 2008 R2 SP1
    下载图标
     立即下载此程序包。
    基于 Itanium 版本的 Windows Server 2008 R2 SP1
    下载图标
     立即下载此程序包。
    基于 x86(32 位)版本的 Windows Vista SP2 和 Windows Vista SP1
    下载图标
     立即下载此程序包。
    基于 x64(64 位)版本的 Windows Vista SP2 和 Windows Vista SP1
    下载图标
     立即下载此程序包。
    基于 x86(32 位)版本的 Windows Server 2008 SP2
    下载图标
     立即下载此程序包。
    基于 x64(64 位)版本的 Windows Server 2008 SP2
    下载图标
     立即下载此程序包。
    基于 Itanium 版本的 Windows Server 2008 SP2
    下载图标
     立即下载此程序包。
  2. 安装并运行该工具。
    1. 单击“下载中心”页面上的“下载”,然后执行下列操作之一:
      • 若要立即安装该工具,请单击“打开”或“运行”,然后按照屏幕上的说明执行操作。
      • 若要稍后安装工具,请单击“保存”,然后将安装文件下载到计算机。 准备好安装该工具时,双击该文件。
    2. 在“Windows 更新独立安装程序”对话框中,单击“是”

      “Windows 更新独立安装程序”对话框
       
    3. 当安装该工具时,它会自动运行。 虽然运行时间通常不会超过15 分钟,但在某些计算机上可能会需要更长时间。 即使进度栏似乎已停止,但扫描仍在运行,因此不要单击“取消”

      下载并安装更新 -“正在安装更新”进度窗口

    4. 当看到“安装完成”后,单击“关闭”

      下载并安装更新 - 安装完成
       
    5. 重新安装之前尝试安装的更新和服务包。
若要手动修复工具检测到但是未能修复的损坏错误,请参阅如何修复在 CheckSUR.log 中找到的错误

直接从 Microsoft 更新目录下载程序包

也可以尝试直接从 Microsoft 更新目录下载更新程序包,然后手动进行安装。

例如,当你在 Windows 7 中尝试通过 Windows 更新安装更新 3006137 时,可能会遇到问题。 在这种情况下,你可以下载更新程序包并尝试手动安装更新。 为此,请按照下列步骤操作:
  1. 在 Internet Explorer 中打开 Microsoft 更新目录
    Internet Explorer 中的 Microsoft 更新目录
     
  2. 在搜索框中,输入要下载的更新编号。 在本示例中,输入 3006137。 然后,单击“搜索”
    Microsoft 更新目录 - 搜索
     
  3. 在搜索结果中找到适用于操作系统的更新,然后单击“添加”以将该更新添加至下载篮。
    Microsoft 更新目录
     
  4. 单击“查看下载篮”以打开下载篮。
    Microsoft 更新目录 - 查看选择篮
     
  5. 单击“下载”以下载篮中的更新。
    Microsoft 更新目录 - 你的选择篮
     
  6. 单击“浏览”以选择下载更新的位置,然后单击“继续”
     
    Microsoft Update Catalog - Download Options
     

  7. 下载过程完成后,单击“关闭”。 然后,你可以在指定位置找到包含更新程序包的文件夹。
  8. 打开该文件夹,然后双击更新程序包安装更新。

如果 Windows 更新和服务包安装成功,则安装完成。 如果未修复此问题,或系统更新准备工具找不到原因,请联系我们获得更多帮助

更多信息


有关常见损坏错误的描述

下表列出了可能与 Windows 更新相关的错误代码,仅供参考:
代码 错误 说明
0x80070002 ERROR_FILE_NOT_FOUND 系统找不到指定的文件。
0x8007000D ERROR_INVALID_DATA 数据无效。
0x800F081F CBS_E_SOURCE_MISSING 找不到此程序包或文件的源。
0x80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT 组件存储处于不一致状态。
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH 组件的文件与组件清单中的验证信息不匹配。
0x800705B9 ERROR_XML_PARSE_ERROR 无法分析所请求的 XML 数据。
0x80070246 ERROR_ILLEGAL_CHARACTER 遇到无效字符。
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR 标识字符串格式错误。
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME 标识中的属性名不在有效范围内。
0x8007370A ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE 标识中的属性值不在有效范围内。
0x80070057 ERROR_INVALID_PARAMETER 参数不正确。
0x800B0100 TRUST_E_NOSIGNATURE 主题中没有签名。
0x80092003 CRYPT_E_FILE_ERROR Windows Update 读取或写入某文件时出现错误。
0x800B0101 CERT_E_EXPIRED 根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。
0x8007371B ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE 一个或多个要求的事务成员不存在。
0x80070490 ERROR_NOT_FOUND Windows 无法搜索新更新。

系统更新准备工具有哪些用途

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

若要手动修复系统更新准备工具检测到但未修复的损坏错误,请按照以下步骤进行:
  1. 打开 %SYSTEMROOT%\Logs\CBS\CheckSUR.log。
    注意 %SYSTEMROOT% 是一个环境变量,用于保存 Windows 的安装文件夹。 例如,通常 %SYSTEMROOT% 文件夹为 C:\Windows。 
  2. 标识该工具无法修复的程序包。 例如,你可能会在日志文件中发现以下内容:
    摘要:

    Seconds executed: 264
    Found 3 errors
    CBS MUM Missing Total Count: 3
    Unavailable repair files:


    servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum
    ...
    在此情况下,受损的程序包是 KB958690。
  3. Microsoft 下载中心Microsoft 更新目录下载该程序包。
  4. 将程序包 (.msu) 复制到 %SYSTEMROOT%\CheckSUR\packages 目录。 默认情况下,此目录不存在,你需要创建该目录。
  5. 重新运行系统更新准备工具。
如果你是技术专业人员,请参阅如何修复在 CheckSUR.log 中找到的错误,以获取有关修复 CheckSUR.log 中的错误的更多选项。