This video will look at the differences between 1st and 2nd generation virtual machines in Hyper-V. First generation has better operating system support, however 2nd generation offers some speed and hardware improvements. This video will look at the differences between the two and what operating systems support the different generations.
00:24 Emulation is defined as “hardware or software that duplicates functions of one computer system on another system.” If an application has to display something on the monitor it will usually do this through a graphics card via a device driver which then outputs the display on the monitor. Using a virtual machine, however, the hardware is emulated, the application would access the emulated hardware which would then access physical resources like the monitor. The application does not know the difference. This is the biggest advantage of using virtualization, in that it separates the virtual machine from the physical hardware, making it an easy process to move the virtual machine from one computer to another.
The fundamental difference between 1st generation and 2nd generation is the underlying hardware that is used in the virtual machines. In some cases this hardware has been replaced completely by software, eliminating the need to emulate hardware. This should improve the performance of the virtual machine but unfortunately Microsoft states that most of these improvements are seen in Startup and Installation and the general performance improvements in other areas are small.
01:46 Second generation virtual machines are currently available in Windows Server 2012 R2 and Windows 8.1. These operating systems still support 1st generation virtual machines, so either generation can be used or a combination of both. The New Virtual Machine Wizard has an option to select which generation to use. The option chosen will determine which virtual hardware is used, and once this has been selected it cannot be changed later on.
For guest operating system support there are the following requirements: for the Server operating system, Windows Server 2012 or Windows Server 2012 R2; for Client operating systems, Windows 8 or 8.1. The operating system has to be 64 bit and this will be explained further on.
When 2nd generation was first released, Microsoft was still working on Linux support. The distribution will need to be checked to see if it is currently supported. All Hyper-V updates should also be applied via Windows update and secure boot may have to be disabled.
Secure boot checks that all software used in the booting process is from a trusted manufacturer with the idea being that an attacker will not be able to modify the software used in the boot process without being detected. Due to the open source nature of Linux, the distribution may not be recognized by secure boot and as a result may not be booted from until secure boot has been disabled.
1st Generation and 2nd Generation
03:28 With the changes in hardware between 1st and 2nd generation virtual machines, it is a good idea to look at how it has changed. The first difference is that the legacy BIOS has changed to UEFI firmware and this is one of the main reasons that 2nd generation requires a 64 bit CPU. It is possible to use UEFI on a 32 bit system, however this is rarely the case. If 32 bit is required, Microsoft still supports the use of 1st generation through the legacy BIOS option.
The next change is the IDE controller has been removed but the SCSI controller is still available and has been improved upon. In 1st generation the SCSI controller does not support booting. In 2nd generation, booting the operation system from the SCSI controller is supported.
08:40 In order to run 2nd generation virtual machines you need to be running the operating system Windows Server 2012 R2 or Windows 8.1 or above. The virtual machines that support 2nd generation virtual machines are Windows Server 2012 and Windows 8 and above. However, due to a hardware incompatibility problem, the keyboard will not work on Windows Server 2012 and Windows 8 and a workaround will need to be performed in order to perform the initial install. After this, the operating system will work fine. If you are installing a Linux based system in a 2nd generation virtual machine, you may need to disable secure boot. Second generation should give some speed improvement during install and start up. Speed improving when the operating system is running are quite small. If you are not sure which generation to use, use 1st generation as it has better support and both can be run on the same Hyper-V server without issue.
“Generation 2 Virtual Machine Overview” http://technet.microsoft.com/en-us/library/dn282285.aspx
“Hyper-V generation 2 virtual machines – part 3” http://blogs.technet.com/b/jhoward/archive/2013/10/28/hyper-v-generation-2-virtual-machines-part-3.aspx
“Installing and Configuring Windows Server 2012 Exam Ref 70-410” pg 143-146