April 28, 2006

The Lost Realization of Portable Virtualization with Windows

Filed under: Virtualization, Reviews | Lindsay @ 9:05 am

A while back I wrote a post about how using VMs has made my life as a developer significantly easier. Two of the items on that list were things I hadn’t tried yet but just assumed were possible: loaning my VM with a co-worker if I was on vacation so they could continue work in my evironment and bringing my VM home on my portable harddrive instead of my laptop. But I wrote too soon (and I apologize for not testing that first!). When I finally decided to try out the VM at home, I ran into problems with Windows activation. And this issue would rule out the loaning to my co-worker scenario as well. Apparently VMs virtualize all of your “hardware” except for the processor in your host computer. Since the processor changed from my work computer to my home computer, it triggered the activation.

Now, for work, I have an MSDN license and could potentially get a volume license which would eliminate the re-activation, but I have several problems with that solution:

  • I spent a large amount of time setting up my base VMs and then configuring the development environments on copies of them. I don’t want to (nor do I have time) to start all over again building my chain.
  • I didn’t just want to use this for work. I wanted to install Windows XP with my personal retail license in a VM and be able to carry around some personal apps on it.
  • I just have a problem with the fact that I’m one person using one VM with a retail licensed copy of Windows and I can’t move the VM from machine to machine on a frequent basis (multiple activations would cause you to be locked out pretty quick with a retail license). I don’t think that kind of usage actually violates the intention of the Windows EULA and might fall under the wide umbrella of “fair use”, but it’s certainly not piracy, and shouldn’t be penalized as such!!

So I did some research and came up with an extremely cumbersome potential solution that was a variation on an activation file restoration procedure (which I won’t expand on since I was advised of legal repercussions) and asked in a VMWare forum if anyone had tried my solution or knew another workaround. Someone responded with a quote from the Windows EULA:

The term “COMPUTER” as used herein shall mean the HARDWARE, if
the HARDWARE is a single computer system, or shall mean the
computer system with which the HARDWARE operates, if the HARDWARE
is a computer system component.

you may install, use, access,
display and run only one (1) copy of the SOFTWARE on
the COMPUTER.

These statements above are contradictory as far as VMs are concerned. What is a COMPUTER really when you’re talking about a VM? It’s only because the processor is used by both the guest and the host that they might be considered a single COMPUTER. This leads me to think that VM use under normal circumstances is in violation of the EULA: if you’re running a VM with an installation of Windows on a Windows host, then you have two copies of the SOFTWARE running on the same COMPUTER. So is the VM a COMPUTER itself? I’ve seen many people ask “If I have a VM do I need a separate Windows license for the guest OS or can I use the host’s?”. And though I’ve seen different answers, they’re all basically either someone getting no official answer from Microsoft or someone saying that, yes, you do need a separate license, which indicates the VM is it’s own COMPUTER.

So you can’t have it both ways: that’s just not fair to consumers. It either is an independent COMPUTER or it’s not. If it is, then I should be able to use my licensed copy of Windows via a VM hosted wherever I want because the VM is a self-contained COMPUTER. If it’s not, then I only need one license to run a VM with Windows on a host of Windows since they’re both on the same COMPUTER and it still shouldn’t matter whether I used my VM on one or more COMPUTERs as long as each COMPUTER had a valid license for Windows.

To me, not being tied to your hardware is a major promise of Virtualization! Yeah, VMs are great for enterprise-level server resources allocation and for Q/A testing and for IT departments to deploy to workers as a replacement for PC images, but they have so much potential for consumer applications as well. Being able to wrap up things in a nice tidy package and have them accessible as long as there’s hardware close by that can run them is liberating and opens up so many possibilities.

  • If a VM is not an independant COMPUTER, then you could release things such as Virtual Appliances for Windows which are currently only possible under Linux and other free OSes.
  • Software vendors could release demo versions (or full for that matter) of their software on VMs which would mean no installation and uninstallation hassles for users and ensure that the environment was properly configured to best show off the software.
  • Companies could save hardware costs for their telecommuting employees by allowing them to just use a VM on their home computer for VPN access and the company’s licensed software.
  • And, of course, there’s still the idea of travelers not being required to carry a laptop through airport security.

But those possibilites and many more are currently eliminated by Windows activation.

TAD always tells me that I should write a letter to someone when I get upset about something, so this time I decided to take his advice. Here’s my request to Microsoft:

Dear Mr. Gates and Mr. Ballmer,

The time has arrived for Microsoft to come out with an official policy on licensing the Windows OS for use in VMs one way or the other. Either VMs are independent COMPUTERs or they are not and the licensing restrictions need to be fully defined for whichever situation is the case. Regardless of that decision, a way for the user to identify to the Windows installation that it is on a VM should be put in place. That being done:

  • If VMs are independent COMPUTERs, the activation scheme must be changed so that activation is not triggered by moving a VM to other HARDWARE.
  • If VMs are not independent COMPUTERs, then the license at whichever host COMPUTER the VM is running must be automatically picked up by the VM, or an easy method must be provided for the user to “register” the VM with the Windows host to avoid re-activation.

