How to fix Windows installation error 0xC1900101 - 0x40021?
Prefer to fix it yourself? The manual steps follow.
- 8methods
- 15 minutes to 2 hours
- Intermediate
Applies to Windows 10 22H2 and Windows 11 (24H2, 25H2, 26H2) upgrades through Windows Update, the Installation Assistant or setup.exe from an ISO
8 methods in this guide
- What the error means
- Why it appears
- Where the cause is written
- The fixes
- 1. Remove cards and devices
- 2. Find the driver in the logs
- 3. Disable the problem device
- 4. Update the drivers
- 5. Remove driver-loading apps
- 6. Upgrade from a clean boot
- 7. Free space, check the disk
- 8. Update the BIOS
- If it is still there
- Keep it from coming back
- FAQ
Hi, I tried upgrading from Windows version 22H2 to 23H2, but it failed with error 0xC1900101 - 0x40021: "The installation failed in the SECOND_BOOT phase with an error during SYSPREP_RESPECIALIZE operation." How do I fix it?
Error 0xC1900101 - 0x40021 means a Windows upgrade got as far as the second restart into the new Windows, then a device or driver hung or crashed and Setup rolled back. Start by removing memory cards and every extra device, then read the rollback logs to name the driver.
Shut down, take out any memory card from the built-in card reader, unplug every device except the mouse, keyboard and display, and run the upgrade again (Fix 1). The code says Setup failed at the second restart, which Microsoft ties to drivers. If it fails again, read setupapi.dev.log or run SetupDiag to name the device (Fix 2), then disable or update that driver (Fix 3, Fix 4).
| Error | 0xC1900101 - 0x40021, shown by Windows Setup as "The installation failed in the SECOND_BOOT phase with an error during SYSPREP_RESPECIALIZE operation". Windows Update often shows only 0xC1900101. |
|---|---|
| Where it appears | Late in a feature upgrade: after the second restart, when the new Windows is already starting. The PC then rolls back and shows the error on your old Windows. |
| Main cause | A driver that hangs or crashes when the new Windows starts its devices. Microsoft calls 0xC1900101 a generic rollback code that usually means an incompatible driver. |
| Fastest fix | Remove memory cards, unplug every device except mouse, keyboard and display, and run the upgrade again (Fix 1). |
| Also written as | 0xc1900101-0x40021, 0xC1900101 0x40021, install error - 0xc1900101, or SECOND_BOOT SYSPREP_RESPECIALIZE. |
| How it differs from 0x30018 | 0x30018 fails at the first restart (FIRST_BOOT, SYSPREP). 0x40021 gets one restart further, to phase 4, so a crash dump is more often left behind. |
| Affects | Upgrades to Windows 11 and Windows 11 feature updates, including 25H2. Windows 10 left support on 14 October 2025. |
| Microsoft's status | A documented class of upgrade error. Microsoft has no separate page for 0x40021, and its table of operation codes stops at 0x20. |
| Where the cause is written | C:\$Windows.~BT\Sources\Rollback: setupmem.dmp for a crash and setupapi\setupapi.dev.log for a device that hung. |
| Time to fix | 15 minutes for Fix 1 and Fix 2, plus 1 to 2 hours for each new upgrade attempt. |
Facts checked on 15 October 2026. Steps written for Upgrades from Windows 10 22H2 to Windows 11, and Windows 11 feature updates to 25H2 and 26H2.
What 0xC1900101 - 0x40021 and SYSPREP_RESPECIALIZE mean
When an upgrade fails, Windows Setup returns two codes joined by a dash. Microsoft calls the first one the result code: it says what went wrong. The second is the extend code: its first digit is the phase and its last two digits are the operation.

