UEFI, Generation 2 VM, Windows 7 SP1 and Hyper-V Server 2012 R2 (or Windows 8.1)

With the new features of Hyper-V in Server 2012 R2 one of those is the Generation 2 VM. There is a lot to be said on this topic but here is a caveat when using Gen2 VM’s for systems older then Windows 8 or Server 2012.

Let’s start with a spoiler:

It doesn’t work for Windows 7 SP1!

If you create a VM the first question will be: a Generation 1 or Generation 2 VM

As you can see it cannot be changed…well it can 😉 (see http://blogs.technet.com/b/jhoward/archive/2013/11/06/hyper-v-generation-2-virtual-machines-part-8.aspx and http://blogs.technet.com/b/jhoward/archive/2013/11/14/hyper-v-generation-2-virtual-machines-part-10.aspx)

So you create a Gen2 VM and want to install Windows 7. Well oké, the installation is going fine. UEFI gets recognized. Everything is good. Then comes the restart

Hmm not so good. But this is to be expected. Windows 7 does not support Secure Boot! This will be turned off:

Now we try again and see this:

And here is stays, forever.

In the Hyper-V management console we see a lot of CPU Usage so it is doing something 😉

So WHY is this? Windows 7 DOES support UEFI boot. After a search I found this:

Q: Why doesn’t Microsoft support 64-bit Windows 7 or Windows Server 2008 R2 as a guest operating system in generation 2 virtual machines?


A: Certainly it is true that Windows 7 support UEFI, the first requirement for generation 2 virtual machines. However, Windows 7 has a hardware dependency on a Programmable Interrupt Controller (PIC) which is not present in generation 2 virtual machines. Even if Secure Boot is disabled, an attempt to install Windows 7 will result in an apparent hang at “Starting Windows” shortly after boot, consuming high CPU utilization. A similar effect to this will be seen if attempting a network install from a WDS server which has a Windows 7 era boot PE image – network boot will appear to hang as well. For that reason (along with the keyboard issue in Windows 8 PE) I strongly recommend any WDS server are upgraded to the Windows 8.1 PE boot image.

That is pretty clear, NO Windows 7 Generation 2 VM in Hyper-V!

P.S. DO try this with Windows 8.1 – it is incredibly FAST J

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Experienced the same, Does Microsoft has any work around ?
    How would I even create a windows 7 install from WDS to a Hyper v.
    Reason to do that is machine independent image.–Well seems VMware wins here/

  2. Hey, Stephan!

    Thanks a lot for this post! Just faced this issue with Windows 7 x64 Enterprise getting stuck on Starting Windows screen.

    That’s been a lot of time since I am using Windows 8.and later OSes, so I’ve forgotten there have been issues booting Windows 7 on UEFI, not to mention Gen 2 VMs.

    However, after I recreated the VM to make it a Gen 1 VM and attached the same GPT VHD with Windows 7 on it, I still can’t boot the OS.

    All I see is a black screen with a blinking cursor. Does it mean that Get 1 VMs do not support UEFI boot?

    Thanks.

  3. Hello Stephan,

    I ran into this post while trying to troubleshoot with Microsoft for weeks now on this problem. Thanks again for giving your final say on this. I have been trying to UEFI boot with SCCM 2012 R2 SP1 CU1 on Windows 7 x64 SP1 and could not get past the “starting windows” splashscreen problem. I’ve opened up a support case with Microsoft on this but I will not bring it to their attention bout this post. I want to see if they have a final say on this not being supported.