GRUB2 currently uses [[http://wiki.osdev.org/Programmable_Interval_Timer|PIT]] to calculate time. This fails on Generation 2 Hyper-V virtual machines and any request for a file on a tftp server made by grubnetx64.efi will fail instantly due to timeout. For your convenience you can {{:grubnetx64.efi.gz|download an already patched version here}} ====== Compile grub with EFI SetTimer() ====== Install grub2-efi dependencies and build the package: sudo apt-get build-dep grub-efi-amd64 sudo apt-get install unzip mkdir -p $HOME/build-grub && pushd $HOME/build-grub apt-get source grub-efi-amd64 cd grub2-* wget "http://savannah.gnu.org/bugs/download.php?file_id=32245" -O grub2.zip unzip grub2.zip patch -p2 < grub_hyperv_gen2.patch dpkg-buildpackage -b Your grubnetx.efi will be in: debian/grub2-images/*/grubnetx64.efi