Error code
0xC1900101

0xC1900101 is an upgrade rollback code, often related to driver compatibility. It does not name the culprit. Preserve the suffix, phase and attempt logs: they help prioritize a device even when Device Manager shows no warnings.

Windows upgrade error 0xC1900101

The Windows upgrade failed with a driver-related problem. Check peripherals and devices before trying the upgrade again.

Try this first

1 quick checks · ~3 min

  1. Preserve the complete code before retryingThe extended code and recent changes prevent blind retries.

Find your situation

See all the clues. Choose the one that matches what you observe.

Diagnostic signals

ObservationDevice Manager looks normal
That shows operation in the current Windows version, not driver compatibility with the target version.
ObservationOnly the suffix or phase changed
This is a different result worth preserving; do not repeat the previous repair assuming the same blocker.

Step-by-step solutions

01

Preserve the complete code before retrying

The extended code and recent changes prevent blind retries.

  1. Wait for rollback to finish and Windows to respond. Record current/target version, model, full code such as 0xC1900101-0x20017, phase/operation if shown and recently changed hardware/drivers. Do not clean installation temporary files yet: they may contain diagnostic records.

  2. If no suffix appears, still keep the time and upgrade method. A missing extended code does not justify choosing a random driver; follow visible devices or SetupDiag.

02

Identify the device worth prioritizing

  1. Open Device Manager and the properties of the entry with a warning. Keep Device status/code, name, provider, driver version and date. Code 43 or Code 10 has its own diagnosis; follow the related guide before repeating the Windows upgrade.

  2. If there are no warnings, compare with the date of a new driver or hardware change. That timing prioritizes investigation but does not prove blame. Without a clear change, do not update everything: move to the SetupDiag report.

03

Compare with minimal peripherals

  1. After rollback finishes, save work and eject removable storage before disconnecting it. Remove only nonessential accessories such as a printer, capture device or dock; retain keyboard, mouse, display, power and required access. Do not remove internal drives or disconnect during Setup.

  2. If retrying, do so once with backup and stable power, without changing other drivers simultaneously. If it completes, the external group or its software warrants review; it does not identify which accessory. Reconnect one at a time after upgrading, checking operation and official compatibility without causing new rollbacks to prove it.

  3. If it fails identically, preserve that attempt’s logs and move to SetupDiag. Do not keep removing essential devices by elimination.

04

Read what SetupDiag found

  1. Open %WinDir%\Logs\SetupDiag\SetupDiagResults.xml if it exists and matches the recent attempt. SetupDiag analyzes setup logs; it can report the phase, last operation and matching rule. Not naming a file does not rule out drivers.

  2. If it names a driver/package or specific blocker, move to targeted correction. If it only reports rollback, preserve setupact.log and setuperr.log from that attempt’s Panther/Rollback folders under $Windows.~BT\Sources; do not delete the last mentioned file: it may be affected rather than causal.

  3. The phase narrows what to inspect but does not identify a part alone. In Windows 10 documentation, 0x20017 points to SafeOS boot and 0x30018 to device installation; setupapi.dev.log can add detail for the latter. Use the actual phase and target-version documentation rather than applying old Citrix examples to a PC without it.

  4. If the report is missing or insufficient, the manual run below can analyze preserved logs. If there is still no identified driver, send the set to Microsoft/OEM through a private channel instead of deleting drivers.

05

Map the finding to an official package

  1. Compare the indicated .sys file, .inf package or device with its properties: provider, version and hardware identifier. If the report cannot safely map them, ask OEM/IT to identify them. A similar-looking name online is insufficient grounds for uninstalling it.

  2. Prioritize storage/disk controller if logs point to boot or that driver; display if they name its package; networking if they name its adapter/filter. Category alone does not prove fault. Look for a version supported for the model and target Windows version through Windows Update or the official OEM/vendor.

  3. If failure began after changing that driver and a compatible previous version exists, targeted rollback may be preferable to another random version. Before changing it, keep a backup, compatible installer and a way to recover access. Do not remove storage, encryption or managed-network drivers without the manufacturer/IT’s specific procedure.

  4. After correction and required restarts, retry once and compare code/phase. If it completes, stop. If identical, provide both results; if a different blocker appears, follow that new finding. Do not use third-party driver updaters.

Advanced

Advanced checks

Continue if the earlier steps did not help. Read each procedure’s precautions first.

06

Run SetupDiag only if a useful report is missing

  1. Download the current version from Microsoft Learn, check its requirements and save it in a known folder. Open an administrator Command Prompt in that folder. The following command analyzes the local attempt and writes a new report; if that file already exists, keep a copy or choose another name first.

  2. Command Prompt
    SetupDiag.exe /Output:"%USERPROFILE%\SetupDiagResults.log" /ZipLogs:False

    Analyzes available logs; it does not start another upgrade. Open the resulting file in Notepad and return to report interpretation.

  3. If several failures appear, Microsoft notes that the last is usually fatal. If no rule matches or logs are missing, do not interpret that as a healthy PC: preserve complete folders for support. Do not publish logs or dumps without reviewing personal data.

Next step

Still not working?

If there is no reliably identified driver or the driver affects boot/encryption, stop retrying and request analysis with model, target, suffix, phase and logs. BIOS/firmware is considered only for an official fix matching that model and symptom, with backup, recovery and stable power; it is not the default next step. Do not reinstall or erase data to hide an unidentified blocker.

Sources

Documentation behind this guide. Editorial recommendations are identified separately.

Source review: . A documentation review, not a physical hardware test.

Related problems