Virtual PC 2004 vs VMWare Workstation 5.5
In the past I’ve mentioned that I’m a virtual machine junkie and that I consider VMware Workstation 5.5 to be a better product than Virtual PC 2004. I thought I should explain that position a little bit and decided to compare the two programs. I sat down and made out a list of attributes that the 2 programs have. It looks like this (this is by no means comprehensive, just what I pulled off the top of my head in about 5 minutes):
|
Virtual PC 2004 |
VMware Workstation 5.5 |
| Create VM |
X |
X |
| run many VM at once |
X |
X |
| Windowed |
X |
X |
| Full screen |
X |
X |
| Tabbed |
- |
X |
| Enhanced tools for mouse, video etc |
X |
X |
| Undo ability |
1 level |
many levels |
| NAT |
X |
X |
| Private network |
only 1 |
many |
| Create VM based on other VM |
difficult |
easy |
| 64 bit host |
- |
X |
| 64 bit guest |
- |
X |
| VM groups |
- |
X |
| Pre-made VM |
some |
many |
Both application allow the user to create many VMs and run more than one at one time but the way they each handle window management is very different.
Window Management
Virtual PC allows the user to run VMs each in their own window or full screen. It has another window that runs the main application that controls which VMs are running, settings etc. This window minimizes to the task tray. Virtual PC 2004 uses SDI for window management. Nothing wrong with that.
VMware Workstation also allows the user to run VMs each in their own window (launch multiple instances of VMware Workstation) or full screen. It also adds the ability to run multiple VMs in one window with each VM on it’s own tab (this is the default). Actually it has 2 versions of this, one with a normal window that can be resized, maximized etc. The second is what they call Quick Switch. It is a cross between full screen and having the main window maximized. The VM runs at full screen except for the tabs along the top for the other VMs. The menu bar is set to auto hide and will drop down when you move the mouse to the top of the screen. What I’ve found is that I can run the VM nearly full screen and still retain easy access to the host OS. All I do is click on an empty space in the tab bar and my alt-tab now goes to the host OS instead of the guest OS. Works well for me.
Network Management
Virtual PC allows the users to have up to 4 network cards that can be bound directly to a host network (bridged), use NAT for sharing the hosts connection (the host acts as a router), set to local only network (only accessible from other VMs and maybe the host) or not connected. These options will meet the needs of most VMs nicely. NAT is my standard since I generally don’t want to try and connect to the VM from anywhere other than VMs but still want internet access.
VMware Workstation adds a few more options into the mix. It only allows a maximum of 3 ethernet adapters but has some different options for connecting them. It allows Bridged, NAT, Host only (private network shared with the host), or custom. The custom is where all the fun begins. You can select from one of 10 virtual switches. 3 of the 10 are set by default to Bridged, NAT and Host only. The rest can each have their own subnet and have bridging, NAT, or DHCP enabled for each. There is actually a separate tool that is installed at the same time as VMware Workstation called the Virtual Network Editor that allows you to configure all of the virtual networks. What this means is that you can setup some very complicated networks entirely within VMware Workstation. The manual has a nice diagram of setting up 4 virtual machines to establish a classic network of Internet<->Firewall<->Web Server<->Firewall<->Internal PC.
Undo Management
The ability to run a VM, make changes, install software, etc. and then revert back to the original state without any of the changes is one of the main reasons I use VMs so extensively. Virtual PC provides this using undo disks. In the settings of the virtual machine you can turn on undo disks and then when you close the VM you have 3 options: commit the changes, delete the changes, save the changes. Commit the changes merges the changes into the virtual disk files and you can no longer go back. Delete the changes reverts the VM to where it was at the last commit. Save the changes keeps the changes separate from the main virtual disk and you will pick up right where you left off. If you delete sometime in the future it will drop not only changes since the save, but all the way back to the previous commit. Basically, there is 1 level of undo.
VMware Workstation also has undo disks but they call them snapshots and they are a little different. The way it works is if the VM has snapshots enabled then you can take a snapshot of the machine state at any time (I prefer while not running but you can do it while the VM is operating). This marks a point that you can go back to. If you go back to a previous snapshot that has snapshots after it you will create a branch in the snapshots. This simply provides many levels of undo. You can adjust the settings so that when you power a VM off you can have it automatically take a snapshot, revert to a previous snapshot, ask or do nothing. VMware provides a snapshot manager that lets you take snapshots, label snapshots, add descriptions, delete snapshots and even clone the VM (more on that later). It also gives a graphical view of the snapshots for the VM (see image below for example). Snapshots are THE killer feature for me with VMware Workstation over Virtual PC.

Virtual Machine Creation
Virtual PC has a nice wizard that will walk you through creating a new VM. You can specify name, location, guest OS, memory size, create a new virtual hard drive or use an existing one, etc. That is easy enough but what if you want to create a new VM based on a old VM? I don’t like to install from scratch every time I want to run an OS so I keep basic “clean” installs of OS’s I use frequently. When I want to create a new VM with one of these OS’s I create a new VM based on the “clean” one. In Virtual PC this generally means going to the file system and copying the virtual hard drive file to a new location and running through the wizard to create a new VM. The other option is to create a new differencing virtual hard drive and create the new VM based on that. A differencing virtual hard drive is similar to an undo disk. When you create it you point it to the original and then any changes that are made are saved in the differencing drive and not the original. The catch is that the original can’t be changed or the differencing disk is invalid.
VMware Workstation has a better model for creating new VM based on existing ones. They call it cloning. You simply open the original VM and click on Clone this virtual machine. This brings up a wizard that will guide you through the cloning process. You can clone from the current state or any existing snapshot (hence the clone option in Snapshot Manager I mentioned earlier). You can also create a linked clone or a full clone. The linked clone is similar to the differencing disks of Virtual PC except that the original can still be modified. A new snapshot is created and locked in the original. This means that you can’t delete the snapshot but can still revert back to it (or earlier) like normal. The full clone makes a full copy of the VM and is then completely independent of the original. No going out to the file system and manually copying files or worrying that you might change the original and make the linked VM no longer work.
Other Points of Interest
- Pre-made Virtual Machines
- Microsoft has slowly been releasing some of their betas and CTPs on pre-made Virtual PC images.
- VMware has a TON of pre-made images that you can freely download and try out. You don’t even need VMware Workstation, you can use the free VMware Player.
- 64 bit OS support
- Virtual PC has no 64 bit support
- VMware Workstation supports both the host and the guest as 64 bit OS. The guest can only be 64 bit if the host is also 64 bit.
- Virtual Machine Groups (Teams)
- Virtual PC has no team support
- VMware Workstation allows you to group VMs into teams that can then be controlled together and have their own private network available. You can do things like set a startup order for the machines, etc. This allows you to setup some of those complex networks and have the machines come up in the order they need to without having to do it manually. You can setup a multi-tier environment. There are plenty of uses for this, use your imagination.
Conclusion
I stated in the first sentence of this entry that I think VMware Workstation 5.5 is a better product than Virtual PC 2004. Hopefully if you’ve read this far you can start to understand why. In just about every area VMware Workstation can do everything Virtual PC can and then adds more flexibility and functionality on top. I keep thinking of more things to talk about (like changing the hardware simulated, using USB devices, etc) but this has gone on long enough. The only place where Virtual PC has VMware Workstation beat is price: $free vs $200. When I bought my copy it was $100 vs $200 and the difference was worth it. I still think the difference is worth it but you’ll have to decide that for yourself. If you use VMs do yourself a favor and at least try VMware Workstation.
Now playing: Tool - 10,000 Days - 10,000 Days (Wings Pt 2)