The full text on the screen reads: We couldn't install Windows 11. We've set your PC back to the way it was right before you started installing Windows 11. 0xC1900101 - 0x40021. The installation failed in the SECOND_BOOT phase with an error during SYSPREP_RESPECIALIZE operation.
| Part | What Microsoft's documentation says | What it tells you |
|---|---|---|
| 0xC1900101 | MOSETUP_E_SETUP_PLATFORM, "The Setup Platform has encountered an unspecified error." A generic rollback code; in most cases the cause is a driver compatibility issue. | The upgrade did not finish and your old Windows is back, with its files and apps. |
| 0x4 (phase) | Phase 4 is SP_EXECUTION_OOBE_BOOT. The error text calls it SECOND_BOOT. | Setup had already passed the first restart. It failed at the second restart into the new Windows. |
| 0x21 (operation) | Not in Microsoft's table, which ends at 0x20 and was written for Windows 10 version 1607. The message names it SYSPREP_RESPECIALIZE. | A newer Setup step than the table covers. The cause is found in the logs, not in the code. |
| The pair | No separate entry. Microsoft sends the sibling SECOND_BOOT code 0x4001E to its general 0xC1900101 procedures. | Treat it as a driver problem at the second boot: devices, drivers, security software. |

The first-restart sibling has Microsoft's own one-line cause, a driver that stops responding to setup.exe, and its own guide: 0xC1900101 - 0x30018. With 0x40021 the new Windows got further, so the rollback folder more often holds a crash dump that names the driver.
Why the upgrade fails with 0xC1900101 - 0x40021
Microsoft's mitigations for the second-boot codes 0x4000D and 0x40017 point at drivers, antivirus filter drivers, encryption drivers, disk space and the BIOS. Reports of 0x40021 itself match that list. The ranking below follows it, and each cause leads to a fix.
| Cause | How often | How to tell | Fix |
|---|---|---|---|
| A storage device that hangs: a memory card in the built-in reader, a USB drive, a dock or a USB-C hub. | Most often | Something other than mouse, keyboard and display is attached, or a card sits in the laptop's reader. | Fix 1 |
| A built-in device whose driver hangs or crashes: card reader, USB-C controller, Wi-Fi. | Often | setupapi.dev.log shows Detected driver hang, or SetupDiag reports a crash in the OOBE boot phase. | Fix 2, Fix 3 |
| Old chipset, storage or USB drivers. | Often | The PC maker has newer drivers, or Device Manager shows a yellow mark. | Fix 4 |
| Software that loads its own drivers or services early: other antivirus, disk encryption, VR or remote access tools. | Sometimes | Such a program is installed. Microsoft names antivirus and encryption filter drivers for the second-boot code 0x40017. | Fix 5 |
| A startup program or service that conflicts with Setup. | Less often | Many tray tools, tuning or backup utilities start with Windows. | Fix 6 |
| Too little free space, disk errors or old firmware. | Rarely | Drive C has less than 20 GB free, chkdsk finds errors, or the BIOS is years old. | Fix 7, Fix 8 |

The reader above saw it on a move to 23H2. Searches show the same code on upgrades to Windows 11 25H2. The update file is rarely the problem: a device or driver on this PC is.
Where setupmem.dmp, setupapi.dev.log and SetupDiag show the driver
After a rollback, Setup keeps its files in the hidden folder C:\$Windows.~BT\Sources\Rollback. Microsoft lists three files there that help with 0xC1900101, and recommends its free SetupDiag tool, which reads them for you.
| File | Path | What it shows for 0x40021 |
|---|---|---|
| Minidump | C:\$Windows.~BT\Sources\Rollback\setupmem.dmp | Present when the PC crashed at the second boot. SetupDiag reads the stop code and the module from it. |
| Device install log | C:\$Windows.~BT\Sources\Rollback\setupapi\setupapi.dev.log | The device Setup was handling when it stopped. Lines with !!! mark failures. |
| Event logs | C:\$Windows.~BT\Sources\Rollback\*.evtx | Windows events from the failed attempt, readable in Event Viewer. |
| Setup logs | setupact.log and setuperr.log in C:\$Windows.~BT\Sources\Panther | The steps of Setup. SetupDiag reads them together with the rollback files. |

