Site icon Winhelponline

Fix for Windows Update Error 0x800F0922 in Windows 10/11

When installing an update, especially a Cumulative Update or .NET Framework package in your Windows 10 or 11 computer, the update installation may fail with an error code 0x800F0922 (“CBS_E_INSTALLERS_FAILED“) or 0xc1900104.

In some cases, you may receive the following error:

Windows couldn’t be installed.

We couldn’t update the system reserved partition.

The update process will 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.

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

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.

The result will be the same if you try downloading the Cumulative Update .msu package from the Microsoft Update Catalog and installing it.

The most common cause for the error 0x800f0922 is the lack of free space in the System Reserved Partition. But that’s not the only reason. For a proper diagnosis, inspect the CBS.log thoroughly.

Now, let’s see how to fix the Windows Update errors 0x800F0922 and We couldn't update the system reserved partition.

Cause

The Windows Update error 0x800F0922 can occur due to one of the following reasons.

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 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 finding which of the two 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.

However, in most cases, the issue is caused by a lack of free space in the EFI/System Reserved Partition.

If App Readiness service is the issue, the CBS log would have the following entries — especially the error “0x80070422” (decimal equivalent is “1058”) (“ERROR_SERVICE_DISABLED”):

Info CSI 00000560 The queue has completed running, and AI failures have occured.
Info CSI 00000561 ==Error Summary Start==
Error CSI 00000562 (F) Installer: AppX Registration Installer Binary Name: appxreg.dll ErrorCode: 80070422 Phase: 38 Mode: Install (upgrade) Component: Microsoft-Windows-MicrosoftEdge.appxmanifestcustomized, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=amd64, versionScope=NonSxS[gle=0x80004005]
Error CSI 00000563 (F) Installer: AppX Registration Installer Binary Name: appxreg.dll ErrorCode: 80070422 Phase: 38 Mode: Install (upgrade) Component: UserExperience-Desktop, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=amd64, versionScope=NonSxS[gle=0x80004005]
Info CSI 00000564 ==Error Summary End==
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

or

CSI    000006fe@2023/1/16:15:17:18.460 (F) onecore\base\appmodel\inboxappinstallerai\appxreg.cpp(124): Error HRESULT_FROM_WIN32(1058) originated in function Windows::WCP::AppXRegistration::BasicInstaller::Install expression: RDSAppXOnlineNotifyPackageChanges(APPCHANGETYPE_INBOX)
[0x018051] CSI    000006ff (F) Failed execution of queue item Installer: AppX Registration Installer ({f1aab1ba-6ee0-4d94-baeb-c9fd61f365cf}) with HRESULT HRESULT_FROM_WIN32(1058).  Failure will be ignored: The failure was encountered during rollback; installer is reliable[gle=0x80004005]

Fix: Windows Update error 0x800F0922

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, and click Run.
  2. Type services.msc and click OK.
  3. Double-click App Readiness and set its start type to Manual.
  4. Click OK, and close the Services console.
  5. Restart Windows.
  6. Attempt to install the Windows Update(s) now.

“App Readiness” keeps getting disabled after a restart?

If the App Readiness service gets disabled after every restart, a third-party service may be the culprit. To resolve the issue, disable all third-party services and reboot Windows.

  1. Launch msconfig.exe
  2. Select the Services tab.
  3. Enable “Hide all Microsoft services”
  4. Click Disable all.
  5. Reboot the computer.
  6. Re-enable “App Readiness” and “Storage service” (set them to “Manual”)
  7. Reboot the computer.
  8. Check the status of the App Readiness service. Install the cumulative update only if the App Readiness service startup setting is retained (“Manual”).

The above should fix the problem in most cases. If it doesn’t help, proceed to Step 2.


Step 2: Free up disk space in the System Reserved partition

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

  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.
    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.
  3. 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:

  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 *.ttf

    or

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

Additional Information

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.

