Friday, August 3, 2007

Virtualization: Running Ubuntu and WinXP in WinXP

I had been through a number of difficulties in my attempt to install Windows XP. After what finally seemed like a successful installation, I found that I was still having problems with blue screens of death (BSODs) and that I was still unable to make some hardware work. A crucial piece of nonworking hardware was the Canon MF5730 scanner, and that was ironic: one of my reasons for stopping a previous effort to use Ubuntu Linux was that I could not use Adobe Acrobat in it. So now, as far as scanning was concerned, I couldn't use Acrobat in WinXP either. As far as Canon's very helpful tech support people could determine, the problem in my system was a Windows problem, not a Canon problem. Acrobat was not the only thing that encouraged me to keep a Windows installation going. There were other pieces of software and hardware that appeared likely to require me to try again with a Windows XP Professional installation. But I was unhappy with the enormous amount of time it had taken to troubleshoot Windows issues. I was also disappointed that my new, more advanced motherboard, RAM, and CPU still could not run Windows in a snappy, responsive way. Ubuntu on my laptop was actually faster than WinXP on my desktop. So I thought that, this time around, I would try to make it a minimal Windows installation, and see if I couldn't use Ubuntu, within that Windows installation. The goal would be to become more proficient in using Ubuntu for various needs. I considered using Wubi for this purpose. CNET said that it made Ubuntu readily accessible as a program running inside Windows. The scenario, in that case, would be that I would reinstall Windows; I would add Wubi to it; and then I would install programs as needed. Where possible, I would install them in Wubi; but if necessary, I would install them in Windows. This, I thought, might help me get my work done, and would also make it easier to transition to Ubuntu, which seemed likely to be my long-term direction. Problem: Wubi did not appear to be ready for prime-time. CNET's page contained some negative ratings; 12 voters gave it only 3.5 out of five stars. Moreover, it did not appear to be very widely used yet. There was talk that it might be included in the next version of Ubuntu, but I needed a working system now. As an alternative, I thought I might try using VMware again. I had previously played with VMware for this purpose, based on wide impressions that it was a solid performer. That time, however, I was trying it as a way to run Windows within Ubuntu. Now it seemed that I might do it the other way around. One advantage of this approach was that I already had this whole complete WinXP installation sitting on my computer. If I could make a VMware virtual machine out of it, then I could run it within my new WinXP installation as needed, without larding down that new WinXP installation with the problems and sheer weight of this existing installation. If the virtual machine crashed, I would tinker with it, without the delays and problems involved in a crash of the host system. I also had a working Ubuntu installation on another drive. I thought that, if I could make a virtual machine out of that as well, I would be all set to run either operating system within a much simpler, hardware-oriented WinXP system. But VMware Converter (Starter edition, free, as distinct from Enterprise edition) did not speak Ubuntu, so I could not use it to make a virtual machine out of that Ubuntu installation. I could, however, download a free virtual machine appliance, as VMware called it, containing a complete canned Ubuntu installation. At that point, they were only up as far as version 6.10, with the dorky name of "Edgy Eft," from autumn 2006; but it was Ubuntu, so I downloaded that and held onto it, to see if I might be able to use it. As I looked into the matter more, reading my previous post on virtual machines, I thought that perhaps I should also reconsider Microsoft Virtual PC 2007. It was designed to run assorted operating systems inside Windows. It sounded like you would install Windows, install Virtual PC, and then open up an empty virtual machine and install your operating system inside that. One important drawback was that it wasn't clear whether you could import an already existing Windows installation (much less an Ubuntu installation) into a virtual machine. That is, it seemed I would have to create my virtual machines from scratch. In any case, I was eager to be less reliant on Microsoft. It seemed that, if I created a virtual machine in VMware within Windows, I would probably eventually be able to run it in Ubuntu in a way that would satisfy me (as newer versions of Ubuntu came out); but I doubted that a virtual machine created by a Microsoft product would ever run on anything other than Windows. I thought about trying to install Windows XP Professional x64 (64-bit) as my host operating system. A reason for doing so, as discussed in a previous post, would be to enable access to RAM above 2.7GB. But because I understood that x64 had less than ideal hardware support, and since hardware was a crucial consideration, I decided to make regular 32-bit WinXP my host operating system. (The VMware Guest Operating System manual made it sound like 64-bit guests could be problematic; also, there didn't seem to be any point in installing a 64-bit guest that would be constrained by the limits of the 32-bit host.) So after I had created the virtual machine containing my old WinXP installation, I deleted that installation from my drive and constructed a basic, hardware-oriented WinXP 32-bit installation. Once that was in place, the next step was to set up the VMware layer, using the free VMware Server for Windows. Earlier in the day, I had already used VMware Converter to create a virtual machine of the previous Windows XP installation. It went very smoothly. Actually, I had done it twice. The first time, I did not tell Converter to use the minimum amount of disk space, so I wound up with a 50GB virtual machine. That took less than an hour. The second time, I did specify minimal disk space, and it seemed like that took longer. My plan now was to run two virtual machines in VMware on Windows XP. One virtual machine would contain WinXP. In other words, I would use VMware to help me run an older, expanded Windows installation that had all kinds of programs already installed, but was showing signs of dysfunctionality; and I would also use VMware to help me run Ubuntu. My hope was that, in this way, I would be able to switch back and forth easily between WinXP and Ubuntu virtual machines, thereby making it easier for me to make a gradual transition to Ubuntu. So I began to install VMware Server on the WinXP base. First, I got an error message indicating that I needed to install Internet Information Services. This involved going into Add or Remove Programs > Add/Remove Windows Components. Next, I received a warning that "VMware Management Interface is only supported on Server operating systems. You may encounter some issues when using VMware Management Interface on this system." Countering that, however, I received some assurances that VMware Server would run on WinXP. Then, as the installation of Server progressed, I received this:

