Home > Hyper-V, VHD, VirtualBox, Windows Server 2003, Windows Server 2008 R2 > Converting Hyper-V guest systems to VirtualBox

Converting Hyper-V guest systems to VirtualBox

  • System Notes: Oracle VirtualBox 4.0.12, Windows Server 2003 R2 X64, Windows Server 2008 R2

My main Hyper-V server host system runs four production and three development/testing guests, with the four production and one of the development/testing systems in use 24×7.  Memory was becoming extremely tight on the host system, especially when running either of the two remaining development/testing guests along with the regular 24.×7 guests.

Since the two development/testing guest systems were really just for security patch and software upgrade testing, I decided to try and move them over to Oracle VirtualBox on my main workstation.

If you are converting a guest Windows server that is running anything earlier than Windows Server 2008 R2, you should first remove the Hyper-V Integration Services from the guest, to prevent any BSOD startup problems after you move the guest over to VirtualBox.

When setting up a Windows Server 2008 R2 guest system using an existing VHD file for the primary hard disk, you must make a change in the VirtualBox Settings.  The VHD will be attached as a SATA drive by default, and you will get a BSOD if you try to boot it this way.  You need to remove the VHD file from the SATA controller and re-add it as an IDE hard drive.  See this link for a specific discussion of this problem.  See my previous blog entry Switching from IDE to SATA controller types for older Windows guests in VirtualBox for specific details on working with IDE and SATA virtual drive files.

Additional Notes:

Just a bonus quick reference note for VirtualBox:  you can use Ctrl-Arrow to move systems up and down the list on the main Oracle VM VirtualBox Manager window.  Just highlight the system you want to reorder and press Ctrl-Up or Ctrl-Down.

  1. Robert Bachelder
    May 3, 2012 at 3:22 pm

    I found the process to be a bit more involved then that. For one thing, to get the same remote management type configuration that Hyper-V offers, I needed VirtualboxPHP running the VMs “headless”. Here is the full rundown on what I used and how I configured it…

    This was done on a Server 2008 R2 box since I needed more resources on the guests and can’t wait for Server 8 Hyper-V to come out of beta.

    Convert from Hyper-V to Virtualbox (headless with PHP administration)
    (must do all guests at once)

    -Install IIS role.
    -Create virtualbox local user account (vbox) with administrator group membership
    -Download and install PHP5.1 or above.
    -Download Virtualbox, virtualbox additions and PHPVirtualbox

    Step 1: Stop/disable all customer facing services/applications on guests
    Step 2: Make a note of network settings, amount of memory, # of CPUs, Disk configurations, and uninstall all network adapters on guests
    Step 3: Disable (but don’t stop) all the hyper-V services on the guests
    Step 4: Shut down guests
    Step 5: Shut down Hyper-V manager and uninstall the Hyper-V role (reboot if prompted)
    Step 6: Install PHP
    Step 7: Install virtualbox and virtualbox additions
    Step 8: Extract virtualboxphp to a folder and create a config.php using the example with the vbox user credentials
    Step 9: Create a windows scheduled task to run “C:\Program Files\Oracle\VirtualBox\VBoxWebSrv.exe” at system startup.
    The process should run under the vbox user account. Make “Hidden” and make sure the task is not set to automatically shut itself off after a period of time.
    Step 10: Reboot
    Step 11: Navigate to http://localhost:8080 and login with admin admin
    Step 12: Create a new VMs for each guest, replicating CPU and memory settings along with networks adapters and attach hyper-v disks.
    Step 13: When you first start each vm, let it reboot once to deal with different “hardware” seen.
    Step 14: Before Re-configuring network adapters, install virtualbox guest additions and reboot TWICE.
    Step 15: Configure network adapters back to original settings.
    Step 16: Bring customer facing services back online.

  2. Robert Bachelder
    May 4, 2012 at 5:42 am

    Oops, I left out the step of configuring an IIS site on port 8080 (or whatever port is to your liking) pointing to the virtualboxphp folder running as a user with appropriate permissions (I used the same vbox user since this is all never going to see the public internet). This comes after Step 8:)

  3. May 7, 2013 at 9:00 am

    Did you try the same for Linux guest OSes? Are there any issues?

    • May 7, 2013 at 9:39 am

      No, I have not tried this with any Linux guest OSes yet. If you do, and you want to provide any comments/insights, I will add them here.

  1. September 29, 2017 at 7:09 am

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: