Windows未能安装以下更新与错误0x800f0900

我的主要WIN 2012 VM域控制器不能再更新,每次更新都会失败并出现此错误:

Windows failed to install the following update with error 0x800f0900 

我尝试了很多东西:

  • 重置SoftwareDistribution目录
  • SFC / SCANNOW结束没有错误
  • dism / online / cleanup-image / restorehealth在40%(我等了18个小时,然后停止了)
  • dism / online / cleanup-image / source …. / restorehealth从DVD源获得40%的成绩
  • 先前的命令之前干净和安全的启动

我能做些什么?

****编辑WindowsUpdate.log内容:

 2017-01-17 22:33:14:450 920 ff4 Handler Generating request for CBS update 641FE631-29F1-46B4-BBED-7D2B8D56741B in sandbox C:\Windows\SoftwareDistribution\Download\61d75607e4a6a41d2d6d304bed92af67 2017-01-17 22:33:14:529 920 ff4 Handler Selected payload type is ptExpress 2017-01-17 22:33:14:607 920 ff4 Handler UH: DpxRestoreJob returned 0x80070002 2017-01-17 22:33:14:607 920 ff4 Handler Detected download state is dsHavePackage 2017-01-17 22:33:30:935 920 364 Handler FATAL: CBS called Error with 0x800f0900, 2017-01-17 22:33:30:951 920 ff4 Handler FATAL: UH: 0x800f0900: Async stage operation failed in CUHCbsHandler::StageCbsPackage 2017-01-17 22:33:31:107 920 ff4 Handler FATAL: Request generation for CBS update complete with hr=0x800f0900 and pfResetSandbox=0 2017-01-17 22:33:31:107 920 ff4 Handler FATAL: Error source is 106. 2017-01-17 22:33:31:107 920 ff4 DnldMgr FATAL: DM:CAgentDownloadManager::GenerateAllDownloadRequests: GenerateDownloadRequest failed with 0x800f0900. 2017-01-17 22:33:32:404 920 ff4 DnldMgr WARNING: Download request generation failed with 0x800f0900. 2017-01-17 22:33:32:435 920 ff4 DnldMgr Error 0x800f0900 occurred while downloading update; notifying dependent calls. 2017-01-17 22:33:32:466 920 174 AU >>## RESUMED ## AU: Download update [UpdateId = {4485F552-0451-4646-B224-BEC7507523F3}] 2017-01-17 22:33:32:466 920 174 AU # WARNING: Download failed, error = 0x800F0900 2017-01-17 22:33:32:779 920 174 AU ######### 2017-01-17 22:33:32:779 920 174 AU ## END ## AU: Download updates 2017-01-17 22:33:32:779 920 174 AU ############# 

