How-To

How to Migrate VirtualBox VMs to Windows 10 Hyper-V

Upgrading from the free VirtualBox to the more full-featured Hyper-V environment can be done, even though Hyper-V doesn’t support VirtualBox VMs natively. In this tutorial, we’ll show you how to convert VirtualBox VMs to Hyper-V and migrate them.

When it comes to vitual machines, many of us start with Oracle’s VirtualBox. The reasons are obvious. VirtualBox is free, and unlike Hyper-V, it runs on Windows 10 Home edition. That said, once you get serious with VMs, there comes a time when you want to upgrade to Hyper-V. VirtualBox is fine for basic needs, but Hyper-V, which runs on the Pro Edition of Windows 10, has better performance and a few high end features like Nested VMs, easier management using PowerShell, and features like BASH for Windows 10. There’s only one problem: Hyper-V doesn’t support VirtualBox VMs natively. So, in order to migrate them, you’ll have to convert them.

In this article, we’ll show you how to migrate an existing Oracle VirtualBox virtual machine to Windows 10’s Hyper-V.

Migrate an Oracle VirtualBox Virtual Machine to Windows 10 Hyper-V

To begin, launch the VirtualBox Manager then select the virtual machine from the list pane you would like to export. Make sure the operating system you are exporting is supported by Hyper-V. Click the File menu then click Export Appliance…

 

Select the virtual machine again, then click Next.

 

Choose the location where you would like to store the virtual machine file, select the OFV 2.0 format then click Next.

 

Click Export then wait while the appliance is exported; this can take some time depending on the size of the virtual machine.

 

Before you can begin the conversion, we will need to use a uncompressing utility such as 7-zip to extract the contents of the OVF file we just exported.

 

Our next step is to import the VM into Microsoft’s Hyper-V software. Hyper-V does not natively support the Open Virtual Format. Initially, I attempted to convert the VM using Microsoft’s free utility called Virtual Machine Converter and the built-in PowerShell cmdlet. I experienced nothing but frustration getting it to work; see the proof below. I said to myself, “Forget this! There has got to be an easier way than going back to the age of Computer Chronicles.”

 

After some web searching, I came across a free utility from StarWind called V2V Image Converter designed just for converting different types of virtual hard disk formats. First, you need to sign up for the free download, which will be sent to you in an email link. After receiving your free download, proceed to download and setup StarWind Converter.

 

Launch the StarWind V2V Image Converter software then click Next.

 

Choose Local file as your source then click Next.

 

Choose the format you would like to convert the image to. Hyper-V supports VHD and VHDX formats. VHDX is an improvement over the older virtual hard disk format, supporting up to 64 TBs of storage. Because this is a Windows XP VM, I will stick with a fixed VHD option called VHD Pre-allocated image.

Browse to where on your hard disk you would like to store the converted image.

 

Select the destination of the VHD file. In my case, this will be used locally, so, I will stick with the default.

Wait while the vmdk file is converted. The larger the vhd, the longer it will take.

Import Virtual Machine into Hyper-V

The next step is to see if it works. Launch Hyper-V in Windows 10, click New > Virtual Machine then click Next. Go through the wizard and configure your virtual machine with the appropriate settings. When you arrive at the Connect Virtual Hard Disk section, choose Use an existing virtual hard disk, click Browse…, then open the vhd file we converted earlier then click Next.

Click Finish to confirm your configuration.

Proceed to launch your virtual machine and there you have it. Your Oracle VirtualBox VM is now up and running in Hyper-V.

That wasn’t so bad. Looking for more tutorials on VMs? Check out our post on connecting your virtual machine to the Internet. Also, if you prefer not to use the StarWind software, give the free Microsoft Virtual Machine Converter a try and let us know if you had any luck with it.


10 Comments

10 Comments

  1. Kari Finn  

    Why do you use a third party application to convert the VDMK file? VirtualBox includes a command line tool for that, VBoxManage.

    Simply enter this command in an elevated command prompt:
    “C:\Program Files\Oracle\Virtualbox\VBoxManage” clonehd –format SourceFileName.vmdk TargetFileName.vhd

    Downloading and installing any additional converters for this is totally unnecessary.

    • Thanks for that tip Kari!

      • Kari Finn  

        You are welcome, although I have to apologize: I should remember to copy & paste complex commands instead of typing them, to get them correct.

        In this case, typing the sample command I forgot a very importand thing: after the –format switch you have to tell the format of new virtual disk, in this case VHD. That’s missing from my original comment.

        The correct command, this time copy & pasted from my OneNote notebook is:

        “C:\Program Files\Oracle\Virtualbox\VBoxManage” clonehd –format VHD SourceFileName.vmdk TargetFileName.vhd

        Once again, my apologies for the typo in my original comment.

        • Kari Finn  

          Another typo, this time not my fault 🙂

          I noticed that this site transfers two subsequent – (minus) signs to one dash.

          The format switch in VBoxManage command is preceded by two minus signs, not a dash!

  2. Harvill Richardson  

    Guys this is great information, in that VBox can/has the ability to export into HyperV.
    Kari, thank you for the re-posting and correction. I will be sure to utilize this (tuck away into toolbox).
    Thank you guys very much

    Rich R

  3. Rahul Sarjan  

    Yep, helpful.

  4. Rahul Sarjan  

    What if .ova gets extracted to two or more .vmdk files? If I convert each part to .vhd separately, it would be incomplete. How to convert all parts .vmdk to single .vhd?

  5. Ibarski  

    You can minimize the converting steps amount additionally using VBOXMANAGE CLONEHD directly from *.vdi to *.vhd without EXPORT ALLIANCES.

    • Rich R  

      Ibarski, could you please expand on the cmd you spoke of. Is this referencing .ova’s? Is the cmd similar to what Kari had posted above?
      Would it look like below?
      “C:\Program Files\Oracle\Virtualbox\VBoxManage” clonehd –format OVA SourceFileName.ova TargetFileName.vhd”
      I am wanting to understand if you are saying that the.ova file should not be outputted as a fragment using your method. Can you please expand, or provide guidance. I’m sure many would benifet from it.

  6. Ibarski  

    And now in detail. My virtualbox guest mashine has a virtual disk file in the virtualbox
    native format xxxxx.vdi. Using Karl example a cmd command can be : C:\Program Files\Oracle\Virtualbox\VBoxManage” clonehd –format VHD SourceFileName.vdi TargetFileName.vhd. The -format parameter shows the wanted output format. My message is not to use a multistep procedure vdi-file –> vdmk-file or ova-file –> vhd-file, but make it directly. Just yesterday I have converted my virtualbox disk file ti VHD format, installed MS Hyper-V and created a new VM using the converted disk file. The last converting action was to uninstall the virtualbox extensions in the guest system ( no value for Hyper-V )

Leave a Reply

Your email address will not be published. Required fields are marked *

 

To Top