Q: What is the difference between a Generation 1 virtual machine (VM) and a Generation 2 VM in Windows Server 2012 R2 Hyper-V?

A: If you look historically at virtualization, there initially were several emulated devices that had to be available as OSs didn't natively understand virtualization, and in the case of Hyper-V, could not just use the VMbus.

This is why there are emulated IDE controllers, legacy network adapters, emulated BIOS, COM & LPT ports, keyboard or mouse PS/2 connections, floppy drives, and other system devices such as PCI to ISA bridge. All of these emulated type devices include the requirement to boot from an IDE controller, because the assumption was that OSs weren't natively virtual aware.

If you look at today's OSs, including Linux, these OSs are natively virtualization aware and so the requirement to cater to OSs that aren't virtualization-aware is no longer valid. Therefore in Windows Server 2012 R2 Hyper-V, a new Generation 2 VM is available that removes all the legacy, emulated hardware and provides a UEFI environment that supports 64-bit OSs that are Windows 8 and Windows 2012 or later. Generation 2 VMs can boot from the SCSI bus and from the synthetic network device.

Below is a screenshot comparing a Generation 1 set of hardware in the VM from that visible in a Generation 2. Notice the Generation 2 has a much simpler hardware view and also the OS is in UEFI mode and not Legacy.