How to fix Windows update error 0x800f0922 on Windows 11 via EFI System Partition cleanup

Configurare noua (How To)

Situatie

A Windows 11 cumulative update (24H2 or 25H2) downloads normally and asks for a restart. During the reboot phase the installation stalls at around 35–36%, displays the “Undoing changes” message, rolls back, and Windows Update history reports:

0x800f0922

The update is offered again on the next check and fails in exactly the same way. Disk Cleanup, sfc /scannow and the Windows Update Troubleshooter change nothing, because the partition causing the failure is not the one they clean.

Supporting symptoms that confirm the pattern:

  • the failure happens only during the reboot phase, never during download;
  • free space on C: is plentiful (tens or hundreds of GB);
  • the same update installed without issues on other machines from the same batch.

When this article applies. Error 0x800f0922 has several distinct causes, covered separately on this site: system repair commands (DISM/SFC), Registry settings, firewall rules, Windows Features (.NET 3.5) and UEFI Secure Boot. This article covers the remaining cause, and the most common one in 2026: insufficient free space in the EFI System Partition. If you have already worked through the articles above without success, and the failure occurs consistently at around 35% during reboot, this is the right place.

Solutie

Windows does not keep its boot files on C:. They live on a separate partition, the EFI System Partition (ESP) — a FAT32 volume, hidden from File Explorer, holding the Windows Boot Manager and the startup files.

The ~35% mark in the reboot phase is precisely when the installer writes the new boot files to the ESP. If there is no room, the write fails and the update rolls back. Windows then reports the generic 0x800f0922 instead of a disk-space error, which is why the real cause is missed almost systematically.

Typical ESP sizes:

Installation origin Typical ESP size
Upgraded from Windows 7/8 (carried forward through successive migrations) 100 MB
Recent clean install of Windows 10/11 260 MB
OEM images / factory clones varies, often 100–200 MB

Risk threshold: below 10 MB free in the ESP, failure is close to certain. The ESP fills up over time with:

  • boot fonts for the localised BitLocker pre-boot prompt (\EFI\Microsoft\Boot\Fonts\);
  • OEM files left behind by BIOS/firmware updates (\EFI\HP\, \EFI\Dell\, \EFI\Lenovo\ and similar);
  • boot loaders belonging to operating systems that were removed (\EFI\ubuntu\, \EFI\fedora\);
  • files written by third-party backup or encryption tools.

The most exposed machines are older installations that were upgraded rather than reinstalled, cloned systems, and units shipped with a modified OEM partition layout.

Diagnosis

1. Confirm the cause in CBS.log

Open a Command Prompt as administrator:

cmd
findstr /i /c:"ServicingBootFiles" /c:"SpaceCheck" /c:"DISK_FULL" /c:"INSUFFICIENT_DISK_SPACE" C:\Windows\Logs\CBS\CBS.log

Indicators that confirm the diagnosis:

  • ServicingBootFiles failed. Error = 0x70
  • CBS_E_INSUFFICIENT_DISK_SPACE
  • HRESULT_FROM_WIN32(ERROR_DISK_FULL)
  • SpaceCheck lines referring to files outside the Microsoft boot directories

If none of these appear, the cause is different — see the Other causes section.

2. Measure the free space in the ESP

The ESP has no drive letter. Mount it temporarily:

cmd
mountvol S: /S
fsutil volume diskfree S:

Note the Total # of free bytes value. Below roughly 10 MB confirms the cause.

For the total partition size:

cmd
diskpart
list disk
select disk 0
list partition
exit

The partition of type System is the ESP.

Note: diskpart does not show the free space inside a partition, only its size. This is why the fsutil step cannot be skipped.

Resolution

Before touching the ESP in any way:

  • If
  1. BitLock
  • er
  1. is enabled, suspend it first: manage-bde -protectors -disable C: -RebootCount 1
  1. O
  1. therwise you risk being prompted for the recovery key on the next boot.
  2. Take a disk
  1. im
  1. age,
  1. or at minimum back up the contents of the ESP. A wrong deletion here means a machine that will not boot.

Option 1 — Let Microsoft fix it (try this first)