CBS日志:

 2017-01-27 17:11:26, Info CBS Exec: Package: Package_20_for_KB2934016~31bf3856ad364e35~amd64~~6.2.1.1 is already in the correct state, current: Installed, targeted: Installed 2017-01-27 17:11:26, Info CBS Exec: Skipping Package: Package_20_for_KB2934016~31bf3856ad364e35~amd64~~6.2.1.1, Update: 2934016-60_neutral_LDR because it is already in the correct state. 2017-01-27 17:11:26, Info CBS Exec: Skipping Package: Package_20_for_KB2934016~31bf3856ad364e35~amd64~~6.2.1.1, Update: 2934016-61_neutral_LDR because it is already in the correct state. 2017-01-27 17:11:26, Info CBS Exec: Skipping Package: Package_20_for_KB2934016~31bf3856ad364e35~amd64~~6.2.1.1, Update: 2934016-62_neutral_GDR because it is already in the correct state. 2017-01-27 17:11:26, Info CBS Failed to peek next token (status=0xc0000161) [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Failed to get next Token [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Wrong XML DECL [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Invalid xml format [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Manifest parsing error at line: 1, context: [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Failed to parse the manifest from the buffer. [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Error CBS Failed to parse package manifest: \\?\C:\Windows\Servicing\Packages\Package_357_for_KB2836988~31bf3856ad364e35~amd64~~6.2.1.0.mum [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Mark store corruption flag because of parsing failure on package: Package_357_for_KB2836988~31bf3856ad364e35~amd64~~6.2.1.0. [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Failed to initialize package: Package_357_for_KB2836988~31bf3856ad364e35~amd64~~6.2.1.0, from path: \\?\C:\Windows\Servicing\Packages\Package_357_for_KB2836988~31bf3856ad364e35~amd64~~6.2.1.0.mum, existing package: 1 [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Mark store corruption flag because of package: Package_357_for_KB2836988~31bf3856ad364e35~amd64~~6.2.1.0. [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Failed to resolve package [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Failed to get next package to re-evaluate [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Failed to process component watch list. [HRESULT = 0x800f0900 - CBS_E_XML_PARSER_FAILURE] 2017-01-27 17:11:26, Info CBS Perf: InstallUninstallChain complete. 2017-01-27 17:11:26, Info CSI 00000b91@2017/1/27:16:11:26.555 CSI Transaction @0x6db95b2ce0 destroyed 2017-01-27 17:11:26, Info CBS Exec: Store corruption found during execution, but auto repair is already attempted today, skip it. 

最简单的解决办法是创build一个新的DC,并退出破坏的DC。

解决scheme1损坏的更新文件

Microsoft提供了一个名为“ 修复Windows更新”的错误消息 。 是的,这是为Windows 10(或8.1或7),但我发现在这里扩展DISM.exe命令。

这是什么导游做的?

本指导的演练提供了一些步骤来解决安装更新时遇到的问题。 以下是一些常见的错误代码:0x80073712,0x800705B4,0x80004005,0x8024402F,0x80070002,0x80070643,0x80070003,0x8024200B,0x80070422,0x80070020。 这些步骤应该有助于解决所有错误,而不仅仅是列出的错误。

它是如何工作的?

我们将引导您完成一系列故障排除步骤,以使您的Windows保持最新状态。 一定要按照步骤顺序。

在点击各个步骤的同时,显示执行DISM.exe命令的解决scheme。 我知道,你已经尝试了这一步,但尝试高级选项:

重要

当您运行此命令时,DISM使用Windows Update来提供修复损坏所需的文件。 但是,如果您的Windows Update客户端已损坏,请将正在运行的Windows安装程序用作修复源,或将Windowsnetworking共享或可移动媒体(如Windows DVD)中的Windows 并行文件夹用作源的文件。 为此,请改为运行以下命令:

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess

引用的源代码C:\RepairSource\Windwos可以是临时连接到DC的networking共享,也可以是微软文章中列出的工作Windows安装的副本。

在旁注:

如果您有将TRUSTEDINSTALLER服务设置为手动的策略(GPO),请禁用此策略。

解决scheme2权限问题

有些错误与C:驱动器上的权限问题有关,可以通过以下步骤解决:

  1. 以“pipe理员”身份login到服务器
  2. 更改权限以为用户提供对C驱动器的完全访问“networking服务”
  3. 注销从服务器
  4. 以“pipe理员”身份重新login
  5. 重新运行更新

这应该安装所有未决的更新。

来源

修复Windows Update错误
安装失败/ CBS商店损坏:罕见的问题和疑难解答
Windows Server 2008 Std。 用代码8000FFFF更新错误
CBS与0x800f0900(Googlesearch)

这似乎是Bitlocker和UEFI相关的问题 。

 Alternatively, if you do not want to install the Bitlocker feature, simply disable Secure Boot on the HyperV guest as shown below, then re-enable Secure Boot after the update is applied. 

这是来自Microsoft的文档。

  • 当您尝试安装此安全更新时,您收到0x800f0922错误

症状

考虑以下两种configuration:

情景一

  • 您有一个使用UEFI固件且启用了安全启动选项的基于Windows Server 2012的服务器。

情景二

  • 您正在运行基于Windows Server 2012 R2的Hyper-V主机,并且正在运行使用UEFI固件支持并启用安全启动选项的第2代虚拟机来宾。 来宾虚拟机正在运行Windows 8或Windows Server 2012。

在这些configuration中,安全更新2871690可能不会安装,并且您收到0x800f0922错误消息。

原因

发生此错误是因为安全更新2871690的安装程序错误地要求安装BitLocker。

解决方法

要解决此问题,根据您的scheme使用下列方法之一:

scheme一的解决方法

在使用UEFI的服务器上安装BitLocker可选组件,并启用安全启动选项。

scheme二的解决方法

在Hyper-Vconfiguration的来宾虚拟机上安装BitLocker可选组件。 注意您不必在任何驱动器上configurationBitLocker。 只有当您安装安全更新2871690时,BitLocker组件才会出现在Window Server 2012上。

 Microsoft lists some package to download, but all 3 links are dead. 

选项1:

检查您的windowsupdate.log(C:\ Windows)的错误。

停止Windows Update和BITS服务

删除C:\ Windows \ Software Distribution文件夹

重置您的WMI信息库 – >打开CMD并键入winmgmt / resetrepository

启动BITS和Windows更新服务

再试一次。

选项2:检查服务损坏: https : //technet.microsoft.com/en-us/library/ee619779%28WS.10%29.aspx

请张贴结果。