Okay, before I go anywhere, I want to give 100% credit for this post to John Bristowe. He showed me this at
Tech-Ed. He was going to do a Grok Talk on the subject, but just got too busy I
think. He (and me too now) is genuinely shocked more developers aren't using
Virtual PC. Now I've used VPC quite a bit since its release (and even before it
was called Virtual PC). However, during our conversation, John showed me a very
cool feature I didn't even know existed ... Differencing Disks. If you
already know what Differencing Disks are in the context of Virtual PC,
you can click next in your RSS aggregator ... because the rest of this post is
about how to use them to create many different development environments with
very little effort and hard space.
Differencing Disks allow you to use an existing VHD (Virtual Hard
Disk) as the parent for a new VHD. For example, if you want to have one VPC for
Visual Studio 2003 and a different one for Visual Studio 2005 Beta 2, and you
wanted them both on Windows XP Professional, you can create a parent VHD with
Windows XP Pro on it and use it as the parent for each of the two Visual Studio
VPCs. This saves a ton of hard disk space because the OS only exists in a single
VHD. It also saves a lot of time - have you ever created copies of VHDs or
installed the same OS on several VHDs? Yuck. This is how I'm setting up my VPC
The beauty of this is each of the product are only installed once even if I
have several different systems using it. Nice, huh? Okay, let me show you have
to put this into practice ... just in case you were curious.
In the next few screen shots, I'm going to create a new VPC for a Visual
Studio 2005 Beta 2 release based on an existing Windows XP Professional VPC.
This is what my Virtual PC Console looks like:
The first step is to create a new VPC. Be sure to put it exactly where you
want it using the Browse button (I keep mine on an external USB drive).
Define the amount of memory you want it to have and create a
new VHD. Now go to the Settings of the VPC and click
on the new VHD.
From here, click on the Virtual Disk Wizard button and create
a new VHD.
For the location, choose the same VHD that was just created with the new
When you click the Next button here, you'll be asked if you want to
overwrite the existing file. You do. The next step is deciding what kind of VHD
it is. Of course you want a Differencing Disk.
The rest is self explanatory. When you start up this VPC, you'll notice that
Windows XP is already up and running for you ... no duplication ... and no
wasted time. I am totally using this snot out of this. THANKS