When creating a new virtual machine on WS2012 R2 Hyper-V, you will have the option to create a Generation 1 virtual machine (what has always existed in Hyper-V as just a VM) or a Generation 2 (G2) VM. The G2 VM has the following features:
- It is free of legacy hardware. The VM no longer attempts to pretend to be a physical machine.
- All devices run as synthetic VM Bus “hardware”
- Your VM will boot from a SCSI controller. This means the attached OS VHDX can take advantage of SCSI/VHDX features such as TRIM, UNMAP, and hot resizing.
- The synthetic NIC can boot from the network using PXE
- The VM uses UEFI instead of BIOS. That means it can do secure boot from GPT partitions.
- VM boots will be around 20% faster (think VDI boot storm). OS installs will be around 50% faster. But normal day-day operations won’t be much different.
- There are fewer devices in a VM so there are fewer VM settings
G1 VM Device Manager (left) versus G2 Device Manger (right)
I don’t expect that many people will deploy the G2 VM on WS2012 R2 as the norm, but I could be wrong. Why?
- You cannot convert a VM between G1 and G2. That is a UEFI and MBT/GPT thing.
- You must use 64-bit editions of Windows 8/Windows Server 2012 or later.
EDIT1:
Niklas Akerlund has blogged about how he has successfully converted a Gen1 VM into a Gen2 VM using Double-Take Move.
Looking forward to scale testing this! Is the synthetic pxe option for client and server OS?
Great!
We want linux support too!
It is now possible to relocate Paging file to a SCSI VHD if VM is implemented using G2.
Nirmal.
I tried to run Windows 8.1 on Hyper-V cluster 2012 R2 – G2 and G1. The G2 VM is much slower then G1, a specially with RDP(S) connection. Any thoughts?
Check file placement, type, and integration components. Also check into NUMA spanning/splitting.