Hyper-V: Kopierte Linux VHD booten

Beim Kopieren von Generation 2 Linux VMs unter Hyper-V kann es unter Umständen zu Problemen beim Bootvorgang kommen. Die Ursache hierfür ist, dass die Installationsroutinen bzw. Grub (Linux Bootmanager) wichtige Bootinformationen in die EFI Firmware schreibt. Diese wird durch Hyper-V in die VM Konfigurationsdatei geschrieben und sobald das Festplattenabbild und die Konfiguration getrennt werden (z.B. durch kopieren der VHD) ist die VHD nicht mehr bootbar.

Es gibt aber einen einfachen Workaround. Hierdurch werden die Bootinformationen aus der EFI Firmware auf die VHD kopiert und auch bei einem Kopieren des Festplattenabbilds ist dieses bootbar.

Manuell:

  1. cd /boot/efi/EFI
  2. cp -r debian/ boot
  3. mv boot/grubx64.efi boot/bootx64.efi

Via grub-install:

  1. grub-install –target=x86_64-efi –efi-directory=/boot/efi –no-nvram –removable

Hinweis: Der Artikel ist eine Zusammenfassung von Ben Armstrong's Post.