User Tools

Site Tools


hyperv-uefi-grub

GRUB2 currently uses 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 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 
hyperv-uefi-grub.txt · Last modified: 2015/11/25 22:28 by gsamfira