Virtual Machines

December 14, 2007 Post a Comment (21 Comments)

I’ve been having difficulties ever since I’ve made the switch to Vista, but I’m not here to bash Microsoft. I blame the rest of the computing world. All software companies knew Vista was coming, had adequate time to prepare, and yet a FULL YEAR later STILL haven’t done much to fix compatibility issues. Guilty parties include our own internal help desk team as well as companies like IBM and Cisco who are supposed to provide “enterprise-ready” solutions. Instead, since they’ve buried their heads in the sand, I’ve had to spend too much time finding work-arounds for my computing issues. To wit:

  • Wireless – At one point I had Wi-Fi in our office working correctly on my T61. One day for whatever reason all wireless passwords were reset and my wireless access went kaput. I know what I’m SUPPOSED to do to get it working again, but buried somewhere deep in my registry a “1″ is really a “0″ and it just won’t work. I’ve just given up and when I need wireless on our Lenovo campus, I just use WWAN cellular access.
  • Printing – Our centralized print management solution from Lexmark only prints from some applications. For example, I use Foxit reader to open Acrobat files because Adobe’s Reader is just too darn slow. On Vista, I’ve had to install Acrobat Reader as well for when I want to print from a .pdf file. When I try to print from Foxit, it seems to print okay, but then the print job just goes into a black hole ne’er to return. Others with Vista systems are experiencing similar problems.
  • Expenses – I’ve had to keep a Lenovo 3000 C100 with XP running just to do my work expenses. Our IBM-developed and managed expense tool just won’t work with Vista.
  • VPN support – We currently use the AT&T VPN client, which works fine with Vista. We’re moving to a Cisco web VPN sometime next year. No Vista support there either.

A few weeks ago I was talking shop with one of our field technical specialists, Henry. I mentioned my Vista issues in hopes that he had some ideas. He had an intriguing solution – installing and running a virtual machine (VM) on his PC. He is using a Vista machine with our basic factory preload but then launches and runs XP once Vista has loaded.

Virtual machines have been around for years, usually in the back end server room to consolidate and increase server utilization. It makes perfect sense that you would want all of this expensive server hardware to work as much of the time as possible. On the client side though, there really hasn’t been much of a push until earlier this year when several factors have converged to make it a viable solution. One, the proliferation of more operating system choices. Windows + Linux, Mac + Windows, etc. Two, built in virtualization support in the latest Intel processors which is supposed to help with the performance penalty associated with running two operating systems on top of each other. Three, the boiling over of frustration with Microsoft.

Running in a VM has all of the benefits of migrating to the latest hardware, but has none of the incompatibility hassles. Plus, since a VM creates virtual hard disk drives inside two large container files, migrating from an older system to a newer system is as simple as copying these two files from one machine to another. A full migration of all installed programs, settings, and documents doesn’t get any easier than that.

I download and installed the freely available Microsoft Virtual PC 2007. Installation was easy, but then finding an installable copy of XP was not. I have a legal product key and certificate for XP, but no install disk. Yeah, I could have ordered a set of our recovery CDs, but I didn’t want to wait for them to arrive, so off to Bit Torrent land I went. A few minutes later I had downloaded a copy with SP2 already slipstreamed into the install. However, it seems that all XP CDs aren’t the same and the version I downloaded was an “enterprise install” CD of XP and not the “retail” install CD. It didn’t want to take my product key and deemed my installation to be less than genuine. It begs the question – am I legal or not? Some would say “no.” I contend that Microsoft got paid, so where’s the harm?

Even after I finished installing, I was a bit confused. Ordinarily I would make sure to update all of my system drivers, but it is less clear if that is needed when there is a host operating system underneath. Since everything seemed to be working okay, I left it alone for now. Virtual PC 2007 did recommend that I download and install Microsoft’s VM extensions that were supposed to “improve performance.” I’m all for improved performance, but from reading the help files, it seems that adding these extensions obviated the benefit of using VT enabled processors. If adding some software makes the hardware obsolete, then why have the hardware extensions on the processor to begin with? I’m sure there is a value proposition I’m missing here.

Networking is also a bit puzzling. By having the virtualized XP share an IP address with Vista, I was able to connect to the Internet. Supposedly there is a way for both the host and guest operating systems to get their own IP address, but I have not been able to get it to work yet. I want to do this so that my XP install can connect to our wireless network again. Too bad there isn’t a way to reverse share so that the virtual Windows XP will pass an IP address back to the host version of Vista.

