So far, so good with VMware Workstation 6

So far, so good with VMware Workstation 6

Summary: After publishing the video this morning to recruit this week's ZDNet Deputy Testers of the Week, I've been working most of the day on setting up some new virtual machines using VMware's recently released VMware Workstation 6.0.


After publishing the video this morning to recruit this week's ZDNet Deputy Testers of the Week, I've been working most of the day on setting up some new virtual machines using VMware's recently released VMware Workstation 6.0. I've used VMware Workstation 5.5, but the big deal with VMware Workstation 6.0 is that it supports Windows Vista as a host operating system. This is important to me since the X60 Tablet that the folks at Lenovo sent me for testing runs Vista (actually, the Tablet version of Vista).

My goal for the X60 is to, finally for the first time since first espousing the virtues of virtualization, to go totally virtual with my system. That is to say that any production software (or test software for that matter) that I run (once I get it all installed) will be run from within one of the several virtual machines and not on the host operating system itself.

The benefits of this approach are several. First of all, from a security perspective, it will be literally impossible for some form of malware to wriggle its way onto the host OS -- the Tablet version of Vista that's running on the X60. Instead, I'll have multiple VMs for multiple purposes. For starters, I spent most of today getting two "base" VMs (otherwise known as "guests") in place. One is a base copy of Windows XP Service Pack 2. The other is a base copy of Windows Vista. These are barebones copies of each OS that are configured with the bare minimum stuff that I'd want any copy of XP or Vista to be ready with. Namely, Microsoft Office (2003 for XP, 2007 for Vista), Firefox, and an anti-virus/personal firewall security package. I picked McAfee's since I get it from Comcast (my ISP) for free. Then, I ran as many updates as seemed necessary in order to get both base copies up to current snuff.

With my base copies of each in place, my plan is to use VMware's cloning feature to generate some clones of each. At least one of the clones (probably of the Vista base VM) will be used as my production "system" for working at ZDNet. I'll use this to access the systems behind our corporate firewall (eg: our e-mail system). Another clone will be for non-ZDNet use. Not only does this keep a clean break between the production stuff I need for ZDNet and the software I use for my own personal business matters, the way VMware works, one of the VMs can route all traffic over the corporate VPN while the others avoid it all together. Why, for example, should I be using up the company's precious bandwidth for non-company business? With virtualization products like VMware, you can "fork" the traffic.

Still, another clone (probably of each) will be for software testing (the results of which will often be published here). The idea is to have a couple of clones "at the ready" so that if there's something I need to test in a jiffy, I can load the sofware into one of the clones, test it, and then either uninstall the software, or delete the clone altogether (thus removing any trace of the tested software in the first place). The idea here is to prevent myself from screwing up a production clone with test software (something that has happened to me a great many times).

Another major benefit is staying backed up. In the case of VMs, backing up an entire PC involves little more than copying a small handful of files. Restoring them (perhaps to a different system) involes little more than copying those files again. It's that simple. Way simpler than any other backup system I know of.

So why VMware? Well, I started to set this up with Microsoft's Virtual PC. Virtual PC was the first out with support for Vista as a host and I gave it a try. But its lack of support for the USB ports was a dealbreaker. In other words, if you hooked something up to the USB port like a printer, a phone (for synching), or an IDVault, it simply wouldn't work. VMware has managed to figure this problem out and I expect this capabilty to play a big role in my ability to preview the product I'll be giving away next week in our effort to recruit more deputy testers. Hopefully, it will work.

VMware 6 also comes with a neat utility called Pocket ACE. I'm not sure I can explain it any better than VMware's Web site does. Here's what the site says:

Administrators can now bundle and deploy ACE packages directly on a portable USB media device such as a flash memory stick, portable hard drive or even an Apple iPod. End users can operate their ACE client machines directly from the USB device for unparalleled mobility and flexibility.

VMware's ACE involves an enterprise environment whereby client-side VMs are centrally managed, provisioned, etc. Whereas previous versions of ACE allowed for the provisioning of VMs (and subsequent management of them) to desktops and servers, this version of ACE makes it possible to provision VMs to many forms of USB-connectable storage. Even cooler is that the VMware runtime is provided right on the same storage device. The idea is that I could put an entire VM of mine on a USB key and take that with me instead of my PC. Theoretically, I should be able to run that VM anywhere the runtime (what VMware calls the "player") works. In VMware Workstation 6's case, it can take any of your VMs, turn it into an "Ace Master" and then from there, clone that master onto some form of USB-connectable storage like an iPod.

Now, if only there were public PCs everywhere (including in the seatbacks of the airplanes that I fly) that were ready for a VM to be plugged in like this.

