28 February 2008

Are VHDs compatible between Hyper-V and Virtual Server and Virtual PC?

This question frequently comes up, but most often is not the question people mean to ask. As written, the answer to the question is yes – there is no change to the VHD format specification used between any of these virtualization solutions. The real question usually is:  “If I build a virtual machine on a VHD in one virtualization solution, will it be compatible with another virtualization solution”.  This blog post focuses on answering the revised question. As you’d expect, the answer isn’t that straightforward.


Let’s start by looking at the obvious cases where the answer is “No, they are not compatible”. Assume you build a virtual machine using Hyper-V, and it is 64-bit. Here, the answer is no as Virtual Server and Virtual PC do not support 64-bit virtual machines.


What about a 32-bit virtual machine built under Hyper-V? Generally the answer is again no. This is because most operating system will detect the presence of an IO-APIC in the virtual machine environment and install an appropriate HAL in the operating system image. Once that image is started on Virtual Server or Virtual PC where an IO-APIC is not present, the image will fail to boot. In theory it is possible to swap the HAL, but not in a Microsoft supported manner (except on Vista and Windows Server 2008 – that’s a post for another day). So the answer remains no. [Maybe an exception would be where an operating system is able to dynamically switch between IO-APIC and PIC modes (this is not the case in Windows Server 2003 or Windows Server 2008 or any OS I’m myself familiar with). I guess that some Linux flavours with appropriate boot switches may be OK, but I’m no expert in this area.]


Now let’s look at some “yes” scenarios. These are the ones where the virtual machine is built under Virtual PC or Virtual Server initially. If you take a VHD image and create a new VM in Hyper-V usng that VHD and simply boot it, yes, it will be fine. If you do not install the Integration Components and subsequently take the VHD back to Virtual PC or Virtual Server, yes, it will also boot fine.


Following on from the previous paragraph, if you install the Integration Components (and let’s stick to Windows Server 2003 for the example), then we swap the HAL to an APIC HAL as the first part of the installer. At this point, the VHD will no longer boot under Virtual PC and Virtual Server.


Hopefully that helps!
Cheers,
John.

 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# MSDN Blog Postings » VHD compatibility between Hyper-V and Virtual Server said:

PingBack from http://msdnrss.thecoderblogs.com/2008/02/28/vhd-compatibility-between-hyper-v-and-virtual-server/

28 February 08 at 8:19 PM
# Noticias externas said:

Honestly I was shocked when I read John's recent post about " Are VHDs compatible between Hyper

28 February 08 at 8:34 PM
# News said:

Honestly I was shocked when I read John's recent post about " Are VHDs compatible between Hyper

28 February 08 at 9:48 PM
# John Howard said:

There is one particular scenario where you could be faced with this when booting a VM using Hyper-V.

29 February 08 at 1:12 PM
# VolkerW's WebLog said:

Honestly I was shocked when I read John's recent post about " Are VHDs compatible between Hyper-V

03 March 08 at 1:39 AM
# Joel Chambers said:

I hope that this compatibility issue can be updated to include the ability to remove the "Integration Components" from any state of Hyper-V virtual machine so it could be installed on a MS Virtual PC (2004-2007) or MS Virtual Server 2005 R2 version; once it gets out of Beta.

As I am on the subject of dream requests, being able to support conversions from Physical to Vitual with a seemless tool like VMware's "Converter" utility would be a lot less painful than the Microsoft route.

Oh and heck, why not ask for a solution only the uterly insane might request, compatibiliy with actual VMware virtual machine files; or perhaps a means to convert VMDK to VHD integrated into the non-Beta version of Hyper-V?

One can always dream.

12 March 08 at 2:56 PM
# Chris Beckett said:

Even the straight migration back and forth between Virtual PC 2007 and Hyper-V does not really work. I have a MOSS development environment running under Virtual PC 2007 with Office 2007, etc. When I boot it under Hyper-V it tells me the hardware has changed significantly and that I have to re-activate Windows. This is also true of SharePoint Designer 2007 and possibly other Microsoft applications. Having to re-activate the OS and Office apps every time you boot it between VPC2007 and Hyper-V does not seem like a reasonable option to me?

19 March 08 at 3:10 PM
# Milan@informatika.com said:

Success!

I made W2003 R2 SP2 Std Edt 32bit VM under Virtual Server 2005 R2 SP1, migrated VHD to Hyper-V, installed Integration Services, created new machine, et voila! It worked well.