In one case on Microsoft Q&A, SetupDiag reported bug check 0x0000007E in the OOBEBoot phase, and setupapi.dev.log showed Detected driver hang and Error 480 on an SD card disk. The fix was a micro SD card left in the reader. Fix 2 shows how to find such lines.
How to fix Windows installation error 0xC1900101 - 0x40021
Fix 1 costs nothing and removes the most common trigger. Fix 2 names the driver, so Fix 3 and Fix 4 target one device instead of all of them. Fix 5 and Fix 6 remove software that loads early. Fix 7 and Fix 8 come last because they rarely cause this code.
| What you see or have | Start with |
|---|---|
| A memory card in the reader, USB drives, a dock or a USB-C hub attached. | Fix 1 |
| It failed again and you do not know which device or driver. | Fix 2 |
| The log or SetupDiag names a built-in device: card reader, USB-C, Wi-Fi. | Fix 3 |
| Device Manager shows a yellow mark, or the PC maker has newer chipset drivers. | Fix 4 |
| Another antivirus, disk encryption, VR or remote access software is installed. | Fix 5 |
| Everything above is done and the error stays. | Fix 6, then Fix 7 and Fix 8 |
Fix 1. Remove memory cards and unplug every device except the mouse, keyboard and display
5 minutes, plus the upgradeNo riskEveryone, and first of all laptops with a card reader and PCs with USB drives, a dock or a USB-C hub.
At the second restart the new Windows starts every connected device with its new drivers. Microsoft's first mitigation for its 0xC1900101 driver codes is to disconnect all peripherals except mouse, keyboard and display. A storage card is easy to forget, and it is a reported trigger of this code.
- Shut down the PC.
- Take out any SD or micro SD card from the built-in card reader.
- Unplug USB flash drives, external disks, printers, webcams, headsets, game controllers and USB hubs.
- Undock a laptop and disconnect USB-C hubs and adapters. Connect the charger directly.
- Keep one display, the mouse and the keyboard.
- Start Windows and run the upgrade again from Settings > Windows Update > Check for updates, or from
setup.exeon the installation media. - When the new version is running, plug the devices back in one at a time.
If you upgrade from a USB stick, Setup restarts several times. Users report a black screen at a restart that ended when the stick was removed. Unplug it only after the first restart, never while files are being copied.
It worked if: The PC passes the second restart, shows the setup screens and ends at the sign-in screen on the new version.
If not: If it rolls back again with 0x40021, find the device in the logs with Fix 2.
Fix 2. Find the failing driver with SetupDiag or in setupapi.dev.log
15 minutesNo riskFix 1 did not help, or you cannot unplug the device because it is built in.
0x40021 itself does not say which device failed, but the rollback folder usually does. Microsoft points to setupmem.dmp, the evtx logs and setupapi.dev.log for 0xC1900101, and recommends SetupDiag, which reads them and names the reason for the failure.
- Before anything else, copy the folders
C:\$Windows.~BT\Sources\RollbackandC:\$Windows.~BT\Sources\Pantherto your desktop. A new attempt replaces them. - Download SetupDiag from Microsoft's SetupDiag page on Microsoft Learn and save it in a new folder.
- Right-click SetupDiag.exe and select Run as administrator. Wait until the window closes.
- Open
SetupDiagResults.login the same folder. Note the lines with BugCheck Code, Driver or Module, and SetupPhase. - Next, open the copy of
setupapi.dev.logfrom theRollback\setupapifolder in Notepad and press Ctrl + End. - Press Ctrl + F and search upward for
!!!. Note the device in lines likeDetected driver hang while installing device. - Write down the device name or the driver file, then go to Fix 3.
| What you find | What it means | Go to |
|---|---|---|
Detected driver hang or Error 480 on a device | That device did not answer when Setup asked to remove or restart it. | Fix 3 |
A device with SDHC, SD or Card in its name | The card reader or a card in it. | Fix 1, then Fix 3 |
A bug check with a named .sys driver | That driver crashed the second boot. | Fix 4 or Fix 5 |
A bug check with module nt and no driver | The crash did not name the driver. | Fix 3 for the device in setupapi.dev.log, then Fix 4 |
If C:\$Windows.~BT is missing, Disk Cleanup or Storage Sense removed it. Run the upgrade once more, then read the logs before you clean anything.
It worked if: You have the name of one device or driver file.
If not: If neither file names a device, skip to Fix 4 and update the chipset and storage drivers.
Fix 3. Disable the device the log names for the upgrade
10 minutesLow riskThe log names a built-in device, such as the card reader, a USB-C controller or the Wi-Fi adapter.
A built-in device cannot be unplugged, but it can be turned off until the upgrade is done. For this code on Microsoft Q&A, a volunteer moderator advised disabling the built-in card reader and Wi-Fi adapter in the UEFI settings, and the reader's upgrade then went through.
- Right-click Start and select Device Manager.
- Find the device from the log. Card readers are often under Disk drives, Memory technology devices or Universal Serial Bus controllers.
- Right-click it and select Disable device, then Yes.
- If the log named a device that shows an error in Device Manager, select Uninstall device instead.
- If the PC's UEFI settings can turn off the card reader or Wi-Fi, you can switch it off there for the upgrade.
- Restart and run the upgrade again.
- On the new version, enable the device again in Device Manager or UEFI.
Do not disable the keyboard, the touchpad, the display adapter or the disk Windows runs from. If the log names one of those, update its driver in Fix 4 instead.
It worked if: The device shows a down arrow in Device Manager, and the upgrade passes the second restart.
If not: If the upgrade fails with the device off, enable it again and update the drivers in Fix 4.
Fix 4. Update the chipset, storage and USB drivers from the PC maker
15 to 30 minutesLow riskThe PC has not had driver updates for a long time, the log named a driver file, or Device Manager shows a yellow mark.
Microsoft's mitigation for its 0xC1900101 codes is to get updated drivers from the hardware vendor. For 0x40021 on Microsoft Q&A, the first advice was the chipset drivers, because they run the USB, storage and card reader controllers that start at the second boot.
- Press Win + R, type
msinfo32and press Enter. Note System Model or BaseBoard Product. - On the PC or motherboard maker's support page for that model, download the newest chipset, storage, USB and card reader drivers.
- Install them and restart.
- Open Settings > Windows Update > Advanced options > Optional updates and install the driver updates listed there.
- Right-click Start, open Device Manager and fix any device with a yellow exclamation mark.
- Run the upgrade again.
- Open Device Manager. Right-click Start and select Device Manager.

