[Fix] Error 0x800F0922 When Installing a Windows Update

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.

windows 10 0x800f0922 cumulative update

In some cases, you may receive the following error:

Windows 10 couldn’t be installed.

We couldn’t update the system reserved partition.

The update process would continue normally, and during the restart phase, you’ll see the following message:

We couldn’t complete the updates.

Undoing changes. Don’t turn off your computer.

windows 10 0x800f0922 undoing changes reboot loop

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.

windows 10 0x800f0922 undoing changes reboot loop

Cleaning up

Don’t turn off your computer.

After which the computer will boot the Welcome screen.

The Windows Update history page would show up the list of failed updates.

windows 10 0x800f0922 cumulative update

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.windows 10 0x800f0922 cumulative update

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!?

windows 10 0x800f0922 cumulative update



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:

  1. Right-click Start, click Run. Type services.msc and click OK.
  2. Double-click App Readiness, and set its start type to Manual.
  3. Click OK, and close the Services console.
  4. Restart Windows.
  5. 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.

  1. Open an admin Command Prompt window.
  2. Type the following commands and press Enter after each command:
    cd c:\windows\system32
    lodctr /R
    cd c:\windows\sysWOW64
    lodctr /R

    0x800f0922 looping error windows update or .net

    The above commands manually rebuild the Performance Counter Library values stored in the Perfh009.dat file, and in the PerfLib registry key.

    Note: The parameter /R is case-sensitive. If the command was successful, you should see the message Info: Successfully rebuilt performance counter setting from system backup store in the output.

  3. Then, run the following command resync the counters with WMI:
    WINMGMT.EXE /RESYNCPERF
  4. 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.

system reserved partition disk management

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.

We couldn't update the system reserved partition

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

  1. Right-click Start, and click Disk Management.
  2. Right-click on the Disk (such as Disk 0) that contains the System Reserved partition, and select Properties.
    tips bulb iconNote 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.
  3. In the Volumes tab, you can determine the Partition Style. It may either be GUID Partition Table (GPT) or Master Boot Record.
    find if gpt or mpr disk - volumes tab

Instructions for GPT disk:

  1. 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.

  2. Switch to the Y drive by typing the following, and press Enter.
    Y:
  3. Then, navigate to the Fonts folder by typing:
    cd EFI\Microsoft\Boot\Fonts
  4. 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:

  1. Right-click Start, and click Disk Management.
  2. Select the partition marked System Reserved.
    system reserved partition disk management
  3. Right-click on it, and select Change Drive Letter and Paths.
  4. Choose Add.
  5. Enter Y for the drive letter.
  6. Click OK.
  7. 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.
  8. In the command prompt, type Y: and hit enter to switch to that drive.
  9. Then, navigate to the Fonts folder by typing:
    cd Boot\Fonts
  10. 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.)

  11. 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.
  12. Right-click the System Reserved Partition.
  13. Select Change Drive Letter and Paths.
  14. Choose the Y: drive.
  15. Select Remove.
  16. 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!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

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.

1 thought on “[Fix] Error 0x800F0922 When Installing a Windows Update”

Leave a Comment