Windows Activation trips up virtual machine clones, even on same system

This blog entry is simply to clear things up regarding virtual machine software (like VMware), the way it can make clones of existing virtual machines, and what if any impact such cloning has when it involves software that requires some form of online activation like Microsoft's operating system and Office software do.

This blog entry is simply to clear things up regarding virtual machine software (like VMware), the way it can make clones of existing virtual machines, and what if any impact such cloning has when it involves software that requires some form of online activation like Microsoft's operating system and Office software do. The reason I'm writing this is that, going back to my last blog entry regarding VMware Workstation 6 (the latest release of VMware Workstation), the TalkBack's disputed my assertion that moving a virtual machine that has Windows as its operating system from one system could be a jarring enough of a hardware change that it would "invariably awaken the licensing Gods at Microsoft."

I probably wasn't clear regarding the scenarios I had in mind and thus some (but not much confusion). First, a quick bit on how virtual machine software works (in case you're new to this). Virtualization products like VMware Workstation and Microsoft's Virtual PC can, with software alone, emulate the hardware of an Intel-based PC (other hardware too, but we'll focus on Intel-based PCs). In other words, you can use VMware Workstation to create a software-based instance of an Intel-based PC (which is why they call it "virtual") and then you can treat that instance or "virtual machine" (VM) as though it were a real hardware-based PC or "real machine". You can install an Intel-compatible operating system on it (like Windows XP, Windows Vista, Linux, etc.) and then install applications on top of that just as you would if the operating system was installed on actual PC, or, on what the virtual machine folks refer to as "bare metal."

There are many benefits of running in VMs vs. on bare metal. I won't go into them here. That's not the purpose of this post. Given the way VMs involve the idea of software pretending to be hardware, it should come as no suprise to you that when you create a virtual machine (for example, one that runs a copy of Windows XP or Windows Vista), the whole enchilada is stored in just a handful of files that live on the hard disk of your computer. The fact that an entire VM is stored in a handful of files means something else: they're easily copied and/or cloned.

In my last post -- the one that may have caused some confusion -- I talked about how the act of copying a Windows virtual machine from one computer to another might awaken the licensing Gods at Microsoft. What did I mean? Under the guise of Microsoft's Windows Genuine Advantage (WGA) program, Windows includes an anti-piracy technology that prevents software pirates from installing one copy of Windows on many computers. Each computer must have it's own license and to make sure that each unique copy of Windows is somehow married to a unique computer, WGA tries to establish a unique signature or thumbprint for your computer that's based on its hardware configuration. While Microsoft's will talk in generalities about how its fingerprinting algorithm works, the actual code is a secret. Even the folks at VMware -- a company whose solutions are impacted by Microsoft's anti-piracy policies -- aren't exactly sure how it works (and they've studied it).

Attempts to install or even run an already-activated copy of Windows on a computer other than the one it was originally married to should, if Microsoft's Windows Genuine Advantage software is working properly, be met by a dialog like the one below (generated by Vista).

windows vista activation screen

So, will copying a VM from one physical computer to another wake up the Microsoft licensing Gods? And, why would you do such a thing? One reason I like to have this option at my disposal is that I beat up my notebook computers pretty badly. Over the years, most of my notebook PCs have had to go in for one repair or another. This is bad news if everything you need (your data, applications, bookmarks, etc.) is on a notebook that has to be sent back for repairs. Unless of course all of your software and information is loaded into a VM rather than into the operating system that was installed on the bare metal. In that case, you get to experience one of the chief benefits of VMs: you can just move them (copy the files) to another computer.

In the case of VMware, you don't even need a full-blown copy of VMware on the other PC to open up those files and start the virtual machine. You just need VMware's virtual machine "player" -- a virtual machine runtime that's freely downloadable from VMware's Web site.

But the question is, in the process of copying a virtual machine from one PC (maybe a busted one) to another, will Microsoft's WGA program detect a change in the underlying hardware and assume that you're a pirate making an illegal copy? In my previous attempts at doing this, when I moved a VM between an Intel-based notebook and an AMD-based notebook, I totally sprung the WGA trap. Hold that thought.

There's another way to copy a VM that's literally called "cloning." Using VMware Workstation's menus, you can select an existing virtual machine and clone it. What's the difference between cloning and copying? I asked VMware about this. The differences are subtle, but important in the context of awakening the licensing Gods at Microsoft.

When you clone a virtual machine, it asks you what to name the new VM and then it makes all of the necessary changes to all of the filenames. When you copy a VM, all of that information (filenames, directories, etc.) stay exactly the same. But something else happens when you clone an VM that doesn't happen when you copy it. Since VMs are completely software-based versions of an Intel-based PC, they also include a virtual networking interface that, like real PCs, has a unique MAC address (the unique address that helps networks tell network attached device apart from another). When you clone a PC, the clone gets a new MAC address. When you copy a virtual machine, nothing changes.

Although no one outside of Microsoft knows Microsoft's formula for fingerprinting hardware to the point that, if the fingerprint changes, the licensing Gods are awakened, the folks at VMware are pretty sure that changes to the MAC address are a red flag. That corresponds directly to the experience I had with a clone of one of my Vista-based VMs. Even though I was running the clone on the very same system (no hardware changes to theoretically awaken the licensing Gods) that the original VM (from which the clone was cloned) was running on, I received an activation warning (pictured, above left) anyway.

But, since copying the original VM to another computer and running it on that computer with VMware's free player, I have yet to see any signs of the activation Gods at Microsoft. That said, there is something interesting that happens when you move an existing VMware-based VM from one computer to another. The first time you try to run that VM, it detects that the VM was moved and asks if you want to keep it associated with VMware's unique identifier (known as the UUID) for that virtual machine, or if you want to create one. According to VMware, if you create a new UUID, that will trigger a change to the MAC address which in turn could awaken the licensing Gods at Microsoft.

It's complicated stuff. But it's important to know if you're working with virtual machines and you want to walk delicately around Microsoft's anti-piracy technology.