
Virtual PC: Differencing Disks
Originally published on my old blog at cumps.be on March 8, 2005.
During my internship I had to test against different kinds of products, and to be sure everything worked on a clean install of each product, I had to create multiple virtual PCs. One method of doing this was to create one clean Windows 2003 installation inside Virtual PC and copy this image to a new folder for every different server I needed. This was the method I started with, but one disadvantage was that it required a lot of disk space, as the base image already required 1.8 GB.
A solution to this problem was to use a feature of Virtual PC, called differencing disks. This allows you to create a read-only base image, which is called the parent, which can be shared with unlimited other virtual machines, the children.
Every child stores its disk changes in a separate file, making it possible to have one clean Windows 2003 parent image, and having a child which only adds Windows SharePoint Services to a separate file. The combination of parent and child would then become a Windows 2003 machine running Windows SharePoint Services.
This way, having a lot of different children uses a lot less space than having to copy the complete base image each time.
Additionally, this method can also be used on a network to provide complete base images to all network clients. This makes it possible to create an archive of base images for each platform (Windows 98, 2000, XP, 2003, Linux, BSD…) and place them on a read-only network share, ready to be consumed by all users creating their own local child disks.

Later I took this a step further with a hierarchy of differencing disks.
You May Also Like

ASP.NET 2.0 On Tour
ASP.NET 2.0 On Tour in Brussels, March 2005: what ASP.NET 2.0 and Visual Studio 2005 offered, and how to migrate to them.

Blogging
What blogs are, how they differ from forums, and why their personal nature makes them such a valuable source of information.

Virtual PC
How Microsoft Virtual PC let me test my internship work on a Windows 2003 server image, on my laptop and my desktop alike.



