A central hub of Azure cloud migration services and tools to discover, assess, and migrate workloads to the cloud.
Hi Sarib,
A new VM isn’t pinned to any cluster, so creating one first is a good way to test whether the target SKU can be allocated in your region. If that works, the disk swap should work too. Here’s the approach I’d use.
First, check that the SKU is offered to your subscription and that you have quota and look at the Restrictions column. If it shows NotAvailableForSubscription, you’ll need a support request for SKU access. Then confirm there’s enough free vCPU quota for that VM family.
Second, note the old OS disk’s details (OS type, generation, zone, security type). The new VM has to match on OS type and Gen1/Gen2, and on zone if you use zones. If the old VM uses Trusted Launch, the new one needs the same.
Third, create a new VM with the target SKU using a marketplace image of the same OS and generation. This is your cluster check. If it deploys and starts, capacity is fine. If it throws the same error, the problem is SKU capacity in that region or zone, and swapping disks won’t get around it. In that case try another zone or region, or open a support request.
Fourth, deallocate the old VM, snapshot its OS disk, and create a managed disk from the snapshot (in the same zone as the new VM if you use zones). Working on a copy keeps a rollback path.
Fifth, deallocate the new VM and swap its OS disk to the copy, in the portal under VM > Disks > Swap OS disk. Then start it.
Finally, re-attach the data disks, move the old NIC (or assign the same static IP) if you want to keep the private IP, and re-enable extensions, backup and monitoring, since none of those carry over.
If it doesn’t boot, the usual causes are a generation mismatch, an older OS without an NVMe driver on an NVMe-based SKU, or apps relying on a temp disk that the new SKU doesn’t have.
Once everything is verified, delete the throwaway OS disk from the new VM, and keep the old VM and disk for a while before retiring them.
Hope this helps.