Follow ZDNET: Add us as a preferred source on Google.
When Windows decides that it isn’t interested in completing an upgrade, it can be maddeningly unhelpful, spitting out error codes and cryptic messages that can leave even experts scratching their heads.
Also: How to upgrade your ‘incompatible’ Windows 10 PC to Windows 11 – for free
That can happen with a routine Windows 11 feature update, but it’s especially frustrating when you’re trying to install Windows 11 on an older PC before Windows 10 support ends.
Over the years, I’ve had a lot of practice with this sort of thing, including hundreds of email sessions with readers trying to figure out why their upgrade isn’t working. The troubleshooting process can sometimes be tedious, but there’s usually an answer.
1. Check for missing updates, especially firmware
I’ve heard from several readers who encountered issues with upgrading that were resolved after they tracked down some crucial driver and firmware/BIOS updates.
Also: Microsoft said these 400 readers couldn’t upgrade to Windows 11. They did it anyway
That’s an especially useful piece of advice if you’re working with an older PC. Those firmware and BIOS updates can often resolve all sorts of problems — big and small.
2. Look up known issues
It’s always a good idea to do this before you start the upgrade. But if you forgot that step, the second-best time is when you run into an error message while upgrading.
Microsoft keeps a list of known issues for each major update at its Windows release information dashboard. Expand each entry on the left to see the list of known and resolved issues for supported releases of Windows.
Also: Can’t upgrade your Windows 10 PC? You have 5 options – and just weeks to act
Known issues are most likely to appear in the first few months after the release of a new feature update. Incompatibilities with software and hardware can lead Microsoft to impose temporary compatibility blocks (known as “safeguard holds”) for systems with those particular configurations.
You might be able to bypass one of these blocks by updating or uninstalling an incompatible program, or you might want to defer that update until the blocking issue is resolved. You’ll find an excellent discussion of the issues involved with safeguard holds on this page. Although it’s nominally about one specific safeguard hold, the four alternatives it describes are universal.
3. Try again!
This is dangerously close to “Have you tried rebooting?” But this trick has worked so many times that it can’t be ignored.
First, check Windows Update for your currently installed version of Windows. If any updates are pending, install them and restart before continuing.
Also: How to get free Windows 10 security updates through October 2026: Two ways
Next, temporarily uninstall any unneeded software that could be getting in the way. Pay special attention to low-level system tools such as antivirus software, disk management tools, and so on. In the case of antivirus software, you might need to download a tool from the developer to completely remove the program.
Disconnect all non-essential peripheral devices, especially external hard drives and USB flash drives that you’re not using to run Setup.
After doing all that, restart your PC and try to upgrade again. On the opening page, click “Change how Setup downloads updates,’ then click “Not right now.”
Downloading updates during Setup can cause some upgrades to fail. After turning off this option, try running Setup again.
Screenshot by Ed Bott/ZDNET
If that doesn’t get things moving, it’s time to break out the big guns.
4. Use the SetupDiag tool to track down an error
Windows creates detailed log files each time it attempts an upgrade. Those logs aren’t designed to be decoded by mere mortals, which is why Microsoft created a diagnostic utility to do that job for you.
SetupDiag locates and inspects those log files, then uses a set of rules to create a readable report flagging the most likely cause of the failure. You’ll need to run a few commands from a terminal window to get that report, but the process isn’t difficult and the results are worth the effort. Here’s how to use it.
-
Download the program from here: https://go.microsoft.com/fwlink/?linkid=870142.
-
Create a folder called C:SetupDiag and copy the SetupDiag.exe program you just downloaded to that folder.
-
Next, open an elevated command prompt window. Click Start, type cmd, and then click Run As Administrator. In that command prompt window, type cd c:setupdiag and press Enter to switch to the folder you just created
-
Run the command SetupDiag.exe /Output:C:SetupDiagResults.log. The output of that command is a plain text file that is saved in the same folder as the program file. As its final step, the app opens the results file in Notepad, allowing you to examine its output and figure out what to do next.
Don’t expect plain-English advice, but the results, especially any error codes, should be useful input for any searches to identify others who’ve had the same issue.
Here’s a sample from a SetupDiag log a reader recently sent me.
The SetupDiag log sifts through a huge volume of log files and produces this report that identifies the most likely cause of the failure.
Screenshot by Ed Bott/ZDNET
The last item on that page typically identifies the error. In this case, it’s an “abrupt down-level failure,” which means something went wrong in the source OS, before Setup even got to the target OS. The error code, 0xC1900209, is listed in this detailed support document: “The user has chosen to cancel because the system does not pass the compat scan to install the update.”
The fix was to tell Setup not to download updates and drivers; after making that change, the upgrade completed without error. Once Windows 11 was installed, the required updates installed without issue.
You’ll find full instructions for using SetupDiag on this page.
Note: This article was originally published in 2020 and covered Windows 10 upgrade issues. It was completely rewritten to cover Windows 11 upgrade scenarios and republished in September 2025.
Leave a Reply