I use Virtual PCs a lot. In general, I create a single slimmed down base image of an operating system, mark it read only and create differencing disks off that image to test software. There are a lot of partial guides out there to creating a speedy slimmed down base image and several more for simply speeding up XP but nothing all together. Thus I present, a near-as-dammit guide to really slimming down and speeding up your VPC.

Full credit to the following sites and people who originally wrote \ helped me write pieces of this.

A couple of notes also in the guide but worth mentioning explicitly here for 64bit users.

  • The 64 bit version of Virtual PC 2007 is not a pure 64bit application so it installs in c:\Program Files (x86) rather than c:\Program Files. DO double check you have downloaded VPC2007 64bit but don’t panic when the installer puts it in the ‘wrong place’ for 64bit apps.
  • There is no 64bit version of Invirtus’ VM optimizer yet. You could run it from a 32bit VPC of course, but that’s getting a bit perverse.
  • There seems to be an issue in some BIOSes (BIOSii?) where hardware virtualization becomes disabled when Vista reawakens from sleep even if the BIOS has it enabled. This thread mentions it in relation to a HP\Compaq box, but not the motherboard type. I’ve got an Abit FP-IN9 with BIOS rev14 installed and experience the same problem, so it might just be Abit, might not. Let me know if you have this problem as well.

One other note on using differencing disks off a base image. Always remember what’s on the base image. Or rather what isn’t. Case in point, the MbUnit team is preparing to release v2.4.1 so I’m testing the installer, uninstaller and the new start menu entries. And the GUI just crashes whenever I try to run it with a not very helpful error. It takes two hours to realize its because I haven’t installed .NET onto the test virtual PC yet. Doh! Am muppet, but not quite as literally as this.