Hey all, I'm currently running a Windows 11 21H2 virtual machine that's already reached its end of support, and I'm looking to upgrade it to either version 23H2 or 24H2. I've run into a snag since Windows Update isn't offering the newer version for some reason.
Here's a bit about my setup: I'm operating within a virtual machine and my aim is to do an in-place upgrade without losing any apps or data.
Right now, I'm considering a few options:
1. Mounting the ISO and running setup.exe.
2. Using the Windows Installation Assistant.
3. Doing a clean install if absolutely necessary.
For those of you who have experience with this, I have a few questions:
- Which upgrade method has worked best for you in a VM environment?
- Did you face any issues with drivers, VM tools, or compatibility?
- Were there any concerns regarding TPM or Secure Boot checks during the upgrade?
- Are there any potential issues ('gotchas') I should prepare for before starting the upgrade?
I'd really appreciate any advice, especially from those managing multiple VMs in an enterprise setting. Thanks in advance!
3 Answers
In-place OS upgrades on Azure VMs aren't really the way to go. I recommend just setting up a new VM and reinstalling your applications. It might seem like extra work, but it’ll save you headaches in the long run.
Exactly, I've seen reliable methods and resources that talk about this support now. Just gotta figure out the best approach!
Upgrading feature versions on Azure VMs has historically been a tricky subject. If you're determined to upgrade, Microsoft has published an official workaround for this process, which you can find in their documentation.
Even if your Windows 11 version is out of support, Windows Update might still recognize it as eligible for an upgrade. Have you tried checking for updates using Azure Update Management? I believe Windows 11 isn't set up for automatic patching on a schedule, but it should still work for ad-hoc updates.

That’s not entirely accurate. In-place upgrades for Azure VMs have been supported for a while now, so you might want to check the latest documentation before dismissing it entirely.