本文介绍如何解决系统更新就绪性工具(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 日志。 标识具有**不后跟 (fix) 的 (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 针对与部署相关的问题收集信息中所述的步骤收集信息。