While trying to deploy new machines on my Hyper-V, I faced an error.
Boot failure. Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device
It was a VHD file which I downloaded from Microsoft site. I searched for the solution on many sites and they asked to repair OS etc. In my case, it’s a VHD and I can’t do anything.
I deleted my VM many times but finally I tried something different.
In “Specify Generation” screen, by default it selects “Generation 1”. I changed it to “Generation 2” and it worked for me.
It was a simple solution and I wasted my whole day in this. Hope this blog would save someone’s day.
Reference: Pinal Dave (https://blog.sqlauthority.com)
54 Comments. Leave new
Pinal – you did indeed just save my day – thanks!
I am glad to hear that.
Thanks man saved my day
Thanks satishkumar
Thanks…saved my day too!!!
Its really good to hear that.
thanks boss.
1+
Thanks buddy! Saved me a ton of time.
My pleasure. Hope others can find it easily.
Good find Boss. Saved from spending lots of time troubleshooting. Thanks
Yeah, i wasted a lot of time in fixing that and I can understand your happiness.
You’re awesome! You saved me alot of headaches when creating my new Windows 2016 VM’s :D
Thanks @Gabe.
And you did not solved my day, but the whole night ;>)
Thanks
Thanks Olivier
You the man Oliver! Thank you
Thanks Gregory!
I have been searching the whole day for a solution to this same problem. I’m getting the same Boot failure, when starting my Hyper-V VM, which is a fixed size VHD. Unfortunately your solution cannot work because vhd-files are not supported in Generation 2, only vhdx files. You cannot attach a vhd file in the Connect Virtual Hard Disk screen. The problem seems to be more related to the BIOS booting. The same VHD boots ok, when booting the machine, but not starting as a VM.
Actually my problem is exactly the same as Ben Howard has in the following thread:
As your thread seems to be recently active maybe I could get some help here?
I have no further ideas.
Thxs a lot, the generation 2 setting solved it for me
Thanks for sharing @Andrew
A comment how I solved the problem from feb. 14. My intention was to make an on premise VM, which I then would move to Azure. Azure only accepts fixed size vhd HYPER-V VM:s. My original on premise VM was a default vhdx generation 2 VM. When I converted it to a fixed size vhd I got these Boot failure problems. The only solution was to recreate the on premise VM as a Generation 1 fixed size vhd. After this the move to Azure worked and the VM in Azure is working well.
So you need to create Gen 1 VM if you want to move to Azure VMs?
Yes, and that’s clearly said in a couple of Microsof’s articles google for example “Prepare a Windows VHD or VHDX to upload to Azure”. I just didn’t believe it and went through the hard way of trying and failing. But even before moving to Azure I had the above mentioned boot problem with my Gen 2 VHD VM. So if you plan to move your on premise VM to Azure be sure it is created as a Gen 1 VM.
Interesting. I am thinking that they don’t allow because they want to know the size of VMs so that they can allocate right amount of space.
For Azure unfortunately you can not easily convert Gen2 to Gen 1 so you must create disks in Gen 1, by default with Windows 10 it creates a VHDX, you must edit the disk and convert to VHD fixed size (not dynamic). If you are using Linux you should create partition table without LVM (something to do with LVM labels) , i have seen VMs with 1 partition or 2 partitions (/boot and /). In Amazon a lot of VMs are /dev/sda for / rather than /dev/sda1 for / , it is easier to resize a filesystem on a bare block disk. Not sure which one is preferred by Azure but most Vms i have tested use /dev/sda1 rather than /dev/sda.
Thanks for your comment Stuart. Makes sense.
Just a weird little item to consider if you’ve exhausted your other possibilities, but MS Natural Ergonomic Keyboards often do not send the F12 command to a vm you are trying to PXE. In the case of a vm that has not been imaged yet, you may get this same error message because it ends up skipping network boot and looking for an operating system which is not there yet. If you have an ergo keyboard, instead, connect a traditional rectangular usb keyboard and F12 should work fine.
Very interesting! Thanks for sharing.
Thank you, it worked!
Thanks :)
f meeee, that was the trick