Support for generation 2 VMs (preview) on Azure


Azure support for generation 2 VMs is currently in preview. This preview version is provided without a service-level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities. For more information, see Supplemental terms of use for Microsoft Azure previews.

Support for generation 2 virtual machines (VMs) is now available in preview in Azure. You can't change a virtual machine's generation after you've created it, so review the considerations on this page before you choose a generation.

Generation 2 VMs support key features that aren't supported in generation 1 VMs. These features include increased memory, Intel Software Guard Extensions (Intel SGX), and virtualized persistent memory (vPMEM). Generation 2 VMs also have some features that aren't supported in Azure yet. For more information, see the Features and capabilities section.

Generation 2 VMs use the new UEFI-based boot architecture rather than the BIOS-based architecture used by generation 1 VMs. Compared to generation 1 VMs, generation 2 VMs might have improved boot and installation times. For an overview of generation 2 VMs and some of the differences between generation 1 and generation 2, see Should I create a generation 1 or 2 virtual machine in Hyper-V?.

Generation 2 VM sizes

Generation 1 VMs are supported by all VM sizes in Azure. Azure now offers preview generation 2 support for the following selected VM series:


The usage of Generation 2 VM images for Mv2-series is general available since the Mv2-series works with Generation 2 VM images exclusively. Generation 1 VM images are not working with Mv2-series.

Generation 2 VM images in Azure Marketplace

Generation 2 VMs support the following Marketplace images:

  • Windows Server 2019 Datacenter
  • Windows Server 2016 Datacenter
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 Datacenter
  • SUSE Linux Enterprise Server 15 SP1
  • SUSE Linux Enterprise Server 12 SP4

On-premises vs. Azure generation 2 VMs

Azure doesn't currently support some of the features that on-premises Hyper-V supports for generation 2 VMs.

Generation 2 feature On-premises Hyper-V Azure
Secure boot ✔️
Shielded VM ✔️
vTPM ✔️
Virtualization-based security (VBS) ✔️
VHDX format ✔️

Features and capabilities

Generation 1 vs. generation 2 features

Feature Generation 1 Generation 2
Disk controllers IDE SCSI
VM sizes All VM sizes Only VMs that support premium storage

Generation 1 vs. generation 2 capabilities

Capability Generation 1 Generation 2
OS disk > 2 TB ✔️
Custom disk/image/swap OS ✔️ ✔️
Virtual machine scale set support ✔️ ✔️
Azure Site Recovery ✔️
Backup/restore ✔️ ✔️
Shared image gallery ✔️ ✔️
Azure disk encryption ✔️

Creating a generation 2 VM

Marketplace image

In the Azure portal or Azure CLI, you can create generation 2 VMs from a Marketplace image that supports UEFI boot.

Azure portal

Generation 2 images for Windows and SLES are included in the same server offer as the Gen1 images. What that means from a flow perspective is that, you select the Offer and the SKU from the Portal for your VM. If the SKU supports both generation 1 and generation 2 images, you can select to create a generation 2 VM from the Advanced tab in the VM creation flow.

Currently, the following SKUs support both generation 1 and generation 2 images:

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

When you select a Windows Server SKU as the offer, in the Advanced tab, there's an option to create either a Gen 1 (BIOS) or Gen 2 (UEFI) VM. If you select Gen 2, ensure the VM size selected in the Basics tab is supported for generation 2 VMs.

Select Gen 1 or Gen 2 VM


You can also use PowerShell to create a VM by directly referencing the generation 1 or generation 2 SKU.

For example, use the following PowerShell cmdlet to get a list of the SKUs in the WindowsServer offer.

Get-AzVMImageSku -Location westus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer

If you're creating a VM with Windows Server 2012 as the OS, then you will select either the generation 1 (BIOS) or generation 2 (UEFI) VM SKU, which look like this:


See the Features and capabilities section for a current list of supported Marketplace images.

Managed image or managed disk

You can create a generation 2 VM from a managed image or managed disk in the same way you would create a generation 1 VM.

Virtual machine scale sets

You can also create generation 2 VMs by using virtual machine scale sets. In the Azure CLI, use Azure scale sets to create generation 2 VMs.

Frequently asked questions

  • Are generation 2 VMs available in all Azure regions?
    Yes. But not all generation 2 VM sizes are available in every region. The availability of the generation 2 VM depends on the availability of the VM size.

  • Is there a price difference between generation 1 and generation 2 VMs?

  • I have a .vhd file from my on-premises generation 2 VM. Can I use that .vhd file to create a generation 2 VM in Azure? Yes, you can bring your generation 2 .vhd file to Azure and use that to create a generation 2 VM. Use the following steps to do so:

    1. Upload the .vhd to a storage account in the same region where you'd like to create your VM.

    2. Create a managed disk from the .vhd file. Set the Hyper-V Generation property to V2. The following PowerShell commands set Hyper-V Generation property when creating managed disk.

      $sourceUri = ''. #<Provide location to your uploaded .vhd file>
      $osDiskName = 'gen2Diskfrmgenvhd'  #<Provide a name for your disk>
      $diskconfig = New-AzDiskConfig -Location '<location>' -DiskSizeGB 127 -AccountType Standard_LRS -OsType Windows -HyperVGeneration "V2" -SourceUri $sourceUri -CreateOption 'Import'
      New-AzDisk -DiskName $osDiskName -ResourceGroupName '<Your Resource Group>' -Disk $diskconfig
    3. Once the disk is available, create a VM by attaching this disk. The VM created will be a generation 2 VM. When the generation 2 VM is created, you can optionally generalize the image of this VM. By generalizing the image you can use it to create multiple VMs.

  • How do I increase the OS disk size?
    OS disks larger than 2 TB are new to generation 2 VMs. By default, OS disks are smaller than 2 TB for generation 2 VMs. You can increase the disk size up to a recommended maximum of 4 TB. Use the Azure CLI or the Azure portal to increase the OS disk size. For information about how to expand disks programmatically, see Resize a disk.

    To increase the OS disk size from the Azure portal:

    1. In the Azure portal, go to the VM properties page.
    2. To shut down and deallocate the VM, select the Stop button.
    3. In the Disks section, select the OS disk you want to increase.
    4. In the Disks section, select Configuration, and update the Size to the value you want.
    5. Go back to the VM properties page and Start the VM.

    You might see a warning for OS disks larger than 2 TB. The warning doesn't apply to generation 2 VMs. However, OS disk sizes larger than 4 TB are not recommended.

  • Do generation 2 VMs support accelerated networking?
    Yes. For more information, see Create a VM with accelerated networking.

  • Is VHDX supported on generation 2?
    No, generation 2 VMs support only VHD.

  • Do generation 2 VMs support Azure Ultra Disk Storage?

  • Can I migrate a VM from generation 1 to generation 2?
    No, you can't change the generation of a VM after you create it. If you need to switch between VM generations, create a new VM of a different generation.

Next steps