A couple of final notes. First, to date, no one I know of has figured out how to manage VMs at rest. For example, now that I have my base VMs in place and am cloning them, I still must start them up occasionally to make sure they have the latest security updates. Once clones of those bases get created, they have to be individually updated which is a management nightmare. They can be automatically updated as long as they're running. But keeping the ones that get used less frequently up-to-date is a problem that I'm still hoping someone will solve.

Second, VMware has the ability to record whatever happens in a VMware window as video. This is a neat feature because there are some events that are impossible to capture if the capture software is actually running as from within the operating system in which the events are happening. VMware's video capture feature runs outside of the VMs it is hosting. Unfortunately, while we've been able to view the videos with the Windows Media Player, we can't figure out how to import them into Apple's Final Cut Pro (where we import other AVIs to produce video reviews). Though I suspect it's a codec problem, VMware says there is no solution (big *sigh*).

Finally, all this cloning that I'm doing will still be ultimately hampered by software licensing issues. To the extent that Microsoft uses technologies like Windows Genuine Advantage to make sure its software isn't being pirated, some of my clones will get trapped as potential pirates and I'll be asked to supply new license credentials for the software to work. This will especially be the case if I take one of my Windows VMs and move it to a completely different system than the X60 Tablet (such a jarring hardware change invariably awakens the licensing Gods at Microsoft). As such, one of my client VMs will probably be running a distribution of Linux, perhaps SuSE or Ubuntu. I've tried before (and failed). But it's apparently time to try again and see if maybe I can bring up a production environment under Desktop Linux, one that allows me to get my work done without having to worry about whether I'm going to trip over a licensing wire somewhere (when I'm not even remotely close to being a pirate).

Topics: VMware, Microsoft, Operating Systems, Software, Storage, Virtualization, PCs, Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Awesome


    THanks for the enthusiasm. Very fun to read!

    • But I pull my hair out sometimes...

      Every now and then, I get frustrated. But overall, this experiment is a fun one. Thanks for the compliment.

  • Performance?

    I have experimented with this over the last year or so, but so far performance has been an big issue on old hardware. Do you have any info on what the performance penalty is on newer hardware?

    Also, the Windows licensing situation is a nightmare. I really don't understand what I am permitted to do. I assume I don't want to waste a Windows license on the host OS. Vista Basic OEM may be cheap enough to purchase for a few guest machines but I'm not sure the license permits that.
    • Performance can indeed...

      be rough on older machines. Even newer ones have been problematic. But memory seems to be a gating factor as well there. The trick is to have enough memory for the hosts and guests to all run with some breathing room (at least the guests that are running simultaneously). I have the X60 configured with 4GB of memory. However, Windows Vista is only seeing 3GB... a problem I haven't quite figured out yet.

      • Missing Memory

        Not being able to utilize all of the memory on your computer is because you are running the x86 (32 bit) version of Vista. Using 32 bit addresses for memory only allows 4 GB of memory to be addressed. Due to the fact that Windows maps things like video card memory and the BIOS into the memory address space, you end up with less than 4 GB of addressable memory. The only way to fix this is to use the x64 version if Vista as your host OS. Using the 64 bit version will allow you to address up to 128 GB, but, more importantly, the full 4 GB of memory in your laptop.

  • Not so ...

    [i]This will especially be the case if I take one of my Windows VMs and move it to a completely different system than the X60 Tablet (such a jarring hardware change invariably awakens the licensing Gods at Microsoft).[/i]

    You can clone the Windows VM and transfer it to another machine without problem since the identification structure that Windows relies on for WGA is virtual. Windows will see [b]no[/b] hardware change, thus no WGA issues unless this has changed with Workstation 6.
    • It has not changed.

      I am running Server 2003 as the host, and have clones of XP sp2, win98, Vista ultimate, Ubuntu, SuSE, and Fedora. (not running at the same time mind you.) But Vista runs well enough, as long as you disable all the "pretty" graphics. I can run 3-4 separate XP machines at the same time. Activate WGA and WPA once and forget it. Just keep a virgin clone around to "reinstall"
    • If that's the case...

      I can't wait to try it out. This would be a change from ver 5.5 to 6.0 and in my various communications over the last couple of years with VMware, I was never told that this was a problem that was going to be solved. It's easy enough to try out with the different machines I have here.

      • must be a miscommunication

        The virtual machine should look the same regardless of where you run it unless
        you (manually?) add "hardware" like drives. As far as Windows or any other guest
        OS is concerned, it IS the same (virtual) hardware.

        VMWare people should know this, and it has been true for good long while, at
        least if the virtual machine is complete. Not sure why they would tell you
        otherwise unless they were talking about something else.

        I believe researchers have found ways to determine if the OS is running in a virtual
        machine, but as far as I know, no OS yet checks for this, and even if they did, I
        don't think they can know anything beyond the fact that they are running virtual,
        the real hardware is in another universe...
        • Not a miscommunication

          A small test I just did revealed that the activation prompt comes up, even on the same system. I asked VMware about this and here's what they said:

          "There's no trick to suppress the reactivation in Windows. Windows has certain ways to detect whether it's being installed on new hardware, so if it detects this, it will prompt for reactivation. VMware advises customers to see and treat virtual machines as they would treat physical hardware, so normal software policies/licensing rules apply."

          So, right now, I have no evidence to demonstrate that clones of VMs can be moved (or even re-run on the same system) without triggering activation.

  • How's battery life with those VM's?

    Doesn't running everything in a VM on a tablet kill your battery life? While VMs are great for desktops, I can't imagine that you'd be mobile for very long with the extra processor utilization that goes along with running in a VM.
    • I noticed today...

      That the power management of the host takes control. For example, I was setting up a test VM (to try out next week's giveaway) and I walked away from the X60 for 10 minutes and I came back to a sleeping tablet. The VM wasn't very busy. I need to do some testing here, so I cannot say for sure what the impact will be on battery life. But, once I'm in the finished environment I want to be in, if it means sacraficing some battery life, there's a chance I'll gladly take that scarifice (as long as it isn't toooo bad). But it's a great question that only time will answer. Long term (a subject for another blog), my sense is that all software will run in dedicated VMs and any interfacing between software products will be through XML Web services across a "network" that connects the VMs. In other words, XML Web services will replace ActiveX and/or other proprietary integration interfaces. How can this not be the future?

      • Power Failure Shutdown

        Since you are using a tablet PC, this probably is not an issue, but I'll ask the question anyway: Have you configured anything in the Host OS to notify the various VMs to shut down when there is a power failure detected by the host OS?
      • XML Web Services

        It is an interesting approach as long as the overhead of parsing the messages doesn't kill performance. As performance increases on home computers we could reach the point where the performance hit is negligable even for parsing large xml payloads, but I don't think that is the case today.

        Regarding the battery life, I'm very curious to hear about your results. I've thought about running vms on my laptop, but I always assumed that the hit on my battery life would be too large to live with.

        I recall installing VM Ware server on an old Athlon XP 1800+ desktop with 768MB of RAM to play around with various OSs and the poor processor sat at 100% utilization anytime I did anything. That kind of made me decide not to try it on my laptop which has a Turion64 processor.
  • VMware video playback for the Mac

    I'm a developer at VMware and I worked on the VMware video codec.

    In order to playback videos recorded by Workstation in Final Cut or other QuickTime-based apps on the Mac, we'd need to implement our video codec as a QuickTime plugin. This is theoretically possible but we haven't done it yet (mostly because nobody's really asked for it yet).

    The codec is fully documented here:

    There is an open-source implementation of our codec using the ffmpeg and GStreamer framework available for Linux. In theory, anyone could write a QuickTime plugin which implements the codec.

    For the curious, the video codec is not a standard MPEG-2 or h264-based encoding. It's a custom codec that's basically a derivative of the VNC format, with custom extensions to do more efficient encoding of various common graphics operations as well as "time compression" (which allows us to record smaller videos by dropping all the frames during which nothing happened).
    • mencoder file conversion ....

      You can convert the video to mpeg, avi, wmv, mp4, mov or a host of different file types. Open source mencoder is available for Linux, BSD, OSX, and binary versions for XP are available, just Google. The command line string would be the following:

      [b]mencoder -of avi -ovc lavc input.avi -o output.avi[/b]

      Tested and works perfect under Linux 2.6.20-16. You can now import the file into Final Cut without any problems.
      • Help with mencoder..

        so, we'd love to get mencoder working on our OS X (intel) system. But the documentation for installing it leaves much to be desired. if anybody wants to help us with a walkthrough, we'd greatly appreciate it!

        • Install Mplayer instead ...

          When you install Mplayer you also get mencoder. Download from here:

          **MPlayer OS X 1.0rc1 is binary, [b]NOT[/b] source.
          • We did that once...

            but couldn't see how to access mencoder. We didn't see it in the menu structures. Nor did we see any reference to it in the system. Any clues?


  • Exposing battery information to the guest

    One thing that may come in handy if you're running a VM on a laptop:

    Under Virtual Machine Settings -> Options -> Power, you can check the box labeled "Report battery information to the guest".

    This will cause the guest to see a battery which mimics the exact state of the real battery on your host. The advantage of this is that any guest-level power management software which e.g. scales back CPU usage when running on a laptop should kick in automatically.