Hyper-V 2016 Gen2 VM (UEFI) fails to complete network boot
-
Strangely:
git checkout hyperv-ipxetest1 error: Your local changes to the following files would be overwritten by checkout: packages/tftp/ipxe.efi Please, commit your changes or stash them before you can switch branches. Aborting
So I ran:
git checkout -- .
Which returned nothing but then I:
git checkout hyperv-ipxetest1 Branch hyperv-ipxetest1 set up to track remote branch hyperv-ipxetest1 from origin. Switched to a new branch 'hyperv-ipxetest1'
and
git pull Already up-to-date.
So I proceeded with installation and it reported:
Version: 9220986 Installer/Updater
iPXE.efi is now 356f … and it fails into a restart loop the same way.
-
@sudburr Mind retrying installer? I’m installing before the “big” change occurred.
Also, to fix the issue you saw with the original checkout, please try:
git reset --hard git checkout hyperv-ipxetest1 git pull
-
ipxe.efi 276d6 also fails the same way.
-
While working this out through chat, I’ve pushed patched, and working ipxe binaries that address this particular problem with booting. I should note, however, this is still not a “FOG” specific problem, rather something went wonky in ipxe binaries. I’ve made a posting on their forums and hope to hear back soon.
-
Many thanks for the live help Tom!
-
Any love from the folks at ipxe.org yet?
-
@sudburr Nope, but 1.4.2 should have the patched binaries anyway.
-
Based on the timeframe that this bug was submitted (may 2017) i’m guessing this is only a problem on Hyper-v builds 1703 (as available in, win 10 ent x64-1703, hyper-v server 2016-build 1703, win server 2016 w/ hyper-v build 1703). Most likely the issues are being caused by the ARP protocol problem found only in Gen 2 vms in the PXE stack of hyper-v build 1703. See this Microsoft forum post for more details on how ARP was broken in this build. Still no resolution to my knowledge, but this post is most likely what will drive the fix from M$'s perspective.
-
iPXE Developers finally got to look and hopefully have fixed this.
I’ve updated the ipxe binaries directly after pushing 1.5.0-RC-6. Both working and dev-branch have the updates though.
Please re-test and let us know if things are “still” working or if it breaks anything again.
Thank you.
I have been keeping up to date, but leaving my “reversion” code that seemed to fix the problem for users so hyperv gen 2 could still work. Hopefully it now works using iPXE’s own native source code.
See here:
https://git.ipxe.org/ipxe.git/commit/936657832f2262ad04bdf16b9229ce0b1d1c174f -
Good to know. I won’t be able to test right away though. I’m busy doing summer stuff right now. I’ll get back to you as soon as possible.