Convert Virtual Machine of VirtualBox to ESXi

Convert Virtual Machine of VirtualBox to ESXi

My coworker wants to have access to a virtual machine on ESXi, but our company only supports the virtual appliance of Oracle VirtualBox format.

VMware has a KB article to show how to “Importing Virtual Machine from Oracle VirtualBox to VMware Fusion, Workstation, or Player (2053864)“. It’s working fine. but it’s not applicable for VMware ESXi.

If you follow the guide to export .ova file and import to ESXi. It will show error below on ESXi 6.0 or later:

After a couple of hours’ deep dive. I figured out a way to convert VirtualBox to ESXi. You need Oracle VirtualBox, VMware Workstation or VMware Player, and VMware ESXi host.

  1. Select the virtual machine -> Go to main menu -> File -> Export appliance.
  2. Choose the virtual machine.
  3. Make sure Format is “Open virtualization format 1.0“.
  4. Export to a .ova file.
  5. Open the .ova file in VMware Workstation or VMware Player.
  6. Extract .ova file as an archive
  7. Edit .ovf file and find the line with keyword “VirtualSystemType“.
  8. Change virtualbox-2.2 to vmx-07
  9. Edit .mf file and remove SHA256 values of .ovf file in the first line.
  10. Files are ready to import to VMware ESXi host.

Maybe you may encounter other errors while importing the OVF template like:

No support for the virtual hardware device type ’20’

This is a problem of SATA controller, change settings in ovf like this:

From this

<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>sataController0</rasd:Caption>
<rasd:Description>SATA Controller</rasd:Description>
<rasd:ElementName>sataController0</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
<rasd:ResourceType>20</rasd:ResourceType>
</Item>

With this

<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>SCSIController</rasd:Caption>
<rasd:Description>SCSI Controller</rasd:Description>
<rasd:ElementName>SCSIController</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
</Item>

Other problems could happen if in the <Item> is listed an audio card, you should delete whole line starting from

<Item>
sound-card-settings
</Item>

Then save again OVF file.