Skip to main content

How To Convert Virtual Machines Between VirtualBox and VMware




Migrating to another virtual machine program can be intimidating. if you already have your virtual machines set up they way you like them, you don’t necessarily have to install them from scratch – you can migrate your existing virtual machines.

VirtualBox and VMware use different virtual machine formats, but each supports the standard Open Virtualization Format. Convert your existing virtual machine to OVF or OVA and you’ll be able to import it into another virtual machine program.
Unfortunately, this may not always work perfectly, as VirtualBox and VMware both seem to use slightly different OVA/OVF implementations that aren’t entirely compatible. If this doesn’t work, you may want to reinstall your virtual machine’s guest operating system from scratch.

VirtualBox to VMware

Before migrating a virtual machine from VirtualBox to VMware, ensure it’s “powered off” in VirtualBox – not suspended. If it’s suspended, launch the virtual machine and shut it down.




Click the File menu in VirtualBox and select Export Appliance.



Select the virtual machine you want to export and provide a location for it.





VirtualBox will create a nOpen Virtualization Format Archive (OVA file) that VMware can import. This may take some time, depending on the size of your virtual machine’s disk file.



To import the OVA file in VMware, click the Open a Virtual Machine option and browse to your OVA file.


VirtualBox and VMware aren’t perfectly compatible, so you’ll probably receive a warning message saying the the file “did not pass OVF specification performance” – but if you click Retry, the virtual machine should import and function properly.



After the process completes, you can boot the virtual machine in VMware, uninstall VirtualBox Guest Additions from the Control Panel inside the virtual machine, and install VMware Tools from the virtual machine’s menu.

VMware to VirtualBox

Before migrating a virtual machine from VMware to VirtualBox, ensure it’s “powered off” in VMware – not suspended. If it’s suspended, launch the virtual machine and shut it down.



Next, browse to the OVFTool folder. If you’re using VMware Player, you’ll find it at C:\Program Files (x86)\VMware\VMware Player\OVFTool. Hold Shift, right-click inside the OVFTool folder, and select Open command window here.





Run ovftool with the following syntax:

ovftool source.vmx export.ovf
For example, if we wanted to convert the virtual machine located at C:\Users\NAME\Documents\Virtual Machines\Windows 7 x64\Windows 7 x64.vmx and create a new OVF file at C:\Users\NAME\export.ovf, we’d run the following command:
ovftool “C:\Users\NAME\Documents\Virtual Machines\Windows 7 x64\Windows 7 x64.vmx” C:\Users\NAME\export.ovf
If you receive a “failed to open disk” error, it’s likely that the virtual machine is still running or wasn’t shut down properly – boot the virtual machine and perform a shut down.


Once the process is complete, you can import the .ovf file into VirtualBox. Use the Import Appliance option in the File menu.


After the process completes, you can boot the virtual machine, uninstall VMware Tools, and install VirtualBox’s Guest Additions.

Comments

  1. Nice post. You pointed on very important facts by this post. This is really very informative and useful information. Thanks for sharing this post.apply aws jobs in hyderabad.

    ReplyDelete

Post a Comment

Popular posts from this blog

Shell Script: Find Number Of Arguments Passed

Many times , when we create shell scripts we try to do repetitive tasks through functions. Some functions take arguments & we have to check the no. of arguments that are passed to it.

Each bash shell function has the following set of shell variables:
[a] All function parameters or arguments can be accessed via $1, $2, $3,..., $N. [b] $* or $@ holds all parameters or arguments passed to the function. [c] $# holds the number of positional parameters passed to the function. [d] An array variable called FUNCNAME ontains the names of all shell functions currently in the execution call stack. ExampleCreate a shell script as follows: #!/bin/bash # Purpose: Demo bash function # ----------------------------- ## Define a function called test() test(){   echo "Function name:  ${FUNCNAME}"   echo "The number of positional parameter : $#"   echo "All parameters or arguments passed to the function: '$@'"   echo }
## Call or invoke the function ## ## Pass the parameters or a…

AMD Radeon™ HD 7670M on Ubuntu 12.04

Update:  Recently I install kubuntu 13.10 and there is no problem with graphics. It just works  fine out of the box.
I've seen many blog posts on how to make AMD HD7670M work on Ubuntu 12.04, specially when its in switchable graphics board like Dell Inspiron 15R 5520. I tried many things to make it work so that I could use the cinnamon desktop on ubuntu & other things too.. But to my surprise even the drivers from AMD site didn't work.
Then I tried a combination of those blog posts I read & somehow I became successful in running the full graphics including compiz settings inside My Ubuntu Machine.
Following are the steps I followed & it worked...
1. Create a backup of your xorg configuration file:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.BAK
2. Remove/purge current fglrx and fglrx-amdcccle :
sudo apt-get remove --purge fglrx*
3. Install the driver:
sudo apt-get install fglrx fglrx-amdcccle
4. Install additional components for advanced graphics:
sudo apt-get install xvba-…

CentOS / Redhat : Configure CentOS as a Software Router with two interfaces

Linux can be easily configured to share an internet connection using iptables. All you need to have is, two network interface cards as follows:
a) Your internal (LAN) network connected via eth0 with static ip address 192.168.0.1
b) Your external WAN) network is connected via eth1 with static ip address 10.10.10.1  ( public IP provided by ISP ) Please note that interface eth1 may have public IP address or IP assigned by ISP. eth1 may be connected to a dedicated DSL / ADSL / WAN / Cable router: Step # 1: Enable Packet ForwardingLogin as the root user. Open /etc/sysctl.conf file # vi /etc/sysctl.conf
Add the following line to enable packet forwarding for IPv4: net.ipv4.conf.default.forwarding=1
Save and close the file. Restart networking: # service network restart
Step # 2: Enable IP masquerading
In Linux networking, Network Address Translation (NAT) or Network Masquerading (IP Masquerading) is a technique of transceiving network traffic through a router that involves re-writing the source and/or d…