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 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:
- Click the search loop.
- Type
activation
. - Click the
Activation settings
item that appears. - Click the
Change product key
button. - Enter the activation key obtained from Ubuntu command above.
- Click
Activate
. - The following should appear:
At least that worked for me :-)