Don’t deny the benefits of Virtualization to your customers! Please realize that your customers, who have paid you for their licenses, are not pirates and shouldn’t be treated as such. Demonstrate the respect you have for your customers by sheilding them from the inconvenience of the torture of having to endure hours on the phone trying to get someone help them unlock their copy of Windows that has been activated too many times for lack of foresight of this reasonable VM usage.

Thank you for your focus and efforts in resolving this issue.
Love, Your pal,
Lindsay

» » » » » » » » » »
, , , , , , , , ,

February 7, 2006

Better Living Through Virtual Machines

Filed under: Virtualization, Systems Engineering, Reviews | Lindsay @ 3:54 pm

When I got my new laptop a couple of months ago I decided that I would do things right this time. As a developer I have special needs out of my work computer. It has to be able to to support development on several different projects at a time, some of which have conflicting prerequisites as far as the environment is concerned. So I have begun using virtualization with VMWare as a way to make life easier.

This is very much still an experiment for me and I’m learning what works best as I go along. Creating a VM for each of my current projects was a no-brainer. I love working in the VMs for development for several reasons:

  • Now it doesn’t take me 2 or 3 hours to reconfigure my laptop to switch tasks and work on that web project that has some 3rd party tools that conflict with that winform project that uses different versions of the framework they both share and the source control providers that they don’t. It’s just a two-minute procedure of suspending one machine and opening up up the other. Presto chango!
  • It’s so nice at the end of the day to not have to shut down all my development tools (Visual Studio, Query Analyzer, Enterprise Explorer, etc…) and turn off the computer. I just suspend and close VMWare and shut down the host (which goes considerably faster since I don’t have 200 services running in the background like I do in a development environment). And when I come back the next day I start up literally exactly where I left off.
  • Creating a new development environment takes so little time. I already have several “base” VMs with varying configurations that I can just clone and customize. And I don’t have to worry about any conflicts with what I already have installed.
  • If I have to turn over development to someone else on my team, all I need to do is put the VM (or a copy of it) out on a directory where they can grab it and get started. No configuration issues of setting them up on their machine! (Note, this would probably end up being a temporary situation, such as when I’d go on vacation, since the OS is licensed to me, though it might not be an issue since everyone on my team has an MSDN subscription through our company…)
  • Telecommuting without VPN access, (heck, without even lugging my laptop home) is easy now! I have all my VMs and shared data on an external portable 100GB harddrive. I just unplug that sucker and take it home. It’s light and almost small enough to fit in my purse. Then I just plug it in on my home computer and run the VMs from home! Fortunately I am not travelling out of town on this assignment but if I am later, this will definitely be nice for getting through airports. No laptop to be hassled with in the security checkpoints. Admittedly I have to make sure I have local copies of the databases that I need to develop against, but that hasn’t been an obstacle yet.

Figuring out what to do with my “office productivity” software and personally licensed software is another story. Contrary to Jeff Atwood’s interesting proposal that all software will eventually be packaged and run through VM’s I haven’t figured out how it will work for particular varieties of applications. (more…)

» » » » » » » » »
, , , , , , , ,

January 13, 2006

Referred by VMWare

My tutorial on P2V with NTBackup got picked up by the VMWare blog! Cool! They gave me an inadvertent gender change, but I guess it’s not expected for a girl to know how to do these sort of things!!

January 9, 2006

How to convert a physcial computer to a virtual machine

Filed under: HowTo, Virtualization, Systems Engineering | Lindsay @ 10:04 pm

I recently got a new replacement laptop for work. I had a lot of stuff on the old laptop after 2+ years of use and so I didn’t want to have to rush myself in remembering everything in one or two passes before formatting it to send back to the office. There are always things I forget when I’m mostly focused on moving data files over: files in “hidden” places like IM logs and non-file based data such as product keys, configuration info, settings for programs and other stuff. So I decided the best thing to do was make it into a VM and take my time about reinstalling and configuring the new laptop to match.

After some Googling I found a forum conversation on ArsTechnica about how some people did it. I had been planning to use Symantech Ghost but the version my company supplied was old and I didn’t want to shell out another $70 of my own. Someone mentioned in the post that you could use NTBackup, a free, already-there backup application on Windows XP. He said it was actually a preferred method because NTBackup is actually there to provide recovery services from backups made on different hardware. There would be no tweaking of drivers necessary on the new VM.

So I tried the P2V using NTBackup and it worked well. My last attempt (out of 3) was relatively painless. The first two failed because of miscalculations on my part. Since I had trouble finding information on how to do it and I generally need more detailed steps than the hardware gurus give me, I thought I’d document the process here in case anyone else has the same challenges I did. (more…)

» » » » » » » » » » » » »
, , , , , , , , , , , ,