VirtualBox can export appliance VMs to OVF format. And you can import the ovf format to VMware ESXi, however there are some trouble.

Unsupported hardware family 'virtualbox-2.2'.

OVF hardware element 'ResourceType' with instance ID '5': No support for the virtual hardware device type '20'

OVF hardware element 'ResourceType' with instance ID '8': No support for the virtual hardware device type '35'.

yeah, there are some tips:

First, you need export appliance using OVF extension(default is ova) in VirtualBox.

And run a python script (https://gist.github.com/eshizhan/6650285):

#!/usr/bin/env python
#
# usage:
# conv2vmx-ovf.py some-vm.ovf
#
# ref: http://www.cnblogs.com/eshizhan/p/3332020.html
# import sys
fn = sys.argv[1]
fp = open(fn).read().decode('utf-8')

fp = fp.replace('<OperatingSystemSection ovf:id="80">', '<OperatingSystemSection ovf:id="101">')
fp = fp.replace('<vssd:VirtualSystemType>virtualbox-2.2', '<vssd:VirtualSystemType>vmx-7') fp = fp.replace('<rasd:Caption>sataController', '<rasd:Caption>scsiController')
fp = fp.replace('<rasd:Description>SATA Controller', '<rasd:Description>SCSI Controller')
fp = fp.replace('<rasd:ElementName>sataController', '<rasd:ElementName>scsiController')
fp = fp.replace('<rasd:ResourceSubType>AHCI', '<rasd:ResourceSubType>lsilogic')
fp = fp.replace('<rasd:ResourceType>20', '<rasd:ResourceType>6') end = fp.find('<rasd:Caption>sound')
start = fp.rfind('<Item>', 0, end)
fp = fp[:start] + '<Item ovf:required="false">' + fp[start+len('<Item>'):] nfp = open('vmx_' + fn, 'wb')
nfp.write(fp.encode('utf8'))
nfp.close()

ref: https://www.virtualbox.org/ticket/7982
ref: http://www.itsecurenet.com/virtualbox-ova-to-vsphere-ovf/
ref: http://tad-do.net/2012/01/30/converting-virtualbox-to-vmware-esxi/
ref: https://communities.vmware.com/message/1740554

05-07 15:33