8

I am running windows server 2012 R2, and no matter what I do, I cannot get an Generation 2 machines up and running. They always fail to boot wit the message "boot failed efi scsi device"

I have found that I am supposed to "hold down a key when starting the VM" but

  1. This does not seem to do anything
  2. Its an issue even if I am not trying to boot from an ISO (I tried to convert a working generation 1 instance of Windows 10 preview and windows 8.1 to generation two machines, but then those failed to boot as well)

I have already tried turning secure boot on and off.

What else should I be looking for?

soandos
  • 24,206
  • 28
  • 102
  • 134
  • @ramhound when it asks you what type of machine you want you pick a generation. Gen 2 machines have a much higher level of integration with the host – soandos Dec 17 '14 at 15:03
  • @Ramhound http://www.serverwatch.com/server-tutorials/hyper-v-2012-r2-pros-and-cons-of-generation-1-vs.-generation-2-vms.html – soandos Dec 17 '14 at 15:25
  • Have you tried creating a new Win8/10 Gen2 Vm from scratch yet? Also, did you use anything to convert form Gen1 to Gen2, or are you just trying to boot to an existing VHD using a newly made Gen2 VM? – Ƭᴇcʜιᴇ007 Dec 17 '14 at 15:41
  • @Ƭᴇcʜιᴇ007 Creating from scratch was the first thing I tried. As far as the migration, I used the powershell module from here: https://code.msdn.microsoft.com/windowsdesktop/Convert-VMGeneration-81ddafa2 (author is a hyper v dev) – soandos Dec 17 '14 at 15:43
  • What do you have your the disk type set to for the VHD you're booting from? – I say Reinstate Monica Dec 17 '14 at 16:00
  • @Twisty, what do you mean? All drives in gen 2 are SCSI drives, and the underlying data is a .vhdx file – soandos Dec 17 '14 at 16:01
  • I don't have a 2012 R2 server handy so I wasn't sure if it was possible to accidently connect the VHD to an IDE controller, which as you obviously know won't boot on a Gen 2 VM. Just checking! – I say Reinstate Monica Dec 17 '14 at 16:04
  • Anything in the Hyper-V application event log show up when trying to boot the VMs? – I say Reinstate Monica Dec 17 '14 at 16:05
  • 1
    @Twisty, nothing that seems out of the ordinary. Just information about the NIC and shutting down (under server roles, nothing under regular admin events) – soandos Dec 17 '14 at 16:09
  • Try the solution from [this article](http://blogs.technet.com/b/jhoward/archive/2013/11/11/hyper-v-generation-2-virtual-machines-part-9.aspx) that avoids the need to press a key. This constructs a special boot ISO, where in the `\efi\microsoft\boot` directory you rename `cdboot.efi` to `cdboot_prompt.efi`, and `cdboot_noprompt.efi` to `cdboot.efi`, then use the `oscdimg` command to recreate the media to boot with. – harrymc Dec 21 '14 at 09:26

2 Answers2

2

I found my solution doing this simple steps:

  • Create a Gen2 VM.
  • Create a vhdx and inserting (in creation process) the ISO file.
  • Try to boot the machine holding down the space bar (the machine not boot)
  • Turn off the machine
  • Edit the machine settings
  • Uncheck "Secure Boot"
  • Put the DVD in position 0 from the SCSI order.
  • Put VHDX in the position 1 from the SCSI order
  • The most important: Remove the network adapter.
  • Start the machine HOLDING DOWN THE SPACEBAR.
  • Install the OS.
  • After the OS installation, turn off the machine and recreate the network adapter (if you need that).
Burgi
  • 6,493
  • 14
  • 39
  • 52
  • What is the importance of the space bar key and how can I recreate its effect in PowerShell? – Tomáš Hübelbauer Feb 14 '20 at 21:09
  • This worked for me. But I learned out another option that worked also: Don't use quick create wizard. Instead use New --> Virtual Machine... and then choose generation 1. This doesn't work if someone else has made the VM machine. – Timo Riikonen Nov 03 '22 at 13:56
0

I used an iso image for Windows 2016 from February 2018, and it finally booted correctly without any issues. All previous Windows 2016 server iso disks refused to boot no matter the Hyper-V server (2012R2 or 2016) version was or what setting I change for the boot options.