I also decided that this was an ideal time to install Ubuntu and give it a whirl. From reading, the latest version seems to be Gutsy Gibbon (as opposed to Hairy Horse or Incontinent Iguana). Downloading it was easy, but then I ran into a known problem that there was no mouse support in a virtualized version of Ubuntu running on Windows. Fortunately, the Linux community is filled with helpful people and I quickly was able to find Robert Cain’s blog that gave excellent step by step instructions on how to fix it.

So now I’ve got Ubuntu installed. What do I do with it?


21 Comments on “Virtual Machines”

  • Serge van Ginderachter says:

    I’m not sure why you want to blame third parties instead of Microsoft. Sure, third parties have a responsility. But it remains Microsoft who makes the API they have to be compatible with in the first place. ANd they do a dirty job aboujt that. One one hand, they try to keep as much as possible old software / API’s compatible. On the other hand, with eacht version of Windows they tend to change stuff, like security concepts, who are often responsible for a lot of troubles.

    This is more of a problem of binary releases. I admit, I’m a converted Open Source fan. And you can think of Open Source whatever you want, but it is a solution to this problem.

  • dimitris says:

    Even if you had the recovery CDs, chances are they wouldn’t have worked. The OS image on them is specific to the Thinkpad hardware and, partly for licensing reasons, won’t install on the “generic” hardware that the virtual machine is presenting to the OS.

    If you could instead use the recovery CDs to reinstall XP directly on the Thinkpad, then you can kill two birds with one stone: You get a supported, “legal” XP installation, and you get Wifi working again.

    You can then host VirtualPC on XP, and run Vista and Ubuntu as guests. That way they piggyback on the network connection and all three live happily together. This includes the Wifi and VPN connections: At least the way VMware works – and I can’t see VirtualPC being that much different – you have the option of putting the guest OS behind a NAT service running on the host OS. The NAT service doesn’t care what type of network (Ethernet, Wifi, whatever) is used by the host, it does its work at the IP layer. I suspect that the “IP address sharing” option you have chosen in VirtualPC is of that flavor.

    This approach also gets you the ability to migrate Vista – a more tricky OS at the moment, as you explained above – to other machines using VirtualPC.

    BTW I’m doing something similar, using VMware, on my X60. The host is Ubuntu, but for some of the work I do I need Windows so I have a XP guest image. The Thinkpad can also dual-boot into its factory-installed XP but that happens only for BIOS updates.

    (Unitl Lenovo fixes the severely sub-optimal situation with BIOS/disk firmware update ISO images for the X series. They require the “optional” X6 Ultrabase. But I digress. Hint. Hint.)

    The work-related XP image is of a generic, store-bought XP SP2 copy, bought years before the X60, and used on its recently dead X31 predecessor under the same scheme.

    Even if I knew I was going to need Vista on a new machine, I would still opt for the cheapest possible (none, if that’s an option) OS on it and then install Vista on a virtual, “vanilla” machine.

    In fact (Hint #2), I would be more interested in a VMware Workstation bundle than any OS bundle on a new machine. I can then buy (or migrate) my existing OS licenses and – more importantly – installations in a sane way.

  • Peter Cranstone says:

    I’ve tried all the VM’s out there. The best for my money is VMware. I run copies of XP, Vista and Windows Server 2003 all in VM’s running on Vista. Works like a champ. Only one issue I had was with a logitech camera. Got it working on the Vista VM but not the XP vm.

    I played around with a Ubuntu VM – too many Unix commands to remember so I punted.

  • Paul Roub says:

    And what about the hardware manufacturers? You mention the T61. I have one, too.

    Among the touted features — the integrated camera. Actually one of the features I was looking forward to with this machine. Video-chat with the kids while traveling, all that.

    Recommended, pre-installed OS? Vista.

    Guess which OS Lenovo *still* doesn’t provide an integrated camera driver for?

  • Gaurav Sharma says:

    Tried Ubuntu on my X60s and found it sort of useless. Basically, everything available for it (including CLI apps) are available for Windows, it’s not faster, and just tricky to use sometimes. The worst part is drivers. Community blah etc – it’s just not the same when you have to dig around for every driver and feature. I’d rather pay and save the time. I think your initial take on Linux was spot-on.

    Do let us know if you discover any stand-out uses for Ubuntu on your machine though, I’m not keen on using Windows for more than 1 system, and would be interested in getting convinced in giving it a second whirl. I’ve tried setting up a Ubuntu VM, but again am stumped on what it could really be made useful for.

    I think smaller newer systems like the Asus eee might make more sense for things like Ubuntu, simply because they reduce the cost of an already cheap system and basically won’t run Vista anyway. Perhaps you should release a Linux 600g specific 1024×600 stealy ultraportable and name it the Thinkpad U70. *then* we’re talking!

  • Goran says:

    First of all, the blame part. I can understand your logic, but if it is Microsoft who once again changed its specifications… And considering even its internal inability to do things consistently…

    Second, you run Vista, you have a number of problems and you run XP in a VM to remedy those? The logic is so Microsoft. If you need to go to a local grocery store, take a trip around the world so that you can approach it from the other side.
    VM is a great thing for many things. Definitively not for the problems you’re describing.

  • Sasho says:

    Matt,
    I think you’ve got it wrong – installing VM aditions can lead to some _theoretical_ loss of performance on guest. Not using VM additions on desktop OS will lead to _big_ productivity loss when using both desktops, copying files and clipboard.

  • vkyr says:

    I highly doubt that using a VM or better said, using virtualization on the x86 architecture, will be here the overall better solution to your Vista problems. A VM first of all does mostly an emulation of the underlying raw hardware, either in a more native execution fashion (full virtualization of the hardware) or in a non-native system software emulation manner, like common among some software systems (for example Smalltalk, Java etc. software).

    It is still pretty unlikely that more complex programs (…those which make use of a bunch of specific underlying hardware components and thus need exlplicit driver support etc. ), even when running under a native execution VM, then do behave essentially identical or even better as when run on the equivalent machine hardware/OS directly.

    Further just quoting your own comments here:

    “…All software companies knew Vista was coming, had adequate time to prepare, and yet a FULL YEAR later STILL haven’t done much to fix compatibility issues…”

    May I ask how Lenovo did prepare here for their with a Vista OS sold computers, with drivers, accompanied Microsoft and Intel software, etc. ? The hardware selling companies, like Lenovo, too knew that Vista was coming. Did they adequately tested Vista with their hardware before? – I mean, for sure you knew before that there will be compatibility issues with a bunch of software and hadrware devices and the like, so why at all did you then sell the Vista OS with your hardware?

    The question in turn is who to blame, just the software producers like Microsoft, other third parties in the software field or also the hardware producers, which should have known all this before, but who did sell and bundle Vista immediately with their hardware from the first moment it was available?

    I say the hardware and software industry goes hand in hand here, nowadays they are all first of all looking for their profits, market shares and the like. They seem not to care much if the end-users (customers) are finally, more or less, used as beta-testers and leaved with problematic, unfinished or odd behaving IT-products!

  • Kevin Bowling says:

    Your comment at the end is a pretty low blow to Linux. It seems you either expected it to break or are otherwise just being ignorant?

    What to do with it? How about what not to do with it?

    I suspect at least 80% of the tasks people do on their computer revolve around a web browser, email client, feed reader, and word processor. Linux does all of these tasks at least as well as Windows.

    The remaining time is spent doing things for fun (games, movies, web) or other productivity (CAD, graphics, accounting, other specialty work). In my case, web development, it is much more natural on Linux as I can have a complete testbed environment and powerful command line. The only really lacking thing here is mass market 3d gaming, which isn’t really important for business use. Linux also has the wonderful Amarok media player which is much better than anything on Windows. So again, __what WONT Linux do for you__?

    Sorry for the vocal post.. but a computer is a computer and Linux is on par with any other OS for any task a business user would need to do.

  • puntium says:

    I’m biased since I work for VMware, but you should really give at least the Workstation trial a try.. I think you’ll find that it beats the pants of Virtual PC. We can also run Ubuntu fine as a guest, and even have dynamic desktop resizing and multimonitor support.

    Anyways, I actually wanted to mention that the hardware virtualization support found in the newest CPU’s isn’t a silver bullet. see here. The quick version is that at least in the first generation CPU’s, just relying on hardware features to implement the simples virtualization layer actually results in slower performance than not using the hardware assist at all. So you didn’t exactly say anything wrong (you only said the new feature was “supposed” to help) but the implication that virtualization was a non-starter before the CPU features came along is incorrect. We’ve been selling Workstation for a long time, and performance of a guest for many tasks has been totally usable for a long time.

  • Dan says:

    Except for the horrificly buggy Intel “Turbomemory” and crappy base Nvidia drivers, that Lenovo has failed to update for 6 months, once you load SP1, and the updated, non-lenovo drivers, Vista just “works”. Including all the IBM internal applications for that matter. Crappy Java code based on obsolete JVMs can be worked around by downloading the 1.6 JVM from Sun, and replacing the bin and lib directories. Other apps, like your expense app, simply require you to run IE in “administrator mode”, with a right click. Notes 8 works great. Performance overall with Vista x64 and 4GB RAM is lightyears ahead of anything with XP.

    As an aside, I seriously hope Lenovo will immediately push SP1, and upgrade all the buggy T61 launch drivers. Its quite sad that we mortals are forced to hack our way to a fast, stable system.

  • mtl says:

    Hi Matt,

    Since you don’t need Vista for anything, why even use it? I think you have it backwards: you should be using Linux as the host OS, which should enable you to get your wireless connection back, and then run a virtualized XP for the applications for which there is no Linux equivalent (your IBM expense tool, perhaps?).

    It’s clear from your last statement that you’re comfortable in Windows to the point where you almost feel naked in Ubuntu. I would suggest trying it for tasks that have a highly similar experience across platforms, like web or email. That should help you adjust to the new environment. As you get more acclimated and branch out to use Linux for more things, you may find you like it better and want to use it as your primary OS. That’s how it worked for me.

    My last laptop (a Dell) was dual-boot with Linux and Windows XP, the former being my primary OS. Recently I bought an X61s and made the full switch. Linux is my _only_ OS (wiping the Vista preload was almost the first thing I did). For me it is more stable than XP and worlds faster than Vista.

  • Higgi says:

    I’ve spent the past several years playing with VMs and Linux – and have just started delving into Vista remotely on our corporate development VM infrastructure. I am by far no expert, just a guy that likes to try new things and play around with them for a while.

    1st VMs: I tried Virtual PC as a pay product – it worked as designed. I tried VMWare Workstation, and fell in love. Love? Why? I used both virtualization products for work, and wanted to play at home, but didn’t want the bill or the piracy. {And then VMWare player was born.}…{And the Virtual Community created VMs.} {If you create it, they will download.} – One day I downloaded VMWare player, and found oodles of new toys. I could do what I needed to do (run contained test environments) and do what I wanted (play with new or different OSs, servers, utilities, etc.) All this could be done without affecting my home network in a way that would make my wife angry due to a service outage! This was great!! I’ve heard tales of things that didn’t work well in Virtual PC, but little if anything that fails in VMware. Ive had times where my XPsp2 wireless connection won’t pull a gateway on an oddball Linksys router at my parents house – yet my virtual XPsp2 connects fine on a bridged connection. I currently have a “production” internet content filter running in a VM for my home network. Been working like a champ for over a year now. VM is great.

    #2 Linux: I won’t go repeating most of what has been said – it’s been said well. Linux is not ready for laptops. As a desktop OS it rocks, however – for a technical user. It’s getting closer for the masses, but there is still work to be done. Mind you it is better than an old Windows ME experience, I had, but that’s a whole different conversation. On my laptop, my preference is to have XPsp2 as my core OS and run Fedora or an Ubuntu derivative in a VM for the majority of my work. XP handles the low level drivers and connectivity, and Linux works without fail. I’ll be running Vista from a local VM by year-end, and I’d recommend this over the Vista host any day.

  • Glenn says:

    Hello Matt,

    Congratulations on your decision to install Ubuntu linux. I have not tried Ubuntu, but I have been running SuSE Linux on ThinkPads since 1998. It has been my experience that since ~v9.2 SuSE has worked on my T30 and T42 right out of the box with the exception of advanced power management. I’m currently running openSuse 10.3 and it is a beautiful thing. If Ubuntu is giving you install problems, you may want to download a copy of openSuse.

    What to do next? I’d recommend downloading and installing Crossover Office from the folks at Codeweavers and then installing MS Excel and Word. I have been running Crossover office since v1.0, (2002) and have been very happy with it…I have actually found that some versions of MS Office may be more stable running on Crossover Office than on XP. While there are some excellent replacements for the MS Office suite, for the sake of familiarity you may want to use the MS standard and slowly work into the open source options. Following the Word and Excel install, make sure that you are running Evolution mail browser v2.12 at least, and then configure SMTP, IMAP, or MS Exchange email.

    What else do you need? I have found SuSE linux to be far more flexible than Windows OSes when working w/media files as well as when manipulating data files. I’ve also become very spoiled by desktop features that are currently only found on linux/unix boxes such as multiple workspaces, robust multitasking, background cron tasking, command line tools, etc…not to mention that it is a more stable platform in many respects than the MS OSes.

    Keep up the good work,

    Glenn

  • gus says:

    Is obviously Microsoft Fault, but well…. I dont know what do you want to do with ubuntu, but any newbee question wil probably have an answer here,

    http://easylinux.info/wiki/Ubuntu:Gutsy

    Forums are also a great source of information,

    http://ubuntuforums.org/

    In the other hand, if you wan to have vmware-player installed i made a post about it some time ago

    http://dagus.org/2007/10/24/vm.....ntu-gutsy/

    There are a lot of other alternatives like kvm and xen and also things like Seamless Virtualization that as Windows fanboy that you seem to be, i guess you will like to try :P .

    https://help.ubuntu.com/community/SeamlessVirtualization
    https://help.ubuntu.com/community/KVM

  • Michael says:

    I have several users that had applications or job resposibilities that would not work with Vista, and getting them set up with XP on a virtual machine was definitely the way to go. It is also how we handle users that have to VPN, but have a bunch of suspect nastiness on their machines- they are only allowed to use the VM for only those apps necessary to VPN in on.

    I used VMWare’s Workstation to make the VM’s, and they use the free VMWare player to run the VM on their machines. Microsoft’s VM product pales in comparison to VMware, I think.

    -Michael

  • Mohammad says:

    Virtualizing XP in Vista where the wi-fi is not operational will not solve your connection problems. The guest OS that is being virtualized can only access hardware that is working properly in the host OS and is not capable of solving that kind of problem. I think some others made this same recommendation: run Ubuntu as your host OS since it is the most capable of the 3 OSes and virtualize XP or Vista when you need them. Ubuntu runs much faster than the other OSes and uses less resources not to mention that it is more secure and doesn’t require virus scan (runs even faster). I can only imagine how slow your T61 is running with a resource hog as the host OS and trying to run XP on top of it.

  • YourOldBuddy says:

    As others have noted, everyone uses VMWare instead of Virtual PC. This goes back something like 6 years I think.

    You use Linux as a developement platform.

    I think its unfair that Linux is held to another standard than Windows. When Vista fails, its the 3rd party manufacturers fault. When Linux fails, its Linux’s fault.
    NVidia and a host of other companies have complained about Vista having a wacky DRM infested driver model and Im inclined to believe them.

  • Puppy says:

    I use Virtual PC since its first version and I’m very satisfied with it. I got i via my MSDN subscription. VMWare seems to have more frequent security problems but I agree it has some additional features that Virtual PC is missing (USB virtualization).

    As for API compatibility, it is funny to read all the comments, sorry. Win32 API compatibility is at very good level considering it is backward compatible for more than 10 years while still evolving. Linucks kids are able to change Apache “api” within two builds without any backward compatibility. No concept and responsibility at all. Keep calm.

    95% of Vista problems is up to companies developing software who weren’t able to check and fix they software for at least 18 months. Vista betas were available for a long time. It is just incompetence to write good software, learn and understand new technologies. Period.

    (I’m software developer)

  • David Duong says:

    I suggest playing with VirtualBox. Not bloated like VMWare, Open Source, works with Windows XP/Vista and Sun Microsystems recently acquired VirtualBox. Trust me, you won’t be disappointed with VirtualBox. Especially their Seamless mode :)

  • Davis says:

    To your question, “Now I have Ubuntu installed; what do I do with it?”

    Pretty much everything. I prefer it over Windows and Mac OS X. I have no need to run those operating systems anymore except inside virtual machines for software development on those particular platforms.

    Typically people have not made the full switch over to Linux because there has always been some application that they needed on Windows. 99% of the stuff you need is built into Ubuntu or you can get it via Aptitude. For that last 1%, use Virtual Box or VMware.

Leave a Reply