Last active
April 25, 2021 22:05
-
-
Save eshizhan/6650285 to your computer and use it in GitHub Desktop.
a script that can help import VMs into VMware ESXi from VirtualBox. tested vbox 4.2.18 and ESXi 5.1.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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() | |
if hasattr(fp,'decode'): | |
fp = fp.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() |
It really helped me out today for importing into vSphere 5.1. Thanks for sharing this!
C:\Users\Nick\Documents>conv2vmx-ovf.py ws1-vm1.ova
Traceback (most recent call last):
File "C:\Users\Nick\Documents\conv2vmx-ovf.py", line 13, in <module>
fp = fp.decode('utf-8')
File "C:\Python26\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x80 in position 13948: inval
id start byte
Hy nbolton, How to fix your error you've got above ?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Many thanks.
Works like a charm to import the free IE 7/8/9/10/11 Virtual machines from Microsoft into a VMWare vSphere 5.
Just download and unpack the RAR (you can use any RAR utility on the
.sfx
) then unpack the OVA using a TAR utility, run this script on the OVF, and import the converted OVF into vSphere Client (File > Deploy OVF Template)