When installing an update, especially a Cumulative Update or .NET Framework package in your Windows 10 computer, the update installation may fail with error code 0x800F0922
(“CBS_E_INSTALLERS_FAILED
“) or 0xc1900104
.
In some cases, you may receive the following error:
Windows 10 couldn’t be installed.
The update process would continue normally, and during the restart phase, you’ll see the following message:
We couldn’t complete the updates.
The computer would restart three times as if it’s going on a restart loop. It’s not a restart loop, actually. During the third reboot, you’ll see the Windows Update files getting cleaned up, and the system rolled back to the previous configuration.
Cleaning up
After which the computer will boot the Welcome screen.
The Windows Update history page would show up the list of failed updates.
In my case, I was attempting to install the Cumulative Update for .NET Framework 3.5 and 4.8, along with the Windows 10 Cumulative Update (2004) KB4566782. As you can see, the .NET Framework update got installed successfully, but the Windows 10 Cumulative Update failed with the error 0x800F0922
.
The Windows Update log and the CBS log files had these entries:
CBS.log under C:\WINDOWS\Logs\CBS
Error CBS Startup: Failed to process advanced operation queue, startupPhase: 0. A rollback transaction will be created. [HRESULT = 0x800f0922 - CBS_E_INSTALLERS_FAILED]
Info CBS Setting ExecuteState key to: CbsExecuteStateInitiateRollback | CbsExecuteStateFlagAdvancedInstallersFailed
Info CBS SetProgressMessage: progressMessageStage: -1, ExecuteState: CbsExecuteStateInitiateRollback | CbsExecuteStateFlagAdvancedInstallersFailed, SubStage: 0
Info CBS Progress: UI message updated. Operation type: Update. Stage: 1 out of 1. Rollback.
Info CBS Setting original failure status: 0x800f0922, last forward execute state: CbsExecuteStateResolvePending
CBS.log (Another part)
Info CSI 00000331 hvhostsvcstats (uninstall): CntrtextUnloadV2Provider() returns 0.
Error CSI 00000332 (F) PerfCounterInstaller Error: LastCounter and LastHelp are inconsistent (9380,9847).
[gle=0x80004005]
Error CSI 00000333 (F) PerfCounterInstaller Error: Counter database is corrupted, run 'lodctr /R' to fix it.
[gle=0x80004005]
Error CSI 00000334 (F) PerfCounterInstaller Error: PERFLIB V2 CounterSet "{9ff69334-839c-41fe-96e0-c5189ac431f2}" counter number mismatch, initial 9847, current 9848.
[gle=0x80004005]
Error CSI 00000335 (F) hvhostsvcstats (install): CntrtextLoadV2Provider() returns ERROR_INVALID_DATA.
[gle=0x80004005]
Info CSI 00000336
CSI Advanced installer perf trace:
CSIPERF:AIDONE;{b1498a21-0405-4959-adaa-7e78686acfbe};(null);168505us
Info CSI 00000337 End executing advanced installer (sequence 0)
Completion status: HRESULT_FROM_WIN32(ERROR_INVALID_DATA)
Error [0x018017] CSI 00000338 (F) Failed execution of queue item Installer: Counters Installer ({b1498a21-0405-4959-adaa-7e78686acfbe}) with HRESULT HRESULT_FROM_WIN32(ERROR_INVALID_DATA). Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable.
WindowsUpdate.log
Handler Sandbox folder C:\WINDOWS\SoftwareDistribution\Download\135dad3ce3fd44ea6c6aa650cb70f324 exists
Handler Using the update's service stack dll file 'C:\WINDOWS\SoftwareDistribution\Download\135dad3ce3fd44ea6c6aa650cb70f324\Metadata\UpdateAgent.dll'
Handler Update status code is 0x800F0922
Handler Failed to install the update
Handler Leave GetPostRebootResult for Deployment handler
The result would exactly the same if you try to download the Cumulative Update .msu package from the Microsoft Update Catalog and install it.
Now, let’s see how to fix the Windows Update errors 0x800F0922
and We couldn't update the system reserved partition
.
Fix: Windows Update error 0x800F0922 in Windows 10
The Windows Update error 0x800F0922
can occur due to one of the following reasons.
- App Readiness service is disabled.
- Performance counters are damaged.
- The System Reserved partition’s free space is less than 15 MB.
For testing purposes, I disabled the App Readiness Service and filled up the System Reserved partition with large files, leaving only 600 KB of free space.
Then, I installed the Windows 10 Cumulative Update. One of the above steps caused the Cumulative Update to fail and restart three times before booting to the Welcome Screen.
The next part for me is to find which of the two things caused the problem. First, I enabled the App Readiness service, set it to Manual, and then installed the Cumulative Update.
It worked! I was able to install the update(s) at this stage.
So, the lack of free space in the System Reserved partition may not really matter nowadays!?
In the WU history page, the update description appears differently (for the 2nd and 3rd attempts) because I used the Cumulative Update .msu file downloaded from Microsoft Catalog for the 2nd and 3rd tests.
Step 1: Start the App Readiness service
To fix the error 0x800F0922, enable the App Readiness Service using the following steps:
- Right-click Start, click Run. Type
services.msc
and click OK. - Double-click App Readiness, and set its start type to Manual.
- Click OK, and close the Services console.
- Restart Windows.
- Attempt to install the Windows Update(s) now.
The above should fix the problem in most cases. If it doesn’t help, proceed to Step 2.
Step 2: Repair/rebuild the rebuilt performance counter setting
This step ought to fix the issue especially if the CBS log file has one ore more entries containing the line PerfCounterInstaller Error: Counter database is corrupted
. Follow these steps to fix the problem.
- Open an admin Command Prompt window.
- Type the following commands and press Enter after each command:
cd c:\windows\system32 lodctr /R cd c:\windows\sysWOW64 lodctr /R
The above commands manually rebuild the Performance Counter Library values stored in the
Perfh009.dat
file, and in thePerfLib
registry key.Note: The parameter
/R
is case-sensitive. If the command was successful, you should see the messageInfo: Successfully rebuilt performance counter setting from system backup store
in the output. - Then, run the following command resync the counters with WMI:
WINMGMT.EXE /RESYNCPERF
- Exit the Command Prompt window.
You should be able to install the Windows Update or .NET Framework update now. If not, proceed to Step 3.
Step 3: Free up disk space in the System Reserved partition
As per Microsoft, the errors 0x800F0922
and We couldn't update system reserved partition
can occur if the System Reserved Partition (SRP) is full. The System Reserved Partition is a small partition on your hard drive that stores boot information for Windows.
Some third-party anti-virus and security apps write to the SRP and can fill it up. Also, there are many unused font (*.ttf) files inside the SRP that you can remove to free up disk space.
The System Reserved partition doesn’t have a drive letter assigned by default. If you have an MBR partition, you can use Disk Management to assign a drive letter for the System Reserved partition and browse the contents with File Explorer. For GPT disks, you need to use the mountvol
command to assign a drive letter.
Let’s now access the SRP and delete the unused font files from the Boot\Fonts
directory inside SRP.
Find if the disk is MBR or GPT
- Right-click Start, and click Disk Management.
- Right-click on the Disk (such as Disk 0) that contains the System Reserved partition, and select Properties.
Note that you’ll need to right-click on the Disk # on the left. Instead, if you right-click on the SRP partition itself, you won’t see the Properties option.
- In the Volumes tab, you can determine the Partition Style. It may either be GUID Partition Table (GPT) or Master Boot Record.
Instructions for GPT disk:
- For UEFI/GPT disks, you’ll need to open an admin Command Prompt window and mount the System Reserved partition to a drive letter using
mountvol
command.mountvol y: /s
The above command mounts the System Reserved partition to Y:\ drive letter. You can’t explore the drive using File Explorer, though.
- Switch to the Y drive by typing the following, and press Enter.
Y:
- Then, navigate to the Fonts folder by typing:
cd EFI\Microsoft\Boot\Fonts
- Once there, type the following to delete font files.
del *.*
(when the system asks you for confirmation, press Y and then Enter to continue.)
The above command deletes all the files from the Fonts folder and frees up disk space to the tune of 13 MB approximately.
Instructions for MBR disk:
- Right-click Start, and click Disk Management.
- Select the partition marked System Reserved.
- Right-click on it, and select Change Drive Letter and Paths.
- Choose Add.
- Enter Y for the drive letter.
- Click OK.
- Open a Command Prompt window under
TrustedInstaller
rights. To see how to open Command Prompt under Ti rights, see the article How to Run Programs as TrustedInstaller.Note that the files inside the System Reserved partition are owned by TrustedInstaller. - In the command prompt, type
Y:
and hit enter to switch to that drive. - Then, navigate to the Fonts folder by typing:
cd Boot\Fonts
- Make sure you are located in
Fonts
location (Y:\Boot\Fonts
). Then, type the following command to delete font files.del *.*
(The system would ask you if you are sure to continue, press Y and then Enter to continue.)
- Go back to Disk Management and Refresh the data to confirm if the SRP now has a greater percentage of free space. If so, the drive letter can be removed at this point.
- Right-click the System Reserved Partition.
- Select Change Drive Letter and Paths.
- Choose the
Y:
drive. - Select Remove.
- Click OK.
Editor’s note: Other than the font files, some applications (or the service technicians) may have placed some troubleshooting tools into the System Reserved partition. It’s advisable to remove those extra files from the System Reserved partition and move it somewhere else.
A Windows10 user named Martha says:
By adding a drive letter I was able to view contents in File Explorer. In this way, I discovered that at some point in June a computer help person had for some reason stored some backup data files on my System Reserve Partition and so I was able to free up space by moving the data somewhere else. Then I could also remove the drive letter once I was done to avoid confusion.
Hope one of the above two procedures has helped you install Windows Updates without getting the error 0x800F0922
(“CBS_E_INSTALLERS_FAILED
“).
One small request: If you liked this post, please share this?
One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
About the author
Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.
thanks. this helped solve my problem