Why you should try VMWare's free virtual machine runtime

Why you should try VMWare's free virtual machine runtime

Summary: Virtual machine (VM) technology has been around for PCs for a long time.  For me, it's been one of those technologies that I've heard about, wrote about, and even seen in demonstrations for almost as long as I can remember.


Virtual machine (VM) technology has been around for PCs for a long time.  For me, it's been one of those technologies that I've heard about, wrote about, and even seen in demonstrations for almost as long as I can remember.  But it wasn't until I recently started acquainting myself with VMWare's Workstation 5 (in the course of trying to simplify my testing of Windows Vista) that I've become so sold on VM technology that I can't imagine being without it.  Now that VMWare has announced that it's virtual machine "player" can be freely distributed to any system, I'm even more convinced that this is a technology that no system should be without.  Here's why.

vmwarepullquote.jpgWhen I finally get around to wiping and refreshing my everyday system (something I have to do because it's littered with all sorts of junk and buggy stuff that I can't seem to get rid of), the first thing I'm going to install before installing any applications is VMWare Workstation 5.   Then, when I install my applications, I'll be looking to install them in separate VMs, each of which will be running a distinctly separate copy of Microsoft's Windows XP.

To someone who has never been exposed to the power of something like VMWare's Workstation software, the idea of doing what I just described seems entirely unnecessary. VMs for workstations have typically been the domain of software developers.  Software developers like using VMs to run separate instances of their operating systems so they can turn a single computer into a full blown network for developing and testing the deployment of the software they're writing.  

For example, in one virtual machine is the developer's regular production system where they run all of their personal applications (e-mail, word processing, etc.).  In another virtual machine is a copy of Windows with Visual Studio.NET where they develop the Windows-based versions of their applications.  In a third virtual machine is a copy of Linux with Eclipse for developing the Linux-based versions of their applications.  Then, in a fourth virtual machine is a Linux-based or Windows-based server that will host the server-side that the Linux and Windows-based software be developed will talk to.  And then, there are two more virtual machines -- one Linux-based and one Windows-based -- for testing the newly developed software as well as the deployment tools for distributing it onto a corporate network.   That's six distinctly separate virtual machines, all on one system, that can talk to each other as though they're separate systems on a network.

So, why does it make sense for an ordinary user to have this sort of industrial strength on their systems?  Well, even before getting to the security benefits of running multiple partitioned operating systems on one computer there's one benefit that everyone will love: the ability to start over with a pristine copy of Windows with just a few clicks.

In my life, I have never met anyone who hasn't either wiped their system clean in order to restore it to its virgin state (unpolluted by who-knows-what) or who wanted to but was too scared to do it. Indeed, such wipes and reloads are daunting tasks.  But if you ask most users, they're usually able to give you an approximation of when the system was working perfectly and when things started to go downhill. It might have been when you loaded that shareware.  Or, even right after something as simple as visiting a Web site.  So, imagine if you could restore your system to that point that it was working perfectly, application software and all, with just a few clicks.  That is just one benefit of virtual machine software like VMWare's Workstation. 

