Thursday, December 09, 2010

Another Windows Virtual PC Gotcha

Microsoft Virtual PC, for Windows Vista and earlier, automatically writes changes from the undo disk (VUD file) to the main drive (VHD file) when you shut a virtual machine (VM) down. So, when you’re setting up a VM or otherwise want to make permanent the changes you made while using it, you just shut it down and tell it to save the changes. When you do something where you don’t want the changes saved, such as doing a test install, you shut it down and tell it to discard the changes. Very straightforward.

Windows Virtual PC, for Windows 7, doesn’t automatically write changes from the VUD to the VHD. When you shut a VM down and don’t tell it to discard changes, it continues to build up changes you make over various sessions to the VUD file. When you want to write the changes to the VHD, you have to specifically edit the settings for the VM, choose the Undo Disks page, and click Apply.

Until I realized this, I couldn’t understand why a VM I had set up kept reverting to an earlier state. I started the VM, made some changes I wanted permanent, then shut it down, thinking that the changes would be written to the VHD (although I did notice that the shutdown process was a LOT faster than I was expecting). I then fired it up again, did a test install, and shut it down, discarding changes. When I started it back up again, it was at the original state, without the changes I thought I’d made permanent. I also noticed that the datetime stamp on the VHD file hadn’t changed.

After a couple of rounds of this, I started poking around to see what I had to do to write changes to the VHD. That’s when I discovered the Apply button in the Undo Disks pages of the Settings dialog. Hopefully my pointing this out will save someone else some time.


Anonymous said...

I moved to VM Ware Desktop and it is so much better. Snapshots are much nicer than the "undo disk" of WVPC.

Also, VMWare Desktop supports 64-bit VMs which I need to test or installs on 64-bit servers.


Gonzo said...

Yeah, VMWare is superior to VPC in my testing. Although I try each new version out hoping it's better since I have an MSDN subscription and it's easier to get a hold of.