Virtualizing Vista

Virtualizing Vista

Summary: One of the best ways to test a new (or old) operating system is to install it in a virtual environment. Instead of messing with physical hardware, you create virtual disks, run processes on a virtual CPU, test what happens when you add some virtual memory, and save the whole thing as a file that you can restore in a few minutes.


One of the best ways to test a new (or old) operating system is to install it in a virtual environment. Instead of messing with physical hardware, you create virtual disks, run processes on a virtual CPU, test what happens when you add some virtual memory, and save the whole thing as a file that you can restore in a few minutes.

I've been running various builds of Windows Vista in virtual machines for months now, but not without a lot of pain. And recent builds have been particularly troublesome.

Windows Vista RC1 installs and runs just fine on Microsoft's free Virtual Server 2005 R2. It also reportedly installs and runs on VMWare Server, although I haven't personally tested this combination.

But if you try to install any recent build of Windows Vista on VMWare Workstation, you'll be stymied. The opening setup screens appear, but the system appears to hang when it reaches the end of the text-mode "Windows is loading files..." screen.

Joel Spolsky thinks it's a dirty trick:

If I were VMWare I'd be pretty ticked off at Microsoft right now; since Microsoft makes a competitive product, Virtual PC, it is Highly Suspicious that they come out with a major new test release of an operating system that just happens to not work on VMWare Workstation, something which is practically the de facto standard for developers testing new operating systems. Shabby and slimy, Microsoft. They're probably testing Windows Vista with tens of thousands of applications; not testing with VMWare is inexcusable.

Actually, there's a more prosaic explanation. as this post from a VMWare representative on their support forum explains. The culprit is a combination of two changes in Vista, one in the way the BIOS is addressed during setup, the other because VGA (640 x 480) support is no longer available. Either change by itself would be no problem. Together, they make it impossible for VMWare to switch to the correct display mode during a crucial early part of setup.

So is this really a "shabby and slimy" trick on Microsoft's part? I doubt it. If so, Microsoft's developers are playing dirty tricks on themselves as well, because I was unable to install any Vista build between Beta 2 and RC1 on Microsoft's Virtual PC 2004. And as it turns out, there are quite a few workarounds for creating a virtual machine in VMWare Workstation. You can create the VM using VMWare Server and then use that machine in VMWare Workstation. Or you can add these two lines to the configuration file (.vmx) for the VM, as many VMWare users have reported on the support forums and as Joel explains in his post:

svga.maxWidth = "640"
svga.maxHeight = "480"

After I made this small tweak, I was able to install Vista RC1 as a guest OS in VMWare Workstation with no problems.

Meanwhile, I strongly recommend against trying to run any version of VMWare on Vista as a host operating system. When I tried it over the weekend, I ended up with a badly broken network and eventually Vista crashed with a PFN_LIST_CORRUPT STOP error. That's not surprising: VMWare adds several unsigned kernel-mode drivers and two additional network adapters, and Vista has a completely rewritten network stack. Fortunately, everything returned to normal when I uninstalled VMWare Workstation.