Device Manager lists devices by category; a yellow warning sign marks a device with a problem. Screenshot: Windows 11 26H2. - Open the device's Driver tab. Expand the category (for example Display adapters), right-click the device, select Properties and open the Driver tab. Driver Date and Driver Version show what is installed now.

The Driver tab holds all three actions: update, roll back, uninstall. Screenshot: Windows 11 26H2. - Update the driver. Select Update Driver and let Windows search automatically. To use a driver you downloaded from the device maker, select Browse my computer for drivers instead and point to the unpacked folder.
These steps were written for Windows 11 24H2 and later. The full page with the other versions and what each result means: Update, roll back or reinstall a driver
It worked if: Device Manager shows no yellow marks, and the upgrade passes the second restart.
If not: If a security, encryption or VR program is installed, try Fix 5.
Fix 5. Uninstall software that loads its own drivers early, then reinstall it after
15 minutesLow riskAnother antivirus, a disk encryption tool, VR headset software or remote access software is installed.
Microsoft says the second-boot failure 0x40017 is caused by a faulty driver, for example antivirus filter drivers or encryption drivers. Such programs start before you sign in, which is exactly where 0x40021 fails. Users also report a VR service, the Meta Oculus OVRLibraryService, as the trigger.
- Make sure you have the installer and licence key or account of each program you remove.
- Open Settings > Apps > Installed apps and uninstall the non-Microsoft antivirus or security suite.
- Uninstall VR headset software and remote access tools you can set up again later.
- Restart. Microsoft Defender turns on by itself when no other antivirus is installed.
- Run the upgrade again, and reinstall the programs on the new version.
Removing a non-Microsoft disk encryption tool while the drive is encrypted can lock your data. Decrypt the drive with that tool as its maker describes, and back up your files first: Back up your files (Windows Backup, File History, Time Machine).
Step by step for removing a program: Uninstall a program or app in Windows.
It worked if: Windows Security shows Microsoft Defender as active, and the upgrade completes.
If not: If it still fails, run the upgrade from a clean boot in Fix 6.
Fix 6. Run the upgrade from a clean boot, with updates downloaded during Setup
20 minutes, plus the upgradeLow riskFix 1 to Fix 5 are done and the PC starts many programs and services from other makers.
Microsoft says a rollback caused by driver conflicts can be solved by running Setup with a minimal set of drivers and startup programs, and its fix for the second-boot code 0x40017 is a clean boot. It also asks you to let Setup download updates, which brings newer drivers.
- Open System Configuration. Select Search on the taskbar, type msconfig and select System Configuration from the results.
- Hide Microsoft services. On the Services tab, select the Hide all Microsoft services check box. Only services from other companies stay in the list.