Warning 25300. The VMware Management Interface Website was correctly configured but failed to start. The site will have to be started manually from the IIS configuration console.
where IIS was short for Internet Information Services (above). I found no hits on a Google search for phrases from this message. I hoped it didn't mean much, and I kept going in the installation process. Installation completed, and nothing happened. So I went to Start > Programs and started VMware Server Console. It was just me, so I specified "Local host" when asked. I found myself at the Console's main screen, where my options included creating a new virtual machine or opening an existing one. I chose the latter and browsed to where I had stored my newly created WinXP virtual machine and opened it. Console reported that the machine's status was "Powered off." The available commands were to edit its settings or start it. I have reviewed some of the available settings in my previous post on virtual machines. I will say, though, that my skills at refining my Ubuntu workspace were not nearly as good as my skills in Windows, so the look and feel of VMware in WinXP, now, was better than it had been in Ubuntu. At this time, I had not succeeded in resolving a driver conflict on the underlying XP system. That conflict had to do with sound. VMware picked right up on this and informed me that there was an "Error 2 opening default output sound device" and that therefore "Virtual device sound will start disconnected." So this confirmed what I had assumed, but had not seen explicitly stated in the materials I had reviewed: the hardware possibilities in the virtual machine could not exceed those in the host. A guest operating system would not look beyond the host to make use of perfectly good sound hardware that, for some reason, the host was not able to see. I clicked through that and the VMware window opened, with my old desktop inside it. At the bottom of the screen, it said, "You do not have VMware Tools installed." I clicked on that old desktop and immediately my cursor began to function very poorly. I pressed Ctrl-Alt to release the cursor and decided to install VMware Tools, if I could find it, since I had read that it would substantially improve graphics performance. I didn't know where VMtools were. At the VMware Server Virtualization Products page, they said that Server included Tools. I went back to the Server download page and noticed that, in addition to Server itself, it was also possible to download "Drivers and Tools" and "Open Source." But the Tools they had in mind, on that separate Drivers and Tools tab, were not "VMware Tools" per se; instead, they just meant that you could also download a Processor Check tool and SCSI Disk Drivers. It seemed that I had already downloaded VMware Tools when I had downloaded Server -- but where were they? On the Release Notes > Getting Started webpage, it said this:
If you use existing virtual machines -- either virtual machines created in a different VMware product or virtual machines created in an earlier release of VMware Server -- install the version of VMware Tools included in this release (VM > Install VMware Tools) for enhanced performance of guest operating systems.
On the VMware Server Console's menu, I saw VM, and proceeded as they said. Apparently I would have to do this with each guest operating system that I ran, and possibly each time I ran it: their message said, "You cannot install the VMware Tools package until the guest operating system is running." I clicked to install. It seemed that nothing happened. The message at the bottom of the screen still said I did not have Tools installed, and the cursor still functioned very poorly inside the Console; but VM > Install VMware Tools had now been replaced with VM > Cancel VMware Tools Install. So apparently I was in the middle of a Tools installation. I looked for an explanation. In the Console, in VM > Settings > Hard Disk, I noticed that Server was calling my SATA drive a SCSI drive. So it appeared I might need the SCSI driver mentioned above. I downloaded that. It was a *.FLP file. I could not figure out how to install FLP files, and there were no instructions. In a "" forum posting, I found one cryptic explanation that said, "Remember: when you install an xp prof client you should use a particular SCSI driver that is vmscsi- and pass it before installation pressing F6 key at cdrom startup." I tried looking in the VMware Knowledgebase for flp and F6 and found nothing. I tried to get into their Communities but wound up at a page where they wanted me to join a Local User Group. I tried again and found their Forums, also under the Communities heading. I went into the VMware Server forum and searched again for flp and F6. This produced four hits, none of which was too relevant, and none of which was the wmware posting mentioned above. I ran the same search in that site and got a total of two hits. These postings collectively intimidated me, in that they frequently referred to command-line techniques that I did not have time to master. But they also reminded me to see what the manual might say. So I went back to the Guest Operating System Installation Guide. It appeared that "install" meant installing from scratch, which was what I thought I might wind up doing with Ubuntu, later. For my preexisting WinXP virtual machine, however, I went to the VMware Server Virtual Machine Guide. (Both of these guides were also available in PDF form.) Introductory browsing in these guides suggested that the F6 approach might relate, not to the use of SCSI drives in a preexisting virtual machine, but rather when you were installing an operating system from scratch. Browsing further, a page in the Virtual Machine Guide told me to follow the instructions on the download webpage to install the SCSI driver. I again looked in vain for those instructions on that webpage. Dropping that issue for the time being, I returned to the Virtual Machine Guide's chapter on VMware Tools. This chapter told me that I was supposed to have gotten a splash screen when I started the Tools installation, followed by an option to launch the InstallShield Wizard. This hadn't happened, and I didn't know why not. I was pretty much stumped at this point, so I prepared to post a question in the forum. Then I remembered that I had not actually looked in the forum for Tools installation information, so I tried that. It developed that there were a lot of postings by people who had trouble installing Tools. I decided that Tools was not actually my first problem. My first problem was that I was not getting a full bootup of my guest WinXP operating system. I was getting my screen saver, but no Start menu or toolbar at the bottom of the screen. I looked in vain for something along these lines in the forum, and then posted my own note. Meanwhile, I had some actual work to get done, this being a Monday morning in a real world, and so forth. This actual work would entail using a word processor. I could have done that work on my laptop, where I was composing this posting, but the laptop was kind of retarded and I had a lot to do, and anyway I wanted to keep it organized on the desktop. So I thought I might try again, to see what would happen if I installed that Ubuntu 6.10 virtual machine appliance mentioned above. I couldn't easily figure out how to open that appliance from within Console, so I found the appliance download on my hard drive and double-clicked on its *.VMX file. This opened a second session of Console, with both the WinXP and the Ubuntu virtual machines shown under "Inventory" on the left side of the screen. I saw that both were also open in the first session, so I closed this second session, went back to the first one, and clicked on "Start this virtual machine." This one, unlike the Windows XP virtual machine, showed signs of life, as Ubuntu went through its bootup process. Ubuntu asked me for a ubuntu login. I had no idea what to type. I just hit Enter. That didn't work. I tried asdf. It asked for a password. I typed asdf again. "Login incorrect." I figured I might go back to the webpage where I had found this thing, in hopes of finding the answer there; but then I decided to just create my own. Part of the reason was that this login part of Ubuntu 6.10 was strictly command-line, unlike the much nicer GUI of Ubuntu 7.04. I felt that, if I was going to spend time installing an Ubuntu virtual machine, I should make it more up-to-date. So I right-clicked on the Ubuntu 6.10 entry, under Inventory, and said Close and then Remove from Inventory. Then, to start my new Ubuntu installation, in Server Console, I selected File > New > Virtual Machine. This started the New Virtual Machine Wizard. It was prepared to set up a specifically Ubuntu Linux machine (along with numerous other flavors of Linux). I designated a 20GB space for it. Back in Console, I selected "Start this virtual machine." It reminded me that I did not have Tools installed, so again I selected VM > Install VMware Tools. It told me that I would have to wait until the guest operating system was running. Separately, I got an error message saying, "No bootable CD, floppy or hard disk was detected." At this point, I had to take a break of several days. When I returned to this project, I retraced the steps described in the previous paragraph. This yielded a message reminding me that there was already a virtual machine named Ubuntu, and did I want to create another one? I backed out of that and, on the Home tab of Server Console, I selected Open Existing Virtual Machine. But this gave me a message, "There are currently no virtual machines available in the Inventory." I went into Host > Settings and changed the default location for virtual machines. I still had to browse from that folder to the subfolder containing my newborn Ubuntu virtual machine. I wound up back at the previous paragraph's message about a bootable CD, so I inserted an Ubuntu 7.04 bootable CD, right-clicked on Console's Ubuntu tab to close it, and again proceeded to open an existing machine. But this just put me back where I had just been. Looking further down on that tab's right-click context menu, I saw a Reset option, and I tried that. This gave me the Ubuntu CD's opening menu. I clicked on Start or Install Ubuntu, but nothing happened. Plainly, it was time to resolve that issue of my cursor not functioning properly inside Console. I returned to the message I had posted in their forum two days earlier. That message was as follows:
I'm running a WinXP Pro (32-bit) guest inside a WinXP Pro (32-bit) host on VMWare Server 1.0.3. (The host is a stripped-down version of XP with a focus on hardware; the guest, created through VMware Converter, is an unwieldy, hoary old monster, with a bazillion assorted utilities and other crapware, that is not necessarily the most stable thing you ever saw. My goal is to run it alongside Ubuntu, so as to ease the transition from A to B.) Or at least I'm trying to run that XP guest. In VMware Server Console, I get the desktop picture from the guest. Nice desert island. But it appears inside a thick black frame -- that is, it does not fill the Console screen. Also, there is no Start button, no toolbar, no system tray at the bottom. And when I hit VM > Install VMware Tools, I get no splash screen or other response. I thought this might relate to a SCSI drive issue. The host is running on a machine with a SATA drive. The guest was created on this same machine. VM > Settings > Hard Disk reports that this is a "SCSI 0:0" drive. I gather that there is a *.FLP file to be used with SCSI drives, but I can't figure out how to install that FLP file. Thanks for any insights ...
That message didn't draw any responses, but it still seemed to describe what I needed to know, so I looked around for some other source of insight. In the main page of the VMware Server forum, they had a link to an FAQs posting that was the better part of two years old. This posting was about GSX Server, rather than plain old Server, but I gathered that the forums for the two had merged -- which hopefully meant that the instructions supplied for one would work on the other also. There was a link to a page on installation of VMware Tools in GSX Server. That page pointed, in turn, to pages on installation of Tools in a Linux virtual machine or in a Windows virtual machine. The page on Linux said that I would have to install it in text mode, which I assumed meant downloading the Ubuntu alternative ISO. Instead, they said, I could switch to another workspace within VMware, but those instructions did not work for me; there was no response when I used Ctrl-Alt-Space as they advised. I seemed to have three problems: how to install Ubuntu, from scratch, as a guest operating system; how to make Windows XP run, as a guest operating system, after creating it by using Converter within a previous WinXP installation; and how, in each case, to install Tools. Since I wasn't making too much progress in the VMware forums, I decided to try the Ubuntu forums. I went to their Absolute Beginner Talk forum and searched for something of relevance. I wasn't finding it, so I decided to add a post. Their cool webpage conducted a search of the title I entered, there, when I was writing my post, as soon as I finished typing the title and hitting Tab. But the results of that search didn't match up either, so I posted my message, as follows:
I am trying to install Ubuntu 7.10 in VMware on Windows XP. My goal is to run the two simultaneously, so as to make a gradual transition to Ubuntu. But I am not getting too far in VMware. In VMware Server Console, I have reached the point of having an Ubuntu tab open, with the initial Ubuntu startup menu visible. This is the menu that begins with "Start or install Ubuntu," "Start Ubuntu in safe graphics mode," etc. When I click inside that window, my cursor dies. I can press Ctrl-Alt to bring it back to life. I am guessing that the problem, as reported by a status bar message, there in VMware Server, is that I do not have VMware Tools installed. I have looked at VMware's forum and have found my way to what seems to be their recommended Tools installation page, at That page relates to GSX Server, rather than plain old server. I am guessing that their FAQs point to that because the two function the same for these purposes. The page advises me to switch into text mode, but their instructions for doing so are not working for me. Basically, I want to install 7.10 in a VMware virtual machine, and do not know how to proceed. I will appreciate any tips that may help me accomplish this.
By midafternoon, I had two responses. One told me that I didn't need Tools until after I had Ubuntu running. The other recommended VirtualBox for a simpler solution. Since I wasn't getting anywhere in VMware, I looked at VirtualBox. Reviews at TechTarget, Liquidat, and Softpedia were positive; but what seemed to be a more careful look at this and competing products at InfoWorld gave VirtualBox the lowest score among four packages (the others were Microsoft's Virtual PC 2007, VMware Workstation (not the free Server), and Parallels Workstation. They said:
The product, unfortunately, is marred by numerous user interface bugs (the VirtualBox control shell tended to crash randomly), a cryptic error message format that left me scratching my head on more than one occasion, and a complete lack of 64-bit (host or guest) OS support. VirtualBox is also an underwhelming performer.
That review characterized VMware Workstation, by contrast, as "the only choice for serious virtualization users." They said that Virtual PC 2007 was also an underperformer, with fewer features than VMware Player. The remarks about crashes and so forth persuaded me that I was not ready for VirtualBox. The review at Liquidat also showed a performance comparison of VirtualBox against VMware in two simple tasks; and for me its significance was not that VirtualBox was somewhat slower than VMware, but that both were (as suggested in the other guy's comment, above) more than 50% slower than a native system without virtualization.
It seemed that I should continue searching. I looked briefly at Wine, whose purpose was to run Windows programs within Linux. As I had gathered from other sources, at this point Wine was capable of running some Windows programs but was not yet ready for general-purpose use. I glanced at Lindows/Linspire, but got a sense that it was essentially an inferior competitor to Ubuntu. There had lately been news that not only Dell, but also other mainstream companies were beginning to offer Linux-based (or, in Dell's case, dual-system) PCs. I felt that a lot of things would be happening with Ubuntu in the next year. At the same time, it seemed to me that Ubuntu and related programs needed to develop further before I could do that easily -- that Wubi, for example, still had a ways to go. In my previous experiences with Windows, I had always completed the installation process in one fell swoop, installing everything I thought I might need at once. So within the first days of a new Windows install, I would load the system with tons of programs, utilities, and tweaks that I had used previously and that seemed likely to be useful again someday. This time, however, things were different. I did not hope to be setting up a Windows installation that would function indefinitely. To the contrary, I hoped to be switching to Ubuntu when some of the aforementioned programs matured. My review continued to persuade me that VMware would probably be the best product for facilitating a transition from Windows to Ubuntu. But it also seemed that VMware Server, supported only in thinly subscribed forums, might be more trouble than it was worth. I would have spent $189 for VMware Workstation, which the company itself would support; but at this point two things had changed. One was that I had become aware of the possibility of a serious performance penalty for using virtualization software. The other was that I had run out of time for computer tinkering. I did not know of any specific reason why Server essentially failed to work for me, and I could not indulge a $189 experiment to learn whether Workstation would be different. What I hoped for, ultimately, was to switch to 64-bit Ubuntu or some other reliable bottom layer, and on that basis to build some way to run Windows programs. In other words, I wanted to have my Windows capabilities with Ubuntu's reliability and open-source orientation. I was not too interested in mastering details of Ubuntu's command line; I did not have time to tinker; and at this point it did not seem that virtualization software, like VMware, was going to provide a general-purpose solution for me. If anything, as I especially appreciated in the wake of that InfoWorld review, it promised to add another layer of potentially dysfunctional complexity. Yet as I considered the prospect of larding down my sleek new Windows XP reinstallation with Microsoft Office -- with the time that would be involved for re-adding such programs, and also with the problems that such programs could bring -- I hesitated. Was it possible that my VMware Server problems had been due to video graphics card driver problems that I had recently fixed? I inferred, from the paucity of helpful responses to my posts, and from seeing that other posts in those same forums did get responses, that people would have been glad to give me an answer if they'd had one. My experience suggested that, if I didn't get an answer, it meant I was having a unique problem; and if I was having a unique problem, it probably meant the hardware was involved. So the question presented itself: now that I had fixed the driver issue, should I try once more to use VMware Server? Trying certainly wouldn't kill me. If I could get Server to work, I could use my old WinXP installation in a virtual machine, as described above, to run Office etc., thus keeping my base layer WinXP installation relatively clean and fast. But when I tried Server again, it was even worse than before: not only did it refuse to respond, but it froze my system, and I had to use the reset button to restart. Microsoft's Virtual PC 2007 had now become an option. I was not hoping, anymore, to import a previous existing Windows installation as a self-contained virtual machine, as I had hoped to do in VMware. Nor was I really hoping to do too much with Ubuntu in a virtual machine, at least not until one or two more generations of development. All I hoped to do, at this point, was to install a Windows XP system in a virtual machine that would run on my basic machine, where I would use the virtual machine for all the performance-degrading stuff that I had typically installed on my computers, while trying to remain true to the ideal of a bare minimum of programs in the host (underlying) system layer. I hoped that, this way, when a more refined Ubuntu did emerge, I could then proceed with the project of making a gradual transition to it, one application at a time. As I reviewed the InfoWorld article, I saw that Virtual PC 2007 was rated at or above VMware on the things that mattered to me (e.g., ease of use rather than scalability). The writeup was similarly encouraging, except in the area of performance, where Virtual PC and VirtualBox appeared to perform at about half the rate of VMware. It seemed that there might be some instances where I would install a program on the host for performance reasons; but for purposes of basic Office software and so forth, I hoped the guest would suffice. So I uninstalled VMware and downloaded Virtual PC 2007. I got some immediate encouragement about the usability of VPC, from Microsoft's VPC webpage, when I watched part of their smooth presentation video, both from what they said and from the fact that they went to the trouble. It definitely felt superior to VMware's website. Now it was a question of whether that feeling matched reality -- whether VPC would work for me. I ran VPC and set up a new virtual machine on which I would be installing WinXP. I discovered that you have to have your Windows boot CD in the drive when you start the machine, if you want to install from it. I browsed VPC's Help files and saw that they recommended using antivirus software, a firewall, and so forth. So each virtual machine would evidently be in direct contact with the outside world -- which meant that my various precautions on the host machine level weren't helpful, and that I would need to be installing Windows updates, antivirus updates, etc. in both the host and the guest. The VPC Console was a little thing, but it appeared to have the options to change the parameters of your virtual machine on the fly. Meanwhile, in the main window, I had a normal Windows XP installation underway, behaving in every way just as if I were installing WinXP on the computer as a whole rather than just in a virtual machine. The virtual machine could not see my hard drives. I learned, however, that I could use Sharing Folders to exchange files and folders between the physical and virtual machines. I decided, however, that I was not comfortable with having actual data files locked up inside a virtual hard drive. Also, the mouse performance was sluggish. At this point, although I wanted a clean and minimal system, I decided that the easier route was going to be to install needed programs on the physical machine, and to forget about virtualization for the time being. It did seem that I could use VPC to make Ubuntu run on WinXP, but I did not experiment further in that direction at this time. Instead, the path I ultimately took was to experiment with using a KVM switch to run two separate computers from a single monitor, keyboard, and mouse. *********************************** If you have found this post useful, please add a positive comment. Thanks!