HomeNewsletterCommunityMVP FeedToolsArchiveBlogToday's NewsAboutServicesQuick Links Subscribe free
← Back to Blog
Windows 11 Windows 11Windows Update26H2Feature UpdateIntunePowerShellDriversTroubleshooting

Windows 11 26H2 Upgrade Failing? Here Are the Error Codes and What Causes Each One

IA
Imran Awan
3 September 2026

Windows 11 26H2 is rolling out now, and across most managed fleets the upgrade installs cleanly. But a subset of devices is hitting upgrade failures, and the error codes they produce are not self-explanatory. A device that returns 0xC1900101 is telling you something completely different from one that returns 0x80070070, and fixing one does nothing for the other. Before you push 26H2 fleet-wide, or before you start troubleshooting devices that already failed, it is worth knowing which root cause each code points to.

This post covers the three failure families you will actually see, what triggers each one, and the specific checks you can run before the upgrade to avoid most of them.

The short version

Windows 11 26H2 upgrade failures cluster around three root causes: not enough free disk space (0x80070070 family), an incompatible or misbehaving driver (0xC1900101 family), and a third-party application that blocks the setup process (0xC1900208). Each has a different fix. The most reliable approach for a managed fleet is to validate free space, driver currency, and application compatibility on a pilot group before approving the feature update ring for broad deployment — and to make sure no Windows Update policy is blocking the offer before users report the upgrade simply never appeared.

The three error families and what they mean

When a Windows feature update fails mid-install, Windows rolls back to the previous version and leaves an error code in the update history. Most 26H2 failures fall into three families:

Error codeFamilyRoot cause
0x80070070–0x50011
0x80070070–0x50012
0x80070070–0x60000
StorageNot enough free disk space for the upgrade to stage and run
0xC1900101–0x20004
0xC1900101–0x2000C
0xC1900101–0x20017
0xC1900101–0x30018
0xC1900101–0x3000D
0xC1900101–0x4000D
0xC1900101–0x40017
DriverA driver failed to load, timed out, or crashed during setup; the installation rolled back
0xC1900208–0x4000CApplicationAn installed application was flagged as incompatible and blocked the upgrade

Where to find the error code after a failure: Settings › Windows Update › Update history. The failed feature update entry shows the code next to the install date. Write it down before doing anything else — the sub-code (the part after the dash) narrows down which phase of setup failed.

📝 Note: The 0xC1900101 family specifically means a driver caused a crash or timeout during the upgrade's kernel-load phase. The sub-code identifies when during setup it happened (0x20017 is during Windows PE, 0x40017 is the first boot after install), but the fix is always the same: identify and update or remove the offending driver before retrying.

Why each one happens: storage, drivers, and apps

Storage failures (0x80070070)

The Windows 11 26H2 upgrade needs free disk space to download the update files, extract them, and run the setup process. Microsoft's minimum requirement is 64 GB total, but that is the floor for a brand-new install — for an in-place upgrade, the setup needs working room on top of whatever the OS already occupies. Devices with less than around 20 GB free will commonly fail with this code family.

The most common culprit on a managed device is accumulated detritus: temporary files, old Windows installation files from the previous update cycle, downloaded installer packages that were never cleaned up, and large files sitting in Downloads that no one has cleared in months. The second most common is a previous Windows installation in the Windows.old folder, which can be 10–20 GB on its own.

⚠ Gotcha: A device can pass a simple free-space check and still fail with 0x80070070 because the upgrade needs to stage its files in a specific location. If the system drive is nearly full even after temporary file removal, the upgrade will fail again. Target at least 20 GB free on the system drive before attempting 26H2, not just “some” free space.

Driver failures (0xC1900101)

Driver failures are the most common category and the hardest to pin down without knowing which driver is responsible. Windows setup loads drivers very early in the process, before the full OS is available, and a driver that crashes or hangs in that environment causes the entire upgrade to roll back.

The most commonly implicated driver categories are:

The upgrade failure happens when one of these drivers cannot load during setup's early phases. The device rolls back, returns the 0xC1900101 code, and looks completely normal on the next boot — because the original drivers are still in place.

Application failures (0xC1900208)

This one is the most straightforward: an application installed on the device has been flagged as incompatible with Windows 11 26H2 by Microsoft's compatibility database. Common categories are security tools (endpoint detection agents, DLP software), system utilities with kernel-mode components, and hardware management software (motherboard RGB controllers, OEM system utilities).

The upgrade simply refuses to continue until the flagged application is removed. Unlike driver failures, there is no ambiguity about the cause — Windows will usually name the incompatible application in the setup logs.

How to verify risk before the upgrade runs

Check free disk space (storage risk)

PowerShell — check free space on C: drive
Get-PSDrive C | Select-Object Name,
  @{N='FreeGB';E={[math]::Round($_.Free/1GB,1)}},
  @{N='UsedGB';E={[math]::Round($_.Used/1GB,1)}}

Name  FreeGB  UsedGB
----  ------  ------
C     34.2    89.8

Anything below 20 GB free is a storage risk. At fleet scale, run this as an Intune device query or a ConfigMgr inventory query to identify at-risk devices before the upgrade wave.

Check driver ages (driver risk)

PowerShell — find drivers older than 2 years
$cutoff = (Get-Date).AddYears(-2)
Get-WmiObject Win32_PnPSignedDriver |
  Where-Object { $_.DriverDate -and
    [datetime]::ParseExact($_.DriverDate.Substring(0,8),'yyyyMMdd',$null) -lt $cutoff } |
  Select-Object DeviceName, DriverVersion,
    @{N='DriverDate';E={$_.DriverDate.Substring(0,8)}} |
  Sort-Object DriverDate |
  Format-Table -AutoSize

