Skip to main content

← Back to all articles

Windows upgrade error 0xC1900101: Windows rolled back after a setup failure

Error 0xC1900101 means a Windows upgrade failed and Windows rolled back instead of completing the new installation.

Microsoft describes 0xC1900101 as a generic rollback code and states that, in most cases, the cause is a driver compatibility issue. [R1] [R2]

That makes drivers the first area to investigate, but it does not make every 0xC1900101 error the same.

The most important rule is:

Keep the complete error code, including the second code after the dash.

Why is there often a second code?

When Windows Setup fails, it can return two parts:

The extend code tells us which phase of Windows Setup was running and which operation was being performed when the failure occurred. [R1]

For example:

0xC1900101 - 0x20017

contains much more diagnostic information than:

0xC1900101

alone.

Microsoft explicitly recommends analyzing the extend code when troubleshooting a 0xC1900101 rollback. [R1]

Does 0xC1900101 prove that one particular driver is bad?

No.

Microsoft says the code usually indicates an incompatible driver. Depending on the particular extend code and surrounding evidence, documented cases include problems involving:

Do not therefore run a tool that updates every driver on the PC.

The safer approach is to identify which device, driver, or setup phase was involved and change only what the evidence supports.

Which drivers should I investigate first?

Start with anything that changed recently or that Windows Setup was actively using when it failed.

Microsoft's 0xC1900101 resolution guidance repeatedly points to:

If a specific device or driver is identified, prefer a driver supplied through Windows Update or by the PC/device manufacturer.

Do not install an unrelated third-party “driver updater” simply because this code appeared.

Should I disconnect external devices?

For several documented 0xC1900101 variants, Microsoft recommends disconnecting unnecessary peripheral devices during the next upgrade attempt. [R2]

That means leaving only the devices required to perform the upgrade, such as the display, keyboard, and mouse, where practical.

This is useful because a driver for a USB device, dock, storage device, adapter, or other peripheral can participate in Windows Setup even when that device is not central to the upgrade.

If the upgrade succeeds after a device is removed, reconnect devices one at a time and confirm that Windows remains stable.

What is SetupDiag?

SetupDiag is Microsoft's diagnostic tool for failed Windows upgrades.

Microsoft states that SetupDiag examines Windows Setup log files and attempts to determine the root cause of an unsuccessful upgrade. It applies to Windows 11 and Windows 10. [R4]

Current supported Windows versions include SetupDiag as part of Windows Setup, and it can also be run manually when deeper analysis is required. [R4]

SetupDiag is useful here because 0xC1900101 alone is deliberately broad.

The useful question is not:

“What does 0xC1900101 mean?”

but:

“What caused this particular 0xC1900101 rollback on this PC?”

Which logs matter?

Microsoft lists several sources that can help identify the cause of a 0xC1900101 rollback, including:

The exact useful file depends on where the failure occurred.

For example, Microsoft notes that the device-install log is particularly useful for some failures during the Sysprep portion of setup. [R2]

Kajlos should therefore preserve the full result code, extend code, upgrade phase, recent driver changes, connected devices, and relevant setup evidence as one incident.

Should I uninstall antivirus software?

Not automatically.

Microsoft documents security software conflicts for some specific 0xC1900101 upgrade failures, including the more specific 0xC1900101-0x20017 scenario. [R3]

But security software is only one possible cause.

Do not permanently disable or remove protection simply because the base code is 0xC1900101. First determine whether the extend code, SetupDiag result, logs, or vendor guidance points to that software.

What should I do now?

  1. Record the complete error, including any second code after 0xC1900101.
  2. Make sure important data is backed up before another major Windows upgrade attempt.
  3. Install available Windows updates and relevant manufacturer-supported driver updates.
  4. Disconnect unnecessary external devices before retrying.
  5. If the error repeats, inspect SetupDiag and Windows Setup logs.
  6. Identify the driver, device, software component, or setup phase associated with the rollback.
  7. Update, roll back, remove, or otherwise address only the implicated component.
  8. If the evidence points to storage, firmware, or hardware rather than a normal driver conflict, investigate that separately.
  9. Retry the upgrade.
  10. Confirm that Windows completes setup and boots normally into the intended new version.

A successful repair means the original Windows upgrade completes without rolling back.

Updating several drivers, disconnecting a device, or getting a different error code on the next attempt is useful evidence, but none of those outcomes alone proves that the incident is resolved.


References

  1. Windows 10 upgrade error codes — Microsoft Learn (2026-09-21)

    “A result code of 0xC1900101 is generic and indicates that a rollback occurred.”

    https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/windows-10-upgrade-error-codes

  2. Windows 10 upgrade resolution procedures — Microsoft Learn (2026-09-21)

    “0xC1900101 is a generic rollback code”

    https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/windows-10-upgrade-resolution-procedures

  3. Upgrade fails and generates error code 0xC1900101-0x20017 — Microsoft Learn (2026-09-21)

    “typically results from driver or hardware configuration issues”

    https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/upgrade-fails-with-error-0xc1900101-0x20017

  4. SetupDiag — Microsoft Learn (2026-09-21)

    “used to obtain details about why a Windows upgrade was unsuccessful”

    https://learn.microsoft.com/en-us/windows/deployment/upgrade/setupdiag