With Hide all Microsoft services ticked, only third-party services stay in the list. Screenshot: Windows 11 26H2. - Disable the remaining services. Select Disable all, then select Apply.
- Open Task Manager. On the Startup tab of System Configuration, select Open Task Manager.

The Startup tab only links to Task Manager. Screenshot: Windows 11 26H2. - Disable the startup apps. On the Startup apps tab in Task Manager, select each item whose status is Enabled and select Disable. Write down or take a screenshot of the items you disable: you need the list to turn them back on.

Select an app, then Disable. Screenshot: Windows 11 26H2. - Confirm the changes. Close Task Manager. On the Startup tab of System Configuration, select OK.
- Restart and test. Restart the PC. Windows now starts in a clean boot environment: try again the thing that failed (run the app, install the update, uninstall the program).
These steps were written for Windows 11 25H2 and 26H2. The full page with the other versions and what each result means: How to perform a clean boot in Windows
- In the clean boot, download the ISO from Microsoft's Download Windows 11 page, right-click it and select Mount.
- Double-click
setup.exeon the new drive. - When Setup offers to get updates, choose to download and install them. Microsoft's wording is "Download and install updates (recommended)", and newer media may word it differently.
- Keep personal files and apps, and let the upgrade run.
- On the new version, undo the clean boot as the procedure above describes.
It worked if: The upgrade passes the second restart, and the clean boot can be undone on the new version.
If not: If it fails in a clean boot too, check space and the disk in Fix 7.
Fix 7. Free up 20 GB and repair disk errors
20 minutes to several hoursLow riskDrive C has little free space, the PC lost power often, or every fix above failed.
Microsoft's first step for a crash in the second boot phase (0x4000D) is to make sure there is enough disk space, and it asks for 20 GB free for 64-bit Windows. Disk errors can also make Setup fail after the first restart.
- Open Storage settings. Select Start > Settings > System > Storage. The top of the page shows how full the drive is and what uses the space.
- Open Cleanup recommendations. Under Storage management, select Cleanup recommendations.

Settings, System, Storage: Cleanup recommendations is under Storage management. Screenshot: Windows 11 26H2. - Clean up what Windows suggests. Open each group (Temporary files, Large or unused files, Files synced to the cloud, Unused apps), check the items you do not need and select Clean up in that group.