Any driver dated before mid-2023 is worth investigating, especially if it matches the graphics, chipset, or NIC categories above. Check the device manufacturer's support page for an updated version before pushing the upgrade.

Check for a metered connection (often-missed blocker)

If a device is connected to a Wi-Fi network marked as metered, Windows Update will not download large feature updates. The device looks like it received the upgrade offer and is not acting on it — which is correct, it just will not tell you why. Verify in Settings › Network & internet › Wi-Fi › [Network name] › Properties — the “Metered connection” toggle must be off.

Settings Network & internet Wi-Fi Metered connection: Off

Check for a safeguard hold (upgrade deliberately blocked by Microsoft)

Before assuming a device has a problem, confirm that Microsoft has not placed a safeguard hold on it. A safeguard hold means Microsoft's compatibility data flagged that device's hardware or software configuration as risky for this update, and it has quietly blocked the upgrade offer until the issue is resolved. Devices on a safeguard hold will not see the 26H2 upgrade in Windows Update.

⚠ Warning: Do not attempt to override a safeguard hold by modifying registry values or using the Feature Update Deployment CSP to force the upgrade. Safeguard holds exist because Microsoft's data shows a high probability of failure or data loss on that specific hardware/software combination. Let the hold clear naturally when Microsoft resolves the underlying issue, or investigate and fix the flagged condition first.

To check whether a device is on a safeguard hold, navigate to Settings › Windows Update. If the device is held, it will not show the 26H2 offer at all, and checking the update will not surface it. In the Intune admin center, the Windows feature update deployment report shows safeguard-held devices separately.

Windows Update settings page showing organisation policy controls for update delivery and pause options
Windows Update on a managed device — the “Get the latest updates as soon as they’re available” toggle and the Pause updates option are both controlled by organisation policy. Devices in a managed ring cannot override these settings.

The fix: pre-upgrade checklist for IT admins

Step 1 — Free up disk space

Run the following on affected devices (or deploy as a script to your pilot group) to reclaim space before the upgrade:

PowerShell (as Administrator) — clean temporary files
# Clear Windows temp folders
Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue

# Trigger Disk Cleanup for system files (runs silently)
cleanmgr.exe /sagerun:1

# Check remaining free space
(Get-PSDrive C).Free / 1GB

For the Windows.old folder (left from a previous upgrade), run Settings › System › Storage › Cleanup recommendations and accept the “Previous Windows installation(s)” option. This folder can be 10–20 GB and is safe to remove once the previous version's grace period has passed.

Step 2 — Update drivers before the upgrade

For graphics, chipset, and NIC drivers, go to the device manufacturer's support page directly rather than relying on Windows Update to surface them. Windows Update shows drivers Microsoft has tested and approved, but manufacturer sites often carry newer versions. At minimum update:

After updating, restart the device before attempting the 26H2 upgrade.

Step 3 — Disconnect non-essential USB peripherals

Leave only a monitor, keyboard, mouse, and network connection attached during the upgrade. USB hubs, external drives, docking stations with their own drivers, and Bluetooth adapters are all potential sources of 0xC1900101 failures. Reconnect them after the upgrade completes.

Step 4 — Uninstall flagged applications

If a device has already failed with 0xC1900208, check the setup logs at C:$WINDOWS.~BTSourcesPanthersetuperr.log for the name of the incompatible application. Uninstall it, attempt the upgrade, and reinstall after completion if the application has been updated for 26H2 compatibility.

✓ Tip: For a managed fleet, use Intune's Windows feature update deployment rings to push 26H2 to a pilot group of 50–100 devices first. Review the deployment report for failure rates and error code patterns before approving the broad ring. One week of pilot data typically surfaces every driver and application compatibility issue in the fleet before it reaches everyone.

Step 5 — Control the upgrade rollout via Intune

In Intune, feature update deployments are managed through Devices › Windows updates › Feature updates for Windows 10 and later. Set the Windows 11 version to 26H2 and target a pilot group first. The Windows feature update deployment report shows per-device status including safeguard holds, errors, and completion state.

To prevent preview/optional updates from being offered alongside the feature update:

To ensure devices are fully patched before the feature update is attempted:

Proof it worked

A successful 26H2 upgrade shows the new build number in Settings › System › About. Confirm with PowerShell:

PowerShell — confirm 26H2 installed
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").DisplayVersion

26H2

# Also check the build number:
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").CurrentBuildNumber

26200

In the Intune admin center, the feature update deployment report shows the device moving from Offering to On this update once the upgrade completes. Devices that fail will show the specific error code in the report, which maps directly back to the table at the top of this post.

Intune Admin Center — Feature update deployment report
DESKTOP-WIN11-001 On this update
DESKTOP-WIN11-002 Safeguard hold
DESKTOP-WIN11-003 0xC1900101–0x40017

References

Was this post helpful?
React below — no account needed
Share this post
LinkedIn X / Twitter Reddit Bluesky

More from EndpointWeekly

Windows 11
Windows 11 KB5120998 Can Reset Desktop Backgrounds to Black —…
KB5120998 preview update (27 Aug 2026) causes some Windows 11 24H2 and 25H2 devices to…
Windows 11
Windows 11 24H2 Home and Pro Stop Getting Updates on October 14,…
24H2 Home and Pro end of servicing is October 14, 2026 - a full year before Enterprise…
Windows 11
The WinRE partition is too small: 0x80070643 and the…
A Windows Recovery Environment servicing update fails with 0x80070643 and admins chase…