安装更新与部署

安装Windows 更新后启动时的错误0x8007000D - Windows Server

· 52CE 我爱测

本文可帮助你解决安装 Windows 更新后计算机重启时发生的问题。 症状 安装 Windows 更新。 更新似乎已成功安装。 但是,当计算机重启时,安装会回滚,并且你会收到“0x8007000D (ERROR\INVALID\DATA)”错误消息。 原因 通常,此问题具有以下原因之一: - 文件损坏或注册表损坏 - 报告旧更新,相关文件或注册表项位置已损坏。 此损坏可以防止系统验证目录文件的有效性。 - 驱动程序版本不正确 - 驱动程序更新因版本控制不正

本文可帮助你解决安装 Windows 更新后计算机重启时发生的问题。

症状

安装 Windows 更新。 更新似乎已成功安装。 但是,当计算机重启时,安装会回滚,并且你会收到“0x8007000D (ERROR_INVALID_DATA)”错误消息。

原因

通常,此问题具有以下原因之一:

  • 文件损坏或注册表损坏 - 报告旧更新,相关文件或注册表项位置已损坏。 此损坏可以防止系统验证目录文件的有效性。
  • 驱动程序版本不正确 - 驱动程序更新因版本控制不正确而失败。 此问题会导致重启期间 Windows 更新失败。

决议

重要

  • 如果受影响的计算机是无法正确重启或无法使用 SSH 访问的 Windows 虚拟机(VM),请确保可以使用 Azure 串行控制台访问 VM。
  • 在解决此问题之前,请备份操作系统的磁盘。 有关 VM 此过程的信息,请参阅 “关于 Azure 虚拟机还原”。

解决此问题的最可靠方法是在受影响的计算机上执行就地升级。

注释

有关如何升级 VM 的详细信息,请参阅以下文章之一:

如果问题仍然存在,请联系Microsoft支持部门。 在支持请求中,包括 CBS 日志中的数据,以帮助描述问题。 有关如何标识此信息的信息,请参阅下一部分。

详细信息

Component-Based 服务(CBS)日志文件中的条目可能会提供有关错误实际发生方式的更多详细信息。 此日志通常位于 C:\Windows\Logs\CBS。 若要跟踪问题,请在文本编辑器中打开日志文件并搜索 ERROR_INVALID_DATA。 若要标识发生错误的上下文,请查看前面和之后的错误的日志条目。

以下部分显示了记录此错误的日志条目的示例。

案例 1:目录文件错误

在此示例中, ERROR_INVALID_DATA 当系统尝试验证 C:/WINDOWS/Servicing/Packages/Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat 时发生。

