Cool things with VMWare

I'm sure that Dennis, being a power user of VMWare, can list a hundred things, but I'm going to talk about a couple. One that is, IMHO, the number one reason developers should use it, and another that I experimented with briefly tonight.


This is a very cool feature, and the concept works like this...

  • Install an operating system in a VMWare disk
  • Snapshot it
  • Install an application on the virtual OS
  • Snapshot it

Now, the reason this is cool is twofold.

First, you don't have to consume the space on your hard drive for another full installation of the base OS. (And feel free to correct me if I'm wrong on this.) So if I decided to install Excel 2003 on my snapshot, for example, I'm increasing my storage needs by the size of the Excel install, and not the another full copy of the base OS as well.

Second, you can revert to a prior snapshot and branch off at any point. It also gives a really nice little tool that gives you a visual of what you have. Here's my current testing platform snapshot tree:

VMWare snapshot tree

As you can see, I have a Windows XP install, and a few different options to choose from. In the current view, I was testing some PDFCreator stuff on Office 2003. I could just as easily flip back to the base XP image and install Office XP or 97 if I needed to test something on that platform. I don't need to reinstall a full clean OS... I already have one to start from. So I can get my install up an running very quickly.

This is an incredibly robust feature in VMWare, and SO easy to use. The only hints that I would give you if you've never done this before are these:

  • Shut down your virtual machine before you take the snapshot. You CAN snapshot a running VM, but it then creates huge files as it has to save the running state of the machine. They are way more trimmed if the machine is off.
  • To get the best performance now and in snapshots based off earlier snapshots, always defragment the image inside the VM and shrink the disk before snapshotting. This keeps the image as small and efficient as possible.

While it is possible to do a similar thing using Microsoft's Virtual PC, (hereafter called VPC,) it's not nearly as easy to set up, nor to comfortably manage. VMWare has this set up so that it is intuitive, and easy to read. With VPC, in my experience, it's really easy to lose track of what disks are what, as there is no UI that tells you.  If you are using Virtual PC though, I linked to an excellent article on this subject in my first post about virtualization about a year ago.

Pre-built images

One of virtualization's big strengths is that it moves operating systems into a hardware agnostic environment. Basically, this means that VMWare/VPC translates between your host OS's drivers and the generic drivers needed in the VM. This allows for disaster recovery, as you only need to back up your VM, and you can reload it on any machine that has your virtualization (VMWare or VPC) software on it. It also allows for the next thing I want to talk about... pre-built images.

Last week, I saw a page (can't remember where) that pointed to a product called Deki Wiki. The only remarkable thing to me at the time was that it was provided in a VMWare image for you to download and use immediately. I kind of remarked at the time that it was a pretty neat concept. Well... yesterday at work it occured to me that a wiki might be an interesting tool to build procedure manuals at work. If everyone in the company could be set up with rights to create, search and update procedures for tasks, maybe we'd stand a chance of keeping our docs up to date. I figured I'd download it and give it a try.

The download was pretty big, but once in an unzipped, all I had to do was double click the vmdk file. It launched a linux server, I opened up my web browser, put in the IP, and away I'm playing with their wiki software. Pretty cool really. I didn't need to learn a thing about linux, didn't have to install a new program on my website, or anything.

It's not like this is the only one either, but it is the first open source project I came across. For MSDN and TechNet subscribers, we can download pre-built Virtual PC images of servers and such as well. And, of course, VMWare has a way to port Virtual PC images to VMWare workstations.

I'm curious if any other VMWare users out there have picked up any open source projects like this?

5 thoughts on “Cool things with VMWare

  1. Hi Ken,

    Again an excellent blogpost about vmWare! I fully agree that snapshot tool is easy to use and also very robust.

    I need to keep several Windows versions available so my setup is bigger but it's based on the snapshot tool:

    Windows 2000:
    Excel 97
    Excel 2000
    Excel 2003

    Windows XP:
    Excel 2000
    Excel 2003
    Excel 2007

    Windows Vista:
    Excel 2003
    Excel 2007

    In addition, I also need to have access to a larger number of RDBMS like DB2, FoxPro, Oracle, MySQL, FireBird and SQL Server /Access.

    Actually, since I find vmWare to run very well I have never considered to look on any open source project!

    Kind regards,

  2. Does VMWare run significantly more slowly on processors without virtualization instructions e.g. the E4300 from Intel lacks virtualization commands (IVx or whatever the instruction set is called), but I've got mine clocked at 3GHz; comparatively how slowly is VMWare going to run on that platform?

  3. Hi Philip,

    Sorry, you've got me there. I'm a user of VMWare, but as far as benchmarking for specific processor sets I can't help you. I'd suggest that you try one of VMWare's forums or official site to find that info.

  4. Hi Philip,

    I recently installed Vista 64x (Thanks Ken 😉 ) and I was forced to activate the virtualization instructions (which I at that time was not aware of that it actually existed).

    Running 64x is about 5-10 seconds faster on my computer compared to run Vista 32x. As for Vista 32x I didn't see any significant differences between the two modes (with or without) which is also the case for Windows XP 32x.

    Hopefully the above can give You some input.

    Kind regards,

If you have a comment or question about the blog post content, please feel free to post it here. If you need help adapting this solution to your own needs, please post in our free help forum.

Your email address will not be published. Required fields are marked *