I'm down to roughly 15 Windows Server 2016 machines that still need to move to Windows Server 2022. Most of our earlier upgrades worked, but the last five have failed—some remain at 0% during setup, while others stall around 90% during first boot. Two recently sat at "Working on updates—99%" for more than four hours before I had to roll them back or restore a snapshot. These are vendor-managed systems that would take weeks to migrate or require significant extra cost to rebuild. I've already reviewed Panther logs and tried a range of troubleshooting steps, but many attempts take several hours without producing a useful result. Are there reliable preparation steps, setup options, or troubleshooting techniques that make these upgrades more likely to succeed?
5 Answers
If 2022 continues to fail, consider using 2019 as an intermediate target and plan a later migration. Some administrators have also found the newer 2025 upgrade path more reliable than 2022, but application and vendor support should be confirmed before choosing that route.
If the interactive setup process is running into permission or session-related problems, running setup under the SYSTEM account has worked for some machines. Test this carefully on a noncritical system first, and make sure you have a verified backup or snapshot before retrying.
Compare the failing machines closely with the ones that upgraded successfully instead of applying the same fixes blindly. Vendor agents, pending Windows updates, storage problems, and drivers are common differences that can affect setup. Temporarily removing or disabling nonessential vendor software and checking those areas may reveal a pattern.
The 2016-to-2022 path seems unusually temperamental. For anything business-critical, a clean 2022 installation followed by migrating the roles, data, and vendor application is usually safer than spending hours watching an in-place upgrade hang and then roll back. Make sure the application can also run on a rebuilt or restored VM before choosing the in-place route.
One thing that helped us was disabling Dynamic Updates during Windows Setup. After turning off that option, the upgrade completed instead of hanging for an extremely long time. We installed the normal updates after the server was successfully running 2022.

Agreed. I’d avoid in-place upgrades for production 2016 systems whenever a rebuild is practical, even if the migration takes some planning.