For the specific May 2026 incident (KB5089549 on 24H2/25H2), Microsoft shipped the fix in KB5089573 on 26 May 2026, and permanently from the 9 June 2026 cumulative update onwards.

  • Unmanaged machines: a restart may be enough for the Known Issue Rollback mitigation to apply.
  • Domain-managed machines: apply the KIR Group Policy matching the OS version (24H2 or 25H2), then reboot.
  • Check the patch level: Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10

If the machine cannot install any update at all, this option is circular — move to Option 2.

Option 2 — Free up space in the ESP (recommended in most cases)

cmd
mountvol S: /S
dir S: /s /a

Identify what is consuming the space. Sorting rules:

Safe to delete:

  • OEM directories left behind after BIOS flashes (\EFI\HP\, \EFI\Dell\, \EFI\Lenovo\, \EFI\ASUS\) — only if no firmware update is currently in progress;
  • boot loaders of removed operating systems (\EFI\ubuntu\, \EFI\fedora\, \EFI\debian\);
  • directories written by third-party backup tools.

Never delete:

  • \EFI\Microsoft\Boot\ (bootmgfw.efi, BCD, configuration files)
  • \EFI\Boot\bootx64.efi

A judgement call — boot fonts (\EFI\Microsoft\Boot\Fonts\): typically 5–15 MB, used only to render the BitLocker pre-boot prompt in non-Latin scripts. On machines without BitLocker, deleting them is safe. On machines with BitLocker enabled, keep at least the Latin fonts, otherwise the recovery-key screen may become unreadable.

Unmount when finished:

cmd
mountvol S: /D

A reasonable target after cleanup: at least 50 MB free, ideally 100 MB, so the machine survives the next few patch cycles as well.

Option 3 — Extend the ESP

Worth knowing before you start: on a standard GPT layout the ESP sits at the beginning of the disk, followed by the MSR and by C:. diskpart can only extend a partition into unallocated space located immediately after it, and that space is occupied by the MSR and C:. In practice, extending the ESP with native tools is not possible.

Realistic options:

  • a third-party utility able to move partitions (a long operation, with a risk of an unbootable system if interrupted — a disk image beforehand is mandatory);
  • a clean reinstall, which creates a 260 MB ESP.

What does not solve the problem, contrary to expectations: an in-place repair install keeps the existing layout and does not enlarge the ESP.

Verification

  1. Free space in the ESP:
cmd
   mountvol S: /S
   fsutil volume diskfree S:
   mountvol S: /D

You should see at least ~50 MB free. 2. Reboot and confirm the machine starts into Windows normally — an essential check after any work on the boot partition. 3. Run Windows Update again. The installation must get past 35% without rolling back. 4. Confirm the update installed:

powershell
   Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5
  1. If BitLocker was suspended, verify it is active again:
cmd
   manage-bde -status C:

Other causes of error 0x800f0922

If CBS.log shows no disk-space errors, check the following in order:

Cause Indicator Check / remedy
Component store corruption CBS corruption entries DISM /Online /Cleanup-Image /RestoreHealth then sfc /scannow
Corrupted SecureBootEncodeUEFI task Event ID 146 in the Task Scheduler log at service startup recreate the task from %windir%\System32\Tasks\Microsoft\Windows\PI\
.NET Framework 3.5 disabled the update depends on it enable it from Windows Features, or DISM /Online /Enable-Feature /FeatureName:NetFx3
Blocked connectivity to update servers corporate proxy/firewall verify access to the Windows Update endpoints

Notes for managing a fleet of machines

On larger estates, checking ESP free space is worth adding to the pre-patching checklist ahead of every Patch Tuesday. Inventory script to run centrally:

powershell
mountvol S: /S
$esp = Get-Volume -DriveLetter S
[PSCustomObject]@{
    Machine      = $env:COMPUTERNAME
    ESP_Total_MB = [math]::Round($esp.Size/1MB, 1)
    ESP_Free_MB  = [math]::Round($esp.SizeRemaining/1MB, 1)
}
mountvol S: /D

Machines reporting under 20 MB free should be handled preventively, not after the update has already failed.

  • Microsoft – documentation for KB5089549 and KB5089573 (Windows 11 24H2 / 25H2)
  • Microsoft Learn – Known Issue Rollback for managed devices
  • Microsoft – KB5028997, instructions for manually resizing system partitions

Tip solutie

Permanent

Voteaza

(3 din 4 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?