Windows

Windows 11 Upgrade Keeps Rolling Back (0xC1900101)? Use SetupDiag to Find the Real Cause

Published June 10, 2026 · by The FixHub Team

Your Windows 11 feature update or upgrade climbs to a high percentage, then reverts with “We couldn’t install Windows 11” / “The installation failed in the SAFE_OS phase” and error 0xC1900101 (you’ll see variants like 0x20017, 0x30018, 0x4000D, 0x40017).

Why generic fixes waste your time: 0xC1900101 isn’t the problem — it’s a wrapper meaning “setup rolled back.” So content farms list a shotgun: disable antivirus, free up space, update everything, unplug USB. You might get lucky, but you’re guessing. The error is almost always a specific driver that fails to migrate, and Windows already logged exactly which one.

The real tool: SetupDiag. It’s Microsoft’s free diagnostic that parses the setup logs (in $Windows.~bt\Sources\Panther) and tells you the named failing rule — the blocking driver, the phase it died in, or the migration error — so you fix the actual cause.

Fix 1: Run SetupDiag and read the result

  1. Download SetupDiag from Microsoft and run SetupDiag.exe as administrator (right after a failed upgrade, so the logs are still present).
  2. Open the report it writes — SetupDiagResults.log (and SetupDiag.xml) in the same folder.
  3. Read the “Error:” / failing rule section. It typically names a driver (.sys) or a specific failure like a disabled/incompatible driver or an antivirus filter.
  4. Fix what it names — usually: update or uninstall that driver before retrying the upgrade.

This single step replaces an afternoon of guessing.

Fix 2: Act on the most common SetupDiag findings

  • A named graphics/storage/network driver → install the latest from the hardware vendor, or uninstall it in Device Manager, then retry.
  • Antivirus filter driver → fully uninstall third-party AV (not just disable), upgrade, reinstall after.
  • 0x4000D (SECOND_BOOT phase migration) → usually a driver/app that can’t migrate; SetupDiag names it.
  • 0x20017 (SAFE_OS, boot driver) → a boot-critical driver failed; update chipset/storage drivers.

Fix 3: The general hygiene that genuinely helps

Before re-running setup:

  • Free up 20+ GB on the system drive.
  • Disconnect non-essential USB devices and secondary drives.
  • Update the BIOS/UEFI and chipset drivers.
  • Reset Windows Update components if downloads themselves are flaky (see the “undoing changes” / failed-update guide).

FAQ

Where are the logs if SetupDiag finds nothing? Look in C:\$Windows.~bt\Sources\Panther and C:\Windows\Panther for setuperr.log and setupact.log — SetupDiag reads these; if they’re gone, re-run the failing upgrade so they regenerate, then run SetupDiag immediately.

Is 0xC1900101 a hardware failure? Almost never — it’s a software/driver migration block. WHEA hardware errors show different codes (see WHEA_UNCORRECTABLE_ERROR).

Sources: Microsoft Learn — SetupDiag, Microsoft Learn — Resolve Windows upgrade errors