Cloned guest is deactivated?

Discussions about using Windows guests in VirtualBox.
Post Reply
maverick6664
Posts: 4
Joined: 2. Aug 2015, 06:46
Primary OS: MS Windows 7
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows 8.1

Cloned guest is deactivated?

Post by maverick6664 »

Hi all,

Today I was surprised to see my "Cloned" Windows 8.1 Pro isn't activated. I confirmed my original 8.1 Pro guest was activated, but its clone was not activated. What's the difference? What's wrong? Or did I do anything wrong? I just installed 8.1Pro and activated, and cloned.

Thanks in advance!
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Cloned guest is deactivated?

Post by mpack »

It's a clone. It's not the original VM. Windows has treated a machine signature change as an activation breaker since Win7.
maverick6664
Posts: 4
Joined: 2. Aug 2015, 06:46
Primary OS: MS Windows 7
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Windows 8.1

Re: Cloned guest is deactivated?

Post by maverick6664 »

Thank you for your reply mpack,

What kind of signature change does virtualbox do? UUID? I confirmed MAC addresses are the same.
Legorol
Posts: 99
Joined: 11. Mar 2014, 21:40

Re: Cloned guest is deactivated?

Post by Legorol »

The machine UUID is one of the most important components of Windows detecting the machine as being the same/different for activation purposes.

If you create a linked clone, the machine UUID does not change. If you create a full clone, it changes. You can verify that the original VM and the full clone has different machine UUID by looking in the .vbox file for each.

Do not edit the machine UUID by hand in the .vbox file. Instead, you can assign the original UUID to a full clone using this command:

Code: Select all

VBoxManage modifyvm "VM name" --hardwareuuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Once you make this change, Windows will likely be activated.

EDIT: corrected .vmx to .vbox
Last edited by Legorol on 17. Aug 2015, 12:30, edited 1 time in total.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Cloned guest is deactivated?

Post by mpack »

The MAC hasn't been weighted heavily for quite a long time. You should really ask Microsoft if you want definitive answers about what causes reactivation, but I believe that the motherboard DMI signature weighs heavily, and in VirtualBox this defaults to the VM UUID (not to be confused with disk UUIDs).

Try Googling with "DMI site:forums.virtualbox.org".
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Cloned guest is deactivated?

Post by mpack »

Legorol wrote:If you create a linked clone, the machine UUID does not change.
I never use difference images, but nonetheless I'm reasonably sure that is not correct. The VM UUID certainly changes, therefore I assume the machine UUID changes with it, unless explicitly overridden. AFAIK the only thing which makes a linked clone different than a full clone is that the former uses a difference image as its primary disk.

p.s. In case readers are confused - VirtualBox doesn't use VMX files. That would be VMWare. VirtualBox has .vbox files. Do not attempt to make two VBox files have the same VM UUID, it will only result in an error.
Legorol
Posts: 99
Joined: 11. Mar 2014, 21:40

Re: Cloned guest is deactivated?

Post by Legorol »

mpack wrote:
Legorol wrote:If you create a linked clone, the machine UUID does not change.
I never use difference images, but nonetheless I'm reasonably sure that is not correct. The VM UUID certainly changes, therefore I assume the machine UUID changes with it, unless explicitly overridden. AFAIK the only thing which makes a linked clone different than a full clone is that the former uses a difference image as its primary disk.
You are right and I was wrong, I was mixing up machine and hardware UUID for a clone. There is no difference between linked and full clone. I should therefore be more precise and clarify:

VirtualBox has two different UUIDs related to a VM: Machine UUID and Hardware UUID.

VirtualBox assigns each VM a unique UUID, under which it catalogues them, this is the Machine UUID. This is always present in the .vbox file as <Machine uuid="...">. Indeed when you make a new VM or a clone (whether linked or full), a new Machine UUID is always generated.

The Hardware UUID is the value that is passed inside the guest and appears in the guest BIOS as part of the DMI (or more accurately SMBIOS) information. It is the Hardware UUID that is visible to the guest and is taken into account by Windows activation.

By default, the Hardware UUID is not explicitly set and is identical to the Machine UUID. You can change the Hardware UUID via VBoxManage modifyvm "VM name" --hardwareuuid xxx, from which point the Hardware and Machine UUIDs will no longer be equal. The Hardware UUID then shows up in the .vbox file as <Hardware version="X" uuid="...">.

The Machine UUID is a global value for a VM. The Hardware UUID is a per-snapshot value so it is saved and restored with a snapshot just like any other setting (e.g. RAM size).

When you create a clone (full or linked), the Hardware UUID setting also gets copied. If the Hardware UUID wasn't explicitly set before, then it's still not explicitly set. The result is that it matches the Machine UUID, which is different in the clone, so the value inside the guest changes too. However, if the Hardware UUID was set before cloning, then the clone also has the same value and therefore the value inside the guest does not change.

The solution I originally posted is still valid: you clone the VM, then use VBoxManage to set the hardware UUID to match the original VM's machine UUID.
p.s. In case readers are confused - VirtualBox doesn't use VMX files. That would be VMWare. VirtualBox has .vbox files. Do not attempt to make two VBox files have the same VM UUID, it will only result in an error.
Apologies, I meant .vbox files, I corrected my post, thanks for pointing it out.
Post Reply