Cleanup recommendations groups the suggestions; on our test PC there was nothing to clean yet. Screenshot: Windows 11 26H2. - Delete more temporary files. Go back to Storage and select Temporary files. Windows lists the types it can remove with their size. Check the ones you do not need and remove them. Leave Downloads unchecked unless you have checked that folder.
These steps were written for Windows 11 (screenshots: 26H2). The full page with the other versions and what each result means: Free up disk space and delete temporary files
- Check File Explorer > This PC: drive C should show 20 GB free or more.
- Right-click Start and open Terminal (Admin).
- Type
chkdsk /f C:and press Enter. Answer Y to check at the next restart, then restart. - After the restart, run
DISM.exe /Online /Cleanup-image /Restorehealth, thensfc /scannow, and try the upgrade again.
With screenshots: Check a disk for errors (chkdsk) and Run DISM and SFC to repair Windows system files.
It worked if: Drive C has 20 GB or more free, and chkdsk and DISM report no problems or say they fixed them.
If not: If chkdsk reports bad sectors, read the section on hardware below. Otherwise try Fix 8.
Fix 8. Update the BIOS or UEFI firmware
15 to 30 minutesRead the warningThe PC maker lists a newer BIOS for your model and every other fix failed.
Microsoft lists a BIOS update among the steps for a crash in the second boot phase (0x4000D). On Microsoft Q&A, the BIOS update was the second piece of advice for 0x40021, because old firmware can make a controller fail when the new Windows starts it.
Do not turn the PC off during the update, keep a laptop on its charger, and use only the file for your exact model from the maker's site. Back up your files first: Back up your files (Windows Backup, File History, Time Machine).
- Press Win + R, type
msinfo32and press Enter. - Note System Model, BaseBoard Product and BIOS Version/Date.
- On the maker's support page for that model, compare the newest BIOS with yours.
- If a newer one exists, install it exactly as the maker describes.
- Start Windows and run the upgrade again.
It worked if: System Information shows the new BIOS date, and the upgrade passes the second restart.
If not: If it still rolls back, read the next section and send the logs to support.
If error 0xC1900101 - 0x40021 is still there
When the upgrade still rolls back with no extra devices and current drivers, the logs decide the next step. Copy the Rollback and Panther folders before every new attempt, because each attempt replaces them.
| What you find | What to do |
|---|---|
| SetupDiag names a driver file | Search the file name to find its maker, then update or uninstall that program or device. |
A crash with module nt and no driver | Microsoft suggests checking the System log in Event Viewer for other errors around the time of the crash. |
| chkdsk reports bad sectors | Copy your files off and replace the drive before you upgrade. |
| A work or school PC | Ask the IT department: their drivers, encryption or management tools may need a newer release. |
| You want Microsoft to look at it | Microsoft suggests collecting data with its TSS tool before you contact support. |
Microsoft notes that a driver rollback code can also come from a hardware failure. Signs are blue screens outside the upgrade, a device that disappears and comes back, and chkdsk or memory tests that report errors.
- What to send to support: both codes, the version you upgrade from and to, and how you started the upgrade.
- Attach
SetupDiagResults.log,setupapi.dev.log,setupact.log,setuperr.logand, if it exists,setupmem.dmp. - Name the hardware: PC model, BIOS version and any device the log mentions.
How to keep 0xC1900101 - 0x40021 from coming back
- Take out memory cards and unplug docks and hubs before every feature upgrade.
- Install chipset and storage drivers from the PC maker a few days before you upgrade.
- Keep 20 GB or more free on drive C.
- Let Setup download updates when it asks.
- Do not keep two security suites installed at the same time.
- Do not delete the $Windows.~BT folder before you have read its logs.
- Do not install drivers from download sites that are not the device maker.
- Do not stay on Windows 10: it no longer gets security fixes.
Windows 10 left support on 14 October 2025 and no longer gets free security fixes. If the upgrade to Windows 11 fails on a Windows 10 PC with this code, these fixes are the way to get there.
Frequently asked questions
What does error 0xC1900101 - 0x40021 mean?
It means a Windows upgrade failed at its second restart and Setup restored your previous Windows. The code 0xC1900101 is Microsoft's generic rollback code, which usually points to an incompatible driver. The code 0x40021 says the failure happened in phase 4, which the message calls SECOND_BOOT, during the operation SYSPREP_RESPECIALIZE. Your files and apps stay as they were. Start by removing memory cards and extra devices, then read the rollback logs to find the driver.
What is SYSPREP_RESPECIALIZE?
It is the name Windows Setup gives to the step that was running when the upgrade failed. Microsoft's public table of extend codes stops at operation 0x20 and does not list 0x21, so the name comes only from the error message. What matters is the phase: the new Windows had already restarted twice and was starting its devices. A driver that hangs or crashes at that point causes the rollback, which is why the fixes focus on devices and drivers.
How is 0x40021 different from 0x30018?
The first digit of the extend code is the phase. The code 0x30018 fails in phase 3, the first restart, during SYSPREP. The code 0x40021 fails in phase 4, the second restart, one step later. Both point to drivers, and both start with unplugging devices. With 0x40021 a crash dump, setupmem.dmp, is more often left behind, so reading it with SetupDiag pays off earlier. The first-restart error has its own guide on this site.
What does 0xC19001 on Windows 11 mean?
0xC19001 is not a complete code. It is the start of the Windows Setup codes, which all begin with 0xC1900 or 0xC1901. Check the full code in Settings > Windows Update > Update history. The code 0xC1900101 is the generic rollback code this page covers. Codes such as 0xC1900104 or 0xC19001e1 mean other things, explained below. If Update history shows only 0xC1900101, the second code is in the Setup logs and SetupDiag will show it.
What are 0xC1900104 and 0xC19001e1?
They are other Setup result codes, not versions of 0x40021. Microsoft lists 0xC1900104 as MOSETUP_E_PROCESS_TIMEOUT, "The installation process did not complete within the required time limit", and 0xC19001e1 as MOSETUP_E_PROCESS_SUSPENDED, "The installation process was suspended." Both mean Setup was stopped or ran too long. Keep the PC on its charger, awake and online during the upgrade, then run it again. If a driver hangs Setup, Fix 1 and Fix 2 still apply.
What about 0xC1900101 - 0x4001E, 0x3000D or 0x2000D?
They are siblings with other phases or operations. Microsoft describes 0x4001E as a failure in the SECOND_BOOT phase during PRE_OOBE, a generic error handled with the same 0xC1900101 procedures, so this page applies. The code 0x3000D fails at the first restart during MIGRATE_DATA, and Microsoft links it to the display driver. The code 0x2000D is phase 2, SAFE_OS, with the MIGRATE_DATA operation. For all of them, unplug devices and update drivers first.
Windows 11 25H2 failed to install with 0xC1900101. Is this the same error?
Often, yes. Windows Update usually shows only the first code, so "Windows 11, version 25H2 install error - 0xc1900101" can hide 0x40021 or one of its siblings. Run SetupDiag after the failure to see both codes and the reason. The fixes on this page apply to any 0xC1900101 that comes from a driver at the second restart. Pause updates while you work through them, so Windows Update does not retry the same attempt.
Will I lose my files when the upgrade rolls back?
No, not in the normal case. The message says Windows set your PC back to the way it was before the upgrade started, with your files, apps and settings. Still, back up important files before the next attempt, because each attempt rewrites system files and restarts several times. A backup also protects you before a BIOS update or before removing encryption software.
Should I check the PC with PC Health Check first?
Only if you are moving from Windows 10 to Windows 11 and have not checked yet. PC Health Check tells you whether the PC meets the Windows 11 requirements. A PC that fails them is normally stopped before the upgrade starts, not at the second restart. Error 0x40021 means Setup already accepted the PC and copied the new Windows, so the cause is a driver or device, not the requirements.
Sources
- Microsoft Learn: Windows 10 upgrade error codes (result codes, extend code phase and operation tables) (learn.microsoft.com)
- Microsoft Learn: Windows 10 upgrade resolution procedures (0xC1900101 codes, rollback logs, 0x4000D, 0x40017, 0x4001E) (learn.microsoft.com)
- Microsoft Q&A: Error Code 0xC1900101 0x40021, SECOND_BOOT phase, SYSPREP_RESPECIALIZE (SetupDiag and setupapi.dev.log analysis) (learn.microsoft.com)
Did this fix work?
One click, no account. It tells the next reader which guides are worth their time.
Questions and experiences: fix Windows installation error 0xC1900101 - 0x40021
Still broken, or found a fix we did not cover? Ask here: members and our editors answer. Reading is open; writing needs a free account.
…