«

»

May 26 2017

Import Windows Virtual Machine Using EFI Boot From VMware ESXi To Nutanix AHV

“VMTurbo"

There are quite a few ways to migrate virtual machine (VM) from existing virtualisation solution to a Nutanix solution depending on e.g.:

  • Source hypervisor
  • Target hypervisor
  • Keeping existing hypervisor or changing existing hypervisor.
  • Moving VMs from non Nutanix system to Nutanix system
  • Moving VMs between Nutanix systems.

This blog post will cover a specific migration scenario where an ESXi based VM was moved to Nutanix AHV hypervisor by my colleague Joel Lindberg so kudos to him for bringing this up.

The VM was set to boot from the EFI firmware which is used to boot GUID partition table (GPT) disks compared to BIOS firmware setting which is used to boot Master boot record (MBR) disk.

The following actions were taken to move the VM to the Nutanix solution,

  • Install NGT
  • Export the VM -flat.vmdk file to local disk
  • Import the -flat.vmdk file to Nutanix Prism using image converter.
  • Create a new VM in AHV pointing to the -flat.vmdk

As I said earlier there are multiple way to do this so let’s not focus on the procedure

When trying to power on the VM the following message will appear

Boot device not found

This means you can play the amazing 2048 game instead of a running VM 🙂

This is expected since Quick Emulator (qemu) used by the Nutanix AHV hypervisor use BIOS by default. To make it possible to boot VMs with GPT disks you need to run the following command from any Nutanix Controller Virtual Machine (CVM) in the Nutanix cluster since it is not possible to take this action via Nutanix PRISM:

After running the command, the VM powered on and Windows operating system was successfully booted.

2 comments

  1. Adam

    I had the same problem, and this solution help fix it, so thanks!

    Is there a way to set uefi_boot=True on an image created in Image Configuration? As of right now, I’m having to go into acli and make this change every time I spin a VM off of that image.

  2. magander3

    Hi,
    glad it worked as expected. An image is just a disk and not a VM so you can’t do that. What I would do is to create a base-VM with OS installed where uefi_boot is set to True and then create new VMs from that one.

    thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">