OEM license activation for Windows 10 Home VirtualBox guest, on Ubuntu host

Context

Three years ago my company got me a Lenovo T550 with Windows 10 Home installed on it (my understanding is that this is called "OEM"). I immediately erased everything to install Ubuntu on it.

Unfortunately from now on I will need to use Windows 10 a few times a week for legacy reasons, but my main work is still on Ubuntu, so I am thinking of running Windows 10 within VirtualBox within Ubuntu.

Lenovo recommendation

Lenovo told me that my Windows Home license is somehow linked to my hardware (firmware?) and that Windows will automatically find this out. They pointed me to this page:

The installation of Microsoft Windows Server 2008,2008 R2 SP1, 2012, and 2012 R2 from Lenovo OEM media to such a virtual machine will fail until the virtual BIOS has been updated to include this information. setVMBIOS.exe performs this function for servers using Microsoft Hyper-V technology.

Consult your hypervisor vendor for information on how to perform this function on other hypervisors. [...] The fix resolves this issue by adding Lenovo information to the virtual BIOS.

Note: That page does not mention Windows 10 Home, but I guess the same applies?

VirtualBox

How to apply Lenovo's recommendation to VirtualBox? (5.2.18)

Right now I have out-of-the-box VirtualBox and the VM I created yesterday with standard settings does not activate:

Windows sucks

Windows is not activated. Windows reported that no product key was found on your device. Error code: 0xC004F213


Solution 1:

On the Ubuntu host, type this command:

sudo strings /sys/firmware/acpi/tables/MSDM

This will print out a few lines, the last line being the activation key contained in the laptop's firmware:

MSDMU
LENOVOTP-N11  
PTEC
#####-#####-#####-#####-#####

Within the Windows guest:

  1. Click the search loop.
  2. Type activation.
  3. Click the Activation settings item that appears.
  4. Click the Change product key button.
  5. Enter the activation key obtained from Ubuntu command above.
  6. Click Activate.
  7. The following should appear:

enter image description here

enter image description here

At least that worked for me :-)