20xx-xx-06 xx:51:15, Info CBS Exec: Installing Package: Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0, Update: 4584642-1_neutral, InstallDeployment: amd64_771d1f434ef835536dafe93d6811f766_31bf3856ad364e35_10.0.17763.1549_none_e4d395cdb7886270
20xx-xx-06 xx:51:15, Error CSI 00000034@20xx/xx/5:23:51:15.422 (F) onecore\base\wcp\rtllib\win32lib\catalog.cpp(633): Error NTSTATUS_FROM_WIN32(ERROR_INVALID_DATA) originated in function CCatalog::Create expression: CertCreateCTLContext
[gle=0x80004005]
20xx-xx-06 xx:51:15, Error CSI 00000035 (F) NTSTATUS_FROM_WIN32(ERROR_INVALID_DATA) #6317935# from CCSDirectTransaction::OperateEnding at index 0 of 1 operations, disposition 0[gle=0xd007000d]
20xx-xx-06 xx:51:15, Error CSI 00000036 (F) HRESULT_FROM_WIN32(ERROR_INVALID_DATA) #6317715# from Windows::COM::CComponentStore::InternalTransact(...)[gle=0x8007000d]
20xx-xx-06 xx:51:15, Error CSI 00000037 (F) HRESULT_FROM_WIN32(ERROR_INVALID_DATA) #6317714# from Windows::ServicingAPI::CCSITransaction::AddCatalog(Flags = 1, CatalogPath = '[file://%3f/C:/WINDOWS/Servicing/Packages/Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat')%5bgle=0x8007000d]\\?\C:\WINDOWS\Servicing\Packages\Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat')[gle=0x8007000d]
20xx-xx-06 xx:51:15, Error CSI 00000038 (F) HRESULT_FROM_WIN32(ERROR_INVALID_DATA) #6317713# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_InstallDeployment(Flags = 0, a = 771d1f434ef835536dafe93d6811f766, version 10.0.17763.1549, arch amd64, nonSxS, pkt {l:8 b:31bf3856ad364e35}, cb = (null), s = (null), rid = 'Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.4584642-1_neutral', rah = (null), manpath = (null), catpath = '[file://%3f/C:/WINDOWS/Servicing/Packages/Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat%5bgle=0x8007000d]\\?\C:\WINDOWS\Servicing\Packages\Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat[gle=0x8007000d]
20xx-xx-06 xx:51:15, Error CSI ', disp = 0)[gle=0x8007000d]
20xx-xx-06 xx:51:15, Error CBS Failed to verify if catalog file [C:/WINDOWS/Servicing/Packages/Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat]\\?\C:\WINDOWS\Servicing\Packages\Package_1_for_KB4584642~31bf3856ad364e35~amd64~~10.0.1.0.cat is valid. [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-06 xx:51:15, Info CBS Failed to verify manifest against catalog, mark store as corrupt. [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-06 xx:51:15, Info CBS Failed to begin deployment installation for Update: 4584642-1_neutral [HRESULT = 0x8007000d - ERROR_INVALID_DATA]

系统无法验证 .cat (catalog) 文件。 这表示包可能已损坏。

案例 2:注册表错误

在此示例中, ERROR_INVALID_DATA 当系统确定注册表值使用错误的数据类型时发生。

20xx-xx-24 05:13:10, Info CBS Registry value for Package_7762_for_KB5001347~31bf3856ad364e35~amd64~~10.0.1.4 is not a dword type. [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-24 05:13:10, Info CBS Failed to enumerate values in store object. [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-24 05:13:10, Info CBS Failed to enumerate all component versions for component detect: amd64_windows-application..egistrationverifier_31bf3856ad364e35_0.0.0.0_none_06e8f842c597e59b [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-24 05:13:10, Info CBS Failed to enumerate store versions on component: amd64_windows-application..egistrationverifier_31bf3856ad364e35_10.0.14393.4169_none_fcb27d831f9fb942 [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-24 05:13:10, Info CBS Failed to enumerate related component versions on component: amd64_windows-application..egistrationverifier_31bf3856ad364e35_10.0.14393.4169_none_fcb27d831f9fb942 [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-24 05:13:10, Info CBS Failed to load current component state [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-24 05:13:10, Info CBS Failed to find or add the component family [HRESULT = 0x8007000d - ERROR_INVALID_DATA]

案例 3:驱动程序安装失败

在此示例中, ERROR_INVALID_DATA 当系统尝试在重启过程中安装驱动程序时发生。

20xx-xx-18 15:21:14, Info CBS Perf: Doqe: Critical install started.
20xx-xx-18 15:21:14, Info CBS Doqe: [Forward] Installing driver updates, Count 2
20xx-xx-18 15:21:14, Info CBS INSTALL index: 53, phase: 1, result 0, inf: machine.inf
20xx-xx-18 15:21:14, Info CBS INSTALL index: 194, phase: 1, result 0, inf: mshdc.inf
20xx-xx-18 15:21:14, Info CBS INSTALL index: 246, phase: 2, result 0, inf: machine.inf
20xx-xx-18 15:21:14, Info CBS INSTALL index: 194, phase: 2, result 13, inf: mshdc.inf
20xx-xx-18 15:21:14, Info CBS Doqe: Recording result: 0x8007000d, for Inf: mshdc.inf
20xx-xx-18 15:21:14, Info CBS DriverUpdateInstallUpdates failed [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-18 15:21:14, Info CBS Doqe: Failed installing driver updates [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-18 15:21:14, Info CBS Perf: Doqe: Critical install ended.
20xx-xx-18 15:21:14, Info CBS Failed installing driver updates [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-18 15:21:14, Error CBS Startup: Failed executing critical driver operations queue [HRESULT = 0x8007000d - ERROR_INVALID_DATA]
20xx-xx-18 15:21:14, Info CBS Startup: Rolling back KTM, because drivers failed.
20xx-xx-18 15:22:46, Info CBS Retrieved original failure status: 0x8007000d, last forward execute state: CbsExecuteStatePrimitives
20xx-xx-18 15:22:52, Info CBS WER: Generating failure report for package: Package_for_RollupFix~31bf3856ad364e35~amd64~~14393.4889.1.2, status: 0x8007000d, failure source: DOQ, start state: Staged, target state: Installed, client id: WindowsUpdateAgent

mshdc.inf 驱动程序无法正确安装。 此问题触发回滚过程。

SetupAPI 日志(通常位于 C:\Windows\INF\setupapapi.dev)也会记录驱动程序安装。 在此示例中,以下Setupapapi.dev.log摘录提供了有关 Mshdc.inf 的其他信息,包括驱动程序包的名称和版本。

sto: {Unstage Driver Package: C:\Windows\System32\DriverStore\FileRepository\mshdc.inf_amd64_b0b5572axx95167b\mshdc.inf} 15:21:14.3xx
sto: {DRIVERSTORE DELETE BEGIN} 15:21:14.3xx
sto: {DRIVERSTORE DELETE BEGIN: exit(0x00000000)} 15:21:14.3xx
idb: {Unregister Driver Package: C:\Windows\System32\DriverStore\FileRepository\mshdc.inf_amd64_b0b5572axx95167b\mshdc.inf} 15:21:14.3xx
idb: Unregistered driver package 'mshdc.inf_amd64_b0b5572axx95167b' from 'mshdc.inf'.
idb: Deleted driver package object 'mshdc.inf_amd64_b0b5572axx95167b' from SYSTEM database node.
idb: Driver packages registered to 'mshdc.inf':
idb: mshdc.inf_amd64_79f38c21b894a1c1
idb: {Unregister Driver Package: exit(0x00000000)} 15:21:14.3xx

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
按正文的 Windows / Windows Server 适用版本;保留原文兼容性要求
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。