Here's an example of how it works.  Once you've set up your pristine virgin copy of Windows in a VM (let's name it "FreshWin") with all the necessary security patches and some base applications (eg: your favorite Web browser) that you know to be trouble free -- before doing anything else -- you make two clones of it.  With VMWare, cloning an existing virtual machine is child's play.   Name one "CleanWork" and the other "CleanPersonal".  Then, leaving the original VM that started with alone, you take the Work clone and load your just your work applications onto it.  Be sure to start with the ones that you think are the most stable and result in the least pollution of your system.  Between the installation of each work application, use Windows' System Restore feature to create Restore points so that, in the event that you run into an application that's screwing things up,  you can restore that CleanWork to a known, relatively unpolluted and working state.  Then, make a clone of that and call it "ProductionWork" and repeat the process with the Personal clone using the applications that you run for personal use and call it "ProductionPersonal." 

Now, not only do you have two relatively clean production "systems" that can run side by side without ever interfering with each other, if either of your production systems gets to that unsuable point, you grab what you can off the polluted VM (data, etc.),  delete them (takes one right-click in VMWare Workstation), and with a couple more clicks, make new clones of your clean versions.  Of course, at any point, if you need to update the clean versions -- perhaps with new software that you know to be healthy or with security updates -- you can.

But wait, it gets better.  For those of you that are paranoid about some spyware getting onto your system and stealing your identity or your e-commerce credentials, have you ever wished that you could make that next online purchase with a brand new system, right out of the box? One that's virtually guaranteed not to have anything on it that could be compromising your privacy? One that can't interfere with anything else on your system (nor can anything else interfere with it)? Based on what I've just told you, your instincts might be to set up a VM that's for nothing but engaging in e-commerce.  But why not do what I do?  Go one step further by making a new clone of your original "FreshWin" installation, use that clone for an online purchase, and then, when your done, shut down the VM and delete it.   The, repeat the process for other e-commerce transactions.  Yes, this is an extreme.  But to some, it would offer peace of mind.  So, you use Quicken and worry about someone getting access to your banking records? No problem.  Set it up in a separate VM that runs nothing else but Quicken.  Perhaps now you're getting the picture. 

The Free Player
No matter how hard they've tried, one thing that businesses have had a really tough time doing is setting desktop standards.  The minute some company regression tests and standardized on an IBM Thinkpad T40, the T42 was out.  And, after some process error over in purchasing, the entire human resources department ended up with Dell notebooks.  Not to mention the top brass who refused to travel with anything heavier than a Sony Vaio.  Before you know it, any hope of setting destkop and notebook standards is out the Window.  VMWare Workstation has always held the promise to elminate that problem by creating a standard virtual machine (complete with all the necessary applications), the clones of which can be deployed to any Intel-based system. 

In this context, virtual machines give new meaning to the word "image."  Whereas before, you had separate images for your different Thinkpads, Dell notebooks, Sony notebooks, and whatever desktops, now, you have a single image and all you needed on all of those Intel-based system was a copy of VMWare Workstation.  Prior to making it's player available for free, a full-blown copy of VMWare Workstation cost $180.  But now, with it's player available for free, organizations are clear to create their standard clone(a.k.a. "image") with one copy of VMWare Workstation and deploy it to as many workstations as need be.

If VMWare's Workstation technology is so good, its move to make its player available for free begs the question of why in the world it would forego the potential $180 per workstation revenues.  I can see two reasons.  Even though I think virtual machine solutions would be great for just about anybody but gamers (incredibly sensitive to anything that could degrade performance) and people with special peripherals that may not be compatible with VMs, the primary target is the enterprise where, for VMWare there's bad news ahead: not only does Microsoft have a competing product (Virtual PC), it appears as though it will be included for free in at least one if not more versions of Vista (the next version of Windows) that also target enterprises. 

By giving it away the player now, VMWare could very well attract and addict enterprises to its solution before those enterprises have an opportunity to get hooked on Microsoft's Virtual PC.  Whereas VMWare may be foregoing revenue on the sales of its Workstation product, the opportunity still exists for the company to make money on companion products such as its Virtual Center (currently for managing server deployments of VMware, but could easily apply to workstations), VMware ACE (for securing workstation deployments), and P2V Assistant (for converting physical machines into virtual ones).  Like open source software companies, giving away the player also creates opportunities for VMware to make money through one of its support programs.

On a separate note, I haven't tried to get VMware Workstation working with the beta of Windows Vista yet. But I found a blog entry from someone who has gone deep on the idea.


Topic: VMware

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
  • One little problem

    I've been using VMWare for several years, but I have to warn users that the VMs do suck up RAM and the saved ones eat disk space.

    If you're going to run the VMs on top of a system that isn't used for much besides hosting VMs, I'd suggest using a stripped-down Linux system instead of MSWindows, precisely because you can reduce the amount of unnecessary "stuff" that's installed. That saves RAM and it also improves your overall system stability. Maybe even security.

    On a Gentoo system, a sufficient (but probably more than necessary) set of packages would be:

    $ emerge -pe vmware-workstation

    These are the packages that I would merge, in order:

    Calculating dependencies ...done!
    [ebuild N ] app-crypt/hashalot-0.3
    [ebuild N ] sys-devel/patch-2.5.9
    [ebuild N ] sys-libs/gpm-1.20.1-r4
    [ebuild N ] sys-libs/ncurses-5.4-r6
    [ebuild N ] dev-lang/tcl-8.4.9
    [ebuild N ] sys-devel/gnuconfig-20050602
    [ebuild N ] sys-devel/gettext-0.14.4
    [ebuild N ] sys-apps/sed-4.1.4
    [ebuild N ] dev-util/pkgconfig-0.17.2-r1
    [ebuild N ] media-libs/libart_lgpl-2.3.17
    [ebuild N ] sys-devel/m4-1.4.3
    [ebuild N ] sys-devel/bison-1.875d
    [ebuild N ] sys-devel/gcc-config-1.3.12-r2
    [ebuild N ] sys-apps/texinfo-4.8-r2
    [ebuild N ] sys-libs/zlib-1.2.3
    [ebuild N ] app-shells/bash-3.0-r12
    [ebuild N ] sys-devel/binutils-config-1.8-r5
    [ebuild N ] sys-devel/binutils-
    [ebuild N ] sys-devel/gcc-3.3.6
    [ebuild N ] sys-kernel/linux-headers-2.6.11-r2
    [ebuild N ] sys-libs/glibc-2.3.5-r2
    [ebuild N ] sys-libs/readline-5.0-r2
    [ebuild N ] sys-devel/flex-2.5.4a-r6
    [ebuild N ] sys-devel/bc-1.06-r6
    [ebuild N ] sys-apps/diffutils-2.8.7-r1
    [ebuild N ] dev-libs/openssl-0.9.7e-r2
    [ebuild N ] dev-python/python-fchksum-1.7.1
    [ebuild N ] sys-apps/sandbox-1.2.12
    [ebuild N ] sys-apps/debianutils-2.14.1-r1
    [ebuild N ] sys-apps/portage-
    *** Please update portage to the above version before proceeding.
    Failure to do so may result in failed or improper merges.
    A simple 'emerge -u portage' is sufficient.

    [ebuild N ] dev-lang/tk-8.4.9
    [ebuild N ] sys-libs/gdbm-1.8.3-r2
    [ebuild N ] dev-libs/expat-1.95.8
    [ebuild N ] dev-lang/python-2.4.2
    [ebuild N ] dev-java/java-config-1.2.11
    [ebuild N ] dev-java/blackdown-jdk-
    [ebuild N ] sys-libs/db-4.2.52_p2
    [ebuild N ] sys-apps/groff-1.19.1-r2
    [ebuild N ] sys-devel/libperl-5.8.6-r1
    [ebuild N ] dev-lang/perl-5.8.6-r6
    [ebuild N ] sys-process/cronbase-0.3.2
    [ebuild N ] sys-apps/man-1.6-r1
    [ebuild N ] app-admin/perl-cleaner-1.01
    [ebuild N ] sys-devel/autoconf-2.13
    [ebuild N ] sys-devel/autoconf-wrapper-3-r1
    [ebuild N ] sys-devel/autoconf-2.59-r6
    [ebuild N ] sys-libs/cracklib-2.8.3-r1
    [ebuild N ] sys-devel/automake-1.5
    [ebuild N ] sys-devel/automake-1.8.5-r3
    [ebuild N ] sys-devel/automake-1.6.3
    [ebuild N ] sys-devel/automake-1.7.9-r1
    [ebuild N ] sys-devel/automake-1.4_p6
    [ebuild N ] sys-devel/automake-wrapper-1-r1
    [ebuild N ] sys-devel/automake-1.9.6-r1
    [ebuild N ] sys-libs/pam-0.78-r2
    [ebuild N ] sys-apps/shadow-4.0.7-r4
    [ebuild N ] sys-apps/pam-login-3.17
    [ebuild N ] sys-libs/com_err-1.38
    [ebuild N ] sys-libs/ss-1.38
    [ebuild N ] sys-fs/e2fsprogs-1.38
    [ebuild N ] sys-apps/util-linux-2.12r
    [ebuild N ] media-libs/libpng-1.2.8
    [ebuild N ] sys-devel/libtool-1.5.20
    [ebuild N ] media-libs/freetype-2.1.9-r1
    [ebuild N ] x11-misc/ttmkfdir-3.0.9-r3
    [ebuild N ] app-arch/bzip2-1.0.3-r5
    [ebuild N ] x11-base/opengl-update-2.2.1
    [ebuild N ] media-libs/fontconfig-2.2.3
    [ebuild N ] x11-base/xorg-x11-6.8.2-r4
    [ebuild N ] sys-apps/file-4.13
    [ebuild N ] sys-apps/which-2.16
    [ebuild N ] app-arch/cpio-2.6-r4
    [ebuild N ] app-arch/rpm2targz-9.0-r3
    [ebuild N ] sys-apps/utempter-
    [ebuild N ] x11-terms/xterm-204
    [ebuild N ] sys-apps/pciutils-2.1.11-r5
    [ebuild N ] app-emulation/vmware-workstation-

    Maybe for grins I'll set up a VM with a blank Gentoo system and install just those. Shouldn't take too long.
    Yagotta B. Kidding
    • Yes, more memory more disk...

      but let's be honest. Memory and disk are dirt cheap these days (plus, you're now saving $180 per system with VMware's player). Given what you get in return, the investment will pay for itself. For example, if malware is contained to one VM, you just delete that VM. Obviously, with a zero-day worm, all of your VMs would be at risk, but viruses and spyware should remain relatively contained.
    • Unsetting some USE flags will cut that down a tad

      Certainly you don't need java or berkdb in your USE flags for that, and there must be some USE flag pulling in libart_lgpl because that's not necessary either.
      Michael Kelly
      • Oh, absolutely

        That list was just a plain run on my AMD64 desktop. As noted, I'm toying with building a bare-bones VM with nothing but VMWare just to see how big it gets.

        That, or maybe to be fair I'll set up a partition as a VM host. Either way, the USE list goes pretty near blank.
        Yagotta B. Kidding
  • One more little problem

    You overlook one serious problem with your scenario where you have multiple copies of Windows XP running in virtual machines. The problem is that if you have 4 VM's running windows XP, plus your host OS is also XP, then Microsoft wants you to buy 5 copies of XP - one for the host and one for each and every VM.

    This is spelled out in detail in Microsoft's documentation for their Virtual PC 2004 product.
    • Given Vista's inclusion of Virtual PC..

      at least in the enterprise edition, I'm guessing that Microsoft will have to relax that restriction for workstations as long as the VMs aren't used to create a poor man's Windows Terminal system. But, I *am* guessing. One thing that's very clear is that VMware Workstation is about the easiest way to bypass the Microsoft license key issue that I know of. Not that I'm suggesting it as a work around. This is probably one reason that Virtual PC will be included with the same edition of Vista that supports the Trusted Platform Module. With a TPM, it doesn't matter how many VMs you create... they'll probably only work with the system they were created on. I'm not sure how VMware will get around this problem for legitimate deployments en masse. Perhaps someone from VMware can comment.
      • Don't end-users have to respect MS license's

        The legitimate deployments en masse problems belong to the end users doesnt it? VMware can't control that. The end-users that create images with a Windows OS installed should get the proper licence from MS.
        As George Ou suggested in another blog, MS should work out something to make it easier for end-users to deploy virtual machines or Linux would be used instead of Windows. This takes the livecd concept in Linux to a higher level, since you can run multiple virtual machines simultaneusly.
  • Good advice

    So far, the article and both comments are full of good advice. My own experiences with VMware Workstation hosted on Linux running a few non-graphical Linux clones matches what others here have said.

    I hold out hope that Xen (open source VM software) will eventually either become an effective replacement for VMware or at least help drive down VMware's cost. The free player is a nice start.

    The person who mentioned Windows licensing issues is right on target. It's really easy to get used to clones and end up making a half dozen or so for experiments.
  • VMWare's the only way to fly

    All our Windows servers run in VMWare on Linux hosts. If, or more likely, when they get hacked, infected, or totally hosed by a buggy MS service pack we can have a backup copy of the server back on line in minutes.

    I'll never run Windows directly on hardware again.
    • Question regarding server config


      What is the best way to configure the base system, i tried it and was wondering what to do with the file thet VMWare creates to save the vm machines into. If I remember correctly it was in /usr/share/vmware/vmmachine. This was on a Debian build.

      I havent touched it since then but would like to know where to put the virtual machine folder as I was thinking of using the raid 5 array containing the data share. That way you dont fill up the boot partition.

      I would be interrested to know how you configured your servers.
      • It can go anywhere

        VMWare is "smarter" than that. You can put the VM directory anywhere you like; I have them both in ~/vm/ and in /local/vmware/ (the latter being local to one machine and not backed up -- throwaways, but fast.)
        Yagotta B. Kidding
        • Thanks

          I will give it another try, i did make a change and use a different folder when i did it originally but have to check it again. I also had and issue with my cd rom which has been repaired and havent touched it since.
    • Great for labs

      VMWare guests take a brutal beating in I/O performance. I prefer making Ghost image backups of my production systems.
      • Not necessarily

        George the whole idea for vmware is for systems that are very high spec. Especially the server side, you have to overapec it in processor and RAM to get the performance.

        For developers it will be just as good but you need a very high end system to be able to get the benefit. Dont think you can stick it on a standard desktop and get away with it as the performance is very poor.
      • "I/O" is too broad

        My benchmarking shows that the VMs have minimal overhead on network performance (makes sense) and in some cases actually run [i]faster[/i] than native on filesystem performance -- but that's with a Microsoft guest on top of a Reiserfs host.

        Graphics, on the other hand, sucks. Text is OK, but the vmware display driver is pretty primitive.
        Yagotta B. Kidding
      • And for teleworking

        Since we are not supposed to have client information on our machines (in case they are stolen), putting the VM disks in R/O mode makes sure that I never save anything to my local drive (it is gone after shutdown).

        The other nice thing is that I can run ethereal on my host OS (Fedora Core 4 in my case) and snoop the data streams. That way if my Windows Virus scanner doesn't detect a new virus, I can see and investigate the connections being made from the Windows VM.

        Being able to put the VM in Read Only mode REALLY makes me happy. That way I can surf the web without having to worry about potentially infecting the other machines on my home network (all network surfing id done from VMs, and the home based OS is Solaris or Linux).

        Since I track all network connections, I also know where my kids have been surfing and can offer guidance in the event they stray into places that I deem they should not be in. I do run filters as well, but kids are pretty crafty when it comes to surfing.

        When they are playing games, their machines are on a completely different subnet that is not allowed outside.

        VMware, best thing ever.

        Oh, and for $280.00 Canadian, I just upgraded my 32 bit AMD 1400 Processor and Motherborad to a 64bit AMD Sempron 2500 and 1 GB RAM. So the platform costs are still low and the VMware speed is on par with the machine I have in the office.
    • Can't Live Without

      I have been using VMWare for several years now, and I would not even want to try to do without it.

      I have virtual machines on all my computers. The only problem is WinXP and Server 2003 do not like to change base computer configurations. (ie Pentium III to Pentium IV, or even different Chipsets).

      Although I have had no problems with Win2k and many different versions of Linux/Unix even back and forth from AMD to Intel.

      I usually set up 4gig machines that easily back up to DVD-RW.
  • Another problem with VMWare

    I love VMWare as a developer, but your suggestion that home users employ it is ignoring the fact that more and more users are getting into not only gaming (which you mention), but home video editing, music, and all sorts of other multimedia uses. Many of these users are buying powerful video and sound card.

    VMWare, like Virtual PC, is limited in its support of these cards. Heck, for a while, they didn't even support USB very well. Even if I had 3 gigs of RAM and unlimited HD space, I wouldn't want to use VMWare for video editing, because I'd be working with VMWare's emulated generic video card.

    On another note, working in a VMWare session can be kind of slow, especially on laptops, which, I'll remind you, are outselling desktops these days. Laptops don't always have the capacity for the same amount of CPU speed, RAM, and HD space, so that diminishes the performance, as well.
    • vmWary now

      I was excited about running VMWare until reading this post. Someone please educate me: Why would VMW need to concern itself with support of video cards, usb, etc., if it's job is to "just" host the operating system? Won't the OS (that VMW is hosting) still handle the video card and usb, etc?
      • No, it won't

        No. A virtual machine, weather its VMware, Virtual PC or whatever, emulates a real, hardware computer. For example, if I open the device manager in virtual machine running windows xp, I will see a list of hardware that is being emulated and it will be totally different from the real hardware in my system.

        For example, my real video card is an nVidia GForce 6800 based AGP card. But the virtual machine thinks its running on a "VM Additions S3 Trio 32/64" (this is virtual PC but other virtualization software works the same way). So, if I want to play a game, do video editing, etc, if I do it on the virtual machine, I'm trying to do those tasks on an ancient piece of crap rather than my relatively recent GForce 6800.