随笔-150  评论-59  文章-0 

Import VMware ESXi from VirtualBox

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

 

posted on 2013-09-21 20:43 eshizhan 阅读(...) 评论(...) 编辑 收藏