The credit for this post goes to Peter, who close to a year ago sent out instructions on how to use differencing disks in a different way to save significant hard drive space when using virtual machines (Virtual PC 2007), while keeping your pristine baseline image...well...pristine (read-only no less). As I'm tired of looking up the old email every time I forget the steps (going senile in my old age), I'm putting the steps here:
- In the VPC console, highlight your VPC > Click Settings > Select Undo Disks > Click Enable > undo disks > Click OK
- Turn on, and then immediately turn off the VPC. Choose to save changes but not commit them. The whole point is to get an Undo disk (file with extension of .vud).
- Find the undo disk (.vud) and rename the VUD extension to VHD. Tricky!
- Return to VPC console, highlight your VPC and choose newly renamed VHD as Hard Disk 1.
- Answer "Continue" when warned about the undo disk.
- In Settings dialog > Select Undo Disks > Clear the check-box to disable undo disks > Click OK (and blissfully ignore the catastrophic warning).
- At file system, set parent disk to 'read-only'.
- Boot VPC and work as normal, but with the knowledge that your pristine baseline image is safe.
- I like to take it one step further for data and hook it up with a separate virtual data drive (easier for incremental backups).
This tip is originally from Invirtus VM Optimizer (now vOptimizer it seems). If you're interested in a further explanation, in their words:
Microsoft Differencing Disks
As you may have read in our differencing disk article on our website, differencing disks are wonderful tools for extending virtual machines, but are terribly inefficient in disk space concerns. If you intend to use a differencing disk more than a few times and you intend your differencing disks to have a moderate shelf life, consider using undo disks instead. Not in the classic sense, however. To ensure the parent image is held pristine we recommend a new way of using undo disks.
Instead of having your writes chained to the back-end of a VHD by way of undo, or VUD, we recommend creating then renaming the VUD to VHD and using it on the front-end to reduce ambiguity. Doing this will save you tons of disk space, guaranteed and you will not lose any functionality. To get there, however, you have to follow a few "new" steps.
And of course, do all of the above at your own risk. I'm not responsible for any chaos that ensues: Peter is.