Virtual PC - Differencing Disks

During my internship I had to test against different kinds of products, and to be sure everything worked on a clean install of this product, I had to create multiple virtual PC’s. 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 for the creating of a base read-only image, which is called the parent, which can be shared with unlimited other virtual machines, the children.

Every child stores their 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 also can be used on a network to provide complete base images to all network clients. Making it possible to create an archive of base images for each platform (Windows 98, 2000, XP, 2003, Linux, BSD, …) and placing them on a read-only network share, ready to be consumed by all users creating their own local child disks.


  • I'd love to hear more on this topic! For example, how does it play with auto-updates by windows? Does this mean the base image is then "locked" from changes? Or would changes just break the child images? Also, can I use an existing image as a base, and just work from there?

  • i have the same question here...

    what if you update the parent images?

  • It would probably be helpful to talk about how you set that up in VPC.

  • Thanks for writing this up!

    I do have a question: For the situation where you have a network share of base images, do the consumers' hardware all need to match the machine which originally created the base images?

  • So what about the names of the child servers. This method sounds very interesting because I used to just copy over the diskimage and rename it. With this I could just do the difference but would I have the problem of two of the computer names being the same on the network? In the past I would fire up the other and run sysinternals "newsid" on the machine renaming it in the process. Any thoughts here?


  • Does this still play nice with 'undo disks'?

    I.e. can you have 3 levels, like this:

    1 read only base image

    2 local diff to the base image

    3 undo disk for this sessions changes

    or is this just a different way virtual pc uses the possibility to have one disk that contains diffs against one other disk?

    In fact, what version of virtual pc are you talking about, mine doesn't seem to have this option...

  • Thanks David for the version info, that is my version too and looking a little further I just found the option.

  • I don't know if my question is really related on this, but...I need some help....I have to install WSS over VMWare and I don't know if hosting disks have to be "dedicated" exclusivetely to SharePoint or they could be shared with other applications?

Comments have been disabled for this content.