The tension between virtual environments and new operating systems is constant, and it's particularly acute when an OS contains as many fundamental changes as Vista does. For now, at least, the best option for developers and IT professionals who want to use Vista and VMWare together is to run VMWare (Server or Workstation) on a fully supported host OS - Windows Server 2003, Windows XP, or any of a gazillion flavors of Linux and install Vista as a guest OS only.

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
  • Irony

    And here only a few weeks ago you were torqued off because of the difficulties in getting Ubuntu to run as a VM.

    Stuff like that happens often enough to me to keep me wondering if the Universe isn't one big practical joke -- on us.
    Yagotta B. Kidding
    • Not really

      "Torqued off"? You really, really, really have a selective memory.

      <p>The issue was that in order to install VMWare Tools in Ubuntu, I had to do a manual installation using a series of cryptic commands in a terminal window. Once I got past that hurdle it worked pretty well. You can go <a href="">refresh your memory</a> if you want.

      <p>I test all sorts of operating systems in VMWare. Many of them have issues, major or minor. In the case of Ubuntu, the issue was about software installation and had almost nothing to do with the virtual hardware, which worked very well.
      Ed Bott
      • More difficult than

        say creating a .vmx file and adding the somewhat cryptic:
        svga.maxWidth = "640"
        svga.maxHeight = "480"

        I guess at least you could use Notepad instead of the terminal window...
        Robert Crocker
        • You don't have to create a vmx file

          It's created automatically.

          I agree it's a hassle to have to edit that file manually. I presume that both Microsoft and VMWare will fix this problem in updates to both products.

          And if you go back and read the referenced article (I provided a link) please tell me you think the procedures are comparable. If I had only had to edit a text file to install VMWare Tools in Ubuntu, I probably wouldn't have mentioned it.
          Ed Bott
          • Familiarity breeds contempt

            By now the idea of "right click on the desktop and select properties, then the settings tab" to get resolution change in Windows is old hat to you. It's certainly not intuitive to the occasional user.

            Meanwhile for me when I have an X-windows resolution problem I know in SuSE that I have to exit out of X-windows and run sax2 to reconfigure the max resolution for X-windows before I can go higher.

            Yes things were a little tougher for you in Ubuntu but I'd suggest that its related to your overall unfamiliarity with Linux versus any actual deficiency in how things are done in the Linux world.

            (Some of the extra steps that you listed such as the part with uname -r are related to choices like installing linux without developer header files [not necessary for basic run-time but required for things that are really getting into the kernel nitty-gritty like VMWare does].)

            As for why VMWare doesn't provide those header files it is because they aren't limiting which kernel version (and options) you are installing the first place.
            Robert Crocker
          • "Exit out of X-Windows and run sax2"

            I submit that that requirement alone disqualifies 98% of business-oriented PC users.
            Ed Bott
          • Exactly why?

            First off.
            While maybe the majority something above 50% may just be simple end users and not be aware or interested and therefore have little need or ask for assistance if needed. I don't know why you try to promote the lowest common denominator as a desireable virtue.

            Second to be an advanced user, admin or tech it would be beneficial if not necessary to be at least aware of the fundamentals or "nitty gritty". How many casual Business users will be installing & setting up Virtualization?

            In Linux if the range of resolutions are setup properly in X to start of with, then they will be available with a right click > Configure Desktop (KDE) or Ctrl & Alt & + or Ctrl & Alt & - .

            If not and you need to modify X further you can edit the file directly. then restart X with Ctrl & Alt & Backspace and relogin.

            How many casual business users know how to use MCC?
            Why bring up casual business users at all in discussing a more advanced issue...are not those that come here more aware and interested in the nitty gritty of any system?
          • Nothing to do with virtualization

            Sorry, but any operating system that requires me to "exit X-Windows" and run a console utility to set graphics resolution is not ready for mainstream business use.

            That's not lowest common denominator, that's just business sense. Ask any Linux developer if they would prefer to have a system where users could perform that task with a click of a button, and they would say yes.

            Shessh, this shouldn't even be a debate.
            Ed Bott
          • Shessh....

            Not really even an issue if X is set up properly....
            a couple of mouse clicks or a keyboard command....

            If not properly set up it can quickly and easily be corrected, and only have to be done once and never again.

            Most modern distros with modern hardware will automatically do this correctly, but if you need to modify something for some reason. it is far more accessable than modifying the registry.

            You do not even have to go to a console (why be afraid if it is useful) just edit xorg.conf or use sax2 (Suse)or other Admin tools. and restart X or Reboot.....

            Not difficult just different.....
            Linux is ready... Most peoples awareness and understanding are not.... no wonder.... You should know better....

            And again What do casual business users have to do with setting up Virtualization? Is that not more of a tech issue?
          • Did you actually read the links?

            The command lines in question work the same on physical hardware and on virtual hardware. It has nothing to do with virtualization. I had to open a console window and enter command line changes to adjust the resolution to the display's native resolution on physical hardware.
            Ed Bott
          • sax2?

            On Mandriva - using KDE, you can change the resolution in a GUI in at least 2 places:

            Change desktop configuration
            Change system configuration

            You would of course have to stumble the first time or two you do it - getting used to where it is.

            Sometimes you do have to log out and log back in to change resolution - but you can also change resolution "on the fly" using the CTRL-ALT-+ or CTRL-ALT-- keys. Works GREAT!
            Roger Ramjet
      • Oh noes!

        [b][i]I had to do a manual installation using a series of cryptic commands in a terminal window. Once I got past that hurdle it worked pretty well.[/b][/i]

        You mean you actually had to read documentation?

        We cant have that happening in a technical industry.

        It amazes me how much people are forgetting about cli, and relying too much on gui interfaces.
        • If the commands had been in the documentation

          It wouldn't have been a problem.

          But they weren't, and it took a good half-hour of searching to find out how to accomplish that task.

          So when you say RTFM, you really need to make sure that there's an M to R.
          Ed Bott
  • RANT - conspiracy theories are a waste of time - RANT

    they are just lame, don't you have better things in life to bitch and moan about? Why must you bitch about everything?

    **Why are computer people so negative, un-trusting and old-school**

    I need to ask a higher power to help me deal with co-workers (I deal with techies in my career and I don't want to come home downtrodden and negative when it's time to see the wife and kids). People - seriously, its about perspective, and glass half full... think about the drive FOR trust, not the lack of it (SSL certs, etc).

    think of the need for CO-OPERATION instead of a PARANOID mindset "us versus them". You're creating a cultural SICKNESS by perpetuating a negative mindset. computer people are SMART, now they have to be leaders in another sense to make a better working and living life.
    • Who are you ranting at?

      Ed Bott
  • Message has been deleted.

  • Message has been deleted.

  • Message has been deleted.

  • VMWare Support
  • Vista RC1 & MS Virtual PC 2004 SP1

    < I was unable to install any Vista build between Beta 2 and RC1 on Microsoft's Virtual PC 2004>

    I was able to install Vista RC1 on MS Virtual PC 2004 SP1.

    I downloaded the Vista RC1 .ISO file. I then installed the MS Virtual CD-ROM Control Panel (freeware available from MS) on the host and configured the .ISO file as a CD/DVD drive.

    In VPC, I allocated 512 MB of RAM to Vista and used the default virtual hard disk size. When I booted into the new Vista VPC, I directed it to use the drive letter on the host containing the .ISO image. The install then went without any problem and the SP1 "Virtual Machine Additions" also installed correctly.

    I find Vista to be a horror, though. It's painfully slow under VPC 2004 with 1 GB of RAM allocated to it now. The RAM is not the problem. It's the graphics engine, that's painfully slow to refresh screens, and the services, of which there are far more enabled by default than under Windows XP. (Many of the services are unnecessary for most users.)

    Under VPC 2004, the sound doesn't work (not an issue for my testing) because VPC emulates an ISA sound card and Vista isn't backwards compatible with ISA. (Vista isn't compatible with a lot of hardware that continues to work just fine. The Adaptec AHA-2940UW SCSI card is a good example.)

    Not to mention the bugs. (Try disabling Windows Defender without seeing an error message at every boot.)

    Based on what I see under Virtual PC 2004, Vista will be a headache for many users because of its need for processor speed to handle the services overhead.

    I have yet to find a single tangible advantage. (I don't need to upgrade my OS to look at new wallpaper -- I get no kicks from eye candy.)

    regards, Andy