The CBS.log contents are from a system that encountered the error 0x800F0922 when installing the Cumulative Update KB5017389 on a Windows 11 computer. The installation reached 98%, then it encountered a problem and rolled back. At the end, the error 0x800f0922 was displayed. An archived copy of CBS.log (CbsPersist_nnnnnnnn.log) contained the following events:

Info                  CSI    00000df5 BFSVC: 'BfspCopyFile(C:\WINDOWS\boot\EFI\fr-CA\bootmgfw.efi.mui, \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot\fr-CA\bootmgfw.efi.mui) failed! (Attempt 1 of 60) Last Error = 0x70'

Info                  CSI    00000df6 BFSVC: 'BfspCopyFile(C:\WINDOWS\boot\EFI\fr-CA\bootmgfw.efi.mui, \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot\fr-CA\bootmgfw.efi.mui) failed! (Attempt 2 of 60) Last Error = 0x70'

Info                  CSI    00000df7 BFSVC: 'BfspCopyFile(C:\WINDOWS\boot\EFI\fr-CA\bootmgfw.efi.mui, \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot\fr-CA\bootmgfw.efi.mui) failed! (Attempt 3 of 60) Last Error = 0x70'

Info                  CSI    00000df8 BFSVC: 'BfspCopyFile(C:\WINDOWS\boot\EFI\fr-CA\bootmgfw.efi.mui, \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot\fr-CA\bootmgfw.efi.mui) failed! (Attempt 4 of 60) Last Error = 0x70'

Info                  CSI    00000df9 BFSVC: 'BfspCopyFile(C:\WINDOWS\boot\EFI\fr-CA\bootmgfw.efi.mui, \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot\fr-CA\bootmgfw.efi.mui) failed! (Attempt 5 of 60) Last Error = 0x70'

Info                  CSI    00000e31 BFSVC: 'Error copying boot files from C:\WINDOWS\boot\EFI to \\?\GLOBALROOT\Device\HarddiskVolume2\EFI\Microsoft\Boot! Last Error = 0x70'

Info                  CSI    00000e32 BFSVC: 'ServicingBootFiles failed. Error = 0x70'

Error      [0x018049] CSI    00000e36 (F) Failed execution of queue item Installer: Boot File Servicing (BFSVC) Installer ({c5f0e9d7-e844-4507-89e4-701b5a747221}) with HRESULT HRESULT_FROM_WIN32(ERROR_DISK_FULL).  Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable[gle=0x80004005]

From another section of the log:

Error                 CSI    000014e3 (F) Installer: Boot File Servicing (BFSVC) Installer	Binary Name: bfsvc.dll	ErrorCode: 80070070	Phase: 31	Mode: Delta	Component: NONE[gle=0x80004005]
Info                  CSI    000014e4 ==Error Summary End==
Error                 CBS    Startup: Failed to process advanced operation queue, startupPhase: 0.  A rollback transaction will be created. [HRESULT = 0x800f0922 - CBS_E_INSTALLERS_FAILED]

It’s evident that the setup encountered the error 0x80070070 (ERROR_DISK_FULL) when copying the .mui files for various locales to the EFI System Reserved Partition. As the System Reserved Partition had 0 bytes of free space, ERROR_DISK_FULL was encountered, and then the error 0x800f0922.

Deleting the unneeded font files freed up approximately 15 MB of disk space. The issue was immediately resolved as the .mui files use only ~6 MB of space.

However, a permanent solution would be to resize the EFI System Reserved Partition to 500 MB or so.

A Windows 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.

You should be able to install the Windows Update or .NET Framework update now. If not, proceed to Step 3.


Step 3: Repair/rebuild the rebuilt performance counter setting

This step ought to fix the issue, especially if the CBS log file has one or 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

    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 to resync the counters with WMI:
    WINMGMT.EXE /RESYNCPERF
  4. Exit the Command Prompt window.

Additional Information

Your CBS.log might show something like the following:

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.

CBS.log (Another section)

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

I hope one of the above procedures has helped you install Windows Updates without getting the error 0x800F0922 (“CBS_E_INSTALLERS_FAILED“).

Exit mobile version