Then I was asked to move it back to Virtual Server 2005 R2 SP1. I've tried with Uninstalation of Intergation services, but didn't work. Then I mounted VHD as drive letter and replaced HAL.DLL with old one. IT WORKS !!!!

16 April 08 at 1:50 AM
# pascals.blog said:

Nous voici donc à la troisième étape de notre prise en main d'Hyper-V sur une configuration

18 April 08 at 7:41 AM
# MrGroove said:

I appreciate the article.  I've just posted a recent How-To on the conversion side.  Hope this helps.

http://www.groovypost.com/howto/microsoft/windows-server/migrate-microsoft-virtual-server-2005-r2-vm-to-windows-server-2008-hyper-v/

24 April 08 at 8:36 PM
# Maria Lundahl IT Pro Evangelist said:

Ja det går alldeles utmärkt att boota en VHD fil som du skapat med Virtual PC eller Virtual Server i

27 April 08 at 1:30 PM
# Andrzej's "IT Thoughts" Weblog said:

Lately it's been very quiet on my blog. There are a couple of things to that. First and foremost there

02 July 08 at 8:27 AM
# Morthorst said:

Any news of coverting from Hyper-V to Virtual Server an Virtual PC? I have developers needing this possibility from time to time? I have heard that converting x86 VHDs with WSS or MOSS (SharePoint) could give problems, any comment's on that one and I would appreciate it?

15 July 08 at 10:15 AM
# jhoward said:

Morthorst - no, I've never heard of that (MOSS/WSS going TO Hyper-V). Can you provide a pointer to something for me to investigate?  The other way back can be problematic as I discussed above. I would recommend if that is required to keep a backup of the original VHD and configuration under Virtual PC/Virtual Server.

Thanks

John.

15 July 08 at 11:09 PM
# Yuhong Bao said:

"I guess that some Linux flavours with appropriate boot switches may be OK, but I’m no expert in this area."

Linux do not use HALs and instead include code for all combinations in the kernel, thus it should always work.

23 July 08 at 5:00 PM
# jhoward said:

Thank Yuhong. Appreciate the clarification.

Cheers,

John.

23 July 08 at 5:05 PM
# Rod Trent at myITforum.com said:

Hyper-V HW & SW requirement: http://technet.microsoft.com/en-us/library/cc816844.aspx Hyper-V RTM

12 November 08 at 8:46 AM
# 喻勇(Frank Yu)的技术博客 said:

下面的内容,是由微软全球技术中心工程师收集和整理的虚拟化技术资料集锦。基本上涵盖了学习和应用基于Hyper-V架构的虚拟化平台所需要掌握的知识和资料。非常的有价值。 1 .Hyper-V的安装部署 在Windows

12 November 08 at 10:32 PM
# Be.St.Blog said:

Convertire una macchina Hyper-V in VMware

28 February 09 at 5:16 AM
# Yuhong Bao said:

"In theory it is possible to swap the HAL, but not in a Microsoft supported manner (except on Vista and Windows Server 2008 – that’s a post for another day)."

You basically go to Device Manager and use Update Driver and change the HAL to "ACPI PC" or "Standard PC".

01 March 09 at 2:58 AM
# Anthony said:

What if I have a server running Server 2003 32 bit, and I use Virtual Machine Manager 2007 (because VMM2008 doesn't run on 32bit) to convert the physical server to a virtual server, then install Server 2008 on another server and run the Server 2003 vhd file as a VM in Hyper-V.  Will that work?

18 March 09 at 9:54 AM
# jhoward said:

Anthony - I'm not on the VMM team, but (IIRC), you can use VMM2007 to P2V into a virtual machine under Virtual Server.

You can convert from VS to Hyper-V using the steps documented at http://technet.microsoft.com/en-us/library/dd296684.aspx

Thanks,

John.

18 March 09 at 5:31 PM
# Steven Cheng's MSDN Notes said:

John has posted a good blog entry describing how to make vhd image work between VPC/Virtual server and

01 April 09 at 9:50 PM
# Scott Wilson said:

Does anyone know how to go from Xen server to Hyper-V? looking for a solution that will not cost alot.

Thanks

13 April 09 at 9:50 PM

Leave a Comment

Comment Policy: No HTML allowed. URIs and line breaks are converted automatically. Your e–mail address will not show up on any public page.

(required) 
(optional)
(required) 
Page view tracker