How to legally use Windows 10 in VirtualBox

Use Windows 10 legally in Virtualbox

This forum does not endorse piracy - thus this is a guide to do it legally.

Microsoft has made it a priority to tie the key to the system and therefore it is stored in your systems firmware instead of a sticker which can be copied.

This guide might work for earlier versions of Windows, yet only confirmed working with Windows 10 and Windows 8.1 and this article will assume Windows 10.

This How-To is the continuation of a post elsewhere in this forum.

Verify your key

You can retrieve the key using a terminal command (fake key shown)

$ sudo tail -c +56 /sys/firmware/acpi/tables/MSDM
ABA2D-TEFJ4-D97PT-9B42Y-H3U5E

Now that you know you have a product key, you can use the key and apply it to a VirtualBox VM.

The source of this How-To is an answer on superuser.com and I have verified the answer - it checks out.

Digital Windows licenses

I don't know the issues surrounding a digital license. From a comment in this thread it appears it is not possible to install Windows using such license.

If you are sure you are not violating your license you can use the links in this post to convert your physical Windows into a virtual.

License issues

I encourage you to read the above post specifically the part where the author point out that Microsoft actually acknowledge the use in a virtual machine. The requirement is that the key is not used simultanously on several systems.

That also means that you are required to remove your physcal instance once you succesfully moved it to virtual as you are not allowed to dual-boot using this approach.

Get a legal Windows ISO

You can download a legal copy of Microsoft Windows 10 for your system from

https://www.microsoft.com/en-us/software-recovery

This is also the place to download earlier versions as Windows 7 and 8.1 and these downloads might require you to input a valid product key to get a download link.

Create a Windows 10 VM

Use VirtualBox to create a virtual machine named win10 - if you chose another name substitute win10 below with the name you have chosen.

Retrieve your product key

First step is to create a copy of firmware table holding the product key and save it in the folder holding your virtual machine.

The variable $USER used in the command will translate to whatever username you are using on your system.

$ sudo cat /sys/firmware/acpi/tables/MSDM > "/home/$USER/VirtualBox VMs/win10/msdm.bin"

You can check if it worked by listing the content of msdm.bin file

cat "~/VirtualBox VMs/win10/msdm.bin"

Assign product key to virtual machine

Next step is to assign your aquired data to your virtual machine.

$ VBoxManage setextradata "win10" "VBoxInternal/Devices/acpi/0/Config/CustomTable" "/home/$USER/VirtualBox VMs/win10/msdm.bin"

Install Windows 10 in the virtual machine

Now start your virtual Windows machine and when prompted point to your downloaded ISO file presumably stored in your download folder.

Follow the installer and when you reach the point where the installer asks for product key - select

  • I don't have a product key

It is vital you get next step right

  • selecting your version

Selecting an incorrect version invalidates your product key - not invalidate as in changing or removing it but the SKU will not verify against the key and you have to start over.

Microsoft is using negative prompts to trick you to create or use a Microsoft account. You can do what you prefer. Later on they offer a lot privacy intrusion which you can select/deselect at your peril.

Congratulation

When installer is done and you have restarted your virtual machine - you have a licensed Windows VM.

Now remember to remove your physical Windows installation - if you continue to run two installations you violate your Windows license.

21 Likes

If the file /sys/firmware/acpi/tables/MSDM isn’t present on your installation, it probably means that your key is not embedded in BIOS/firmware. This is common if your machine is older, was assembled from parts or comes from a smaller manufacturer. In these cases, there should be a sticker with the key on the outside or the machine. If there isn’t, it is still possible to extract the key from the registry if you have retained a copy of your Windows files(or still have it installed).

2 Likes

You are right - I will point that the present article is valid for Windows 10.

Well this is useful! :+1:

3 Likes

+1
:star_struck:

License discussion post

24 posts were merged into an existing topic: Do I need a Windows license to install it in VB?

Thanks for posting this tutorial!
Worked for me with Win 8.1, which is the version I had previously nuked to install Manjaro.

When I installed and opened Windows, though, the screen refused to go to full 1920x1080. I played with the screen resolution within Windows, but 1920x1080 was not an option on the menu. I found this command, which I ran in the host terminal:

VBoxManage setextradata "windows" CustomVideoMode1 1920x1080x32

Replace “windows” with the name you gave the virtual machine.
Next I reopened Windows in VB, and 1920x1080 was now an option for screen resolution.

Credit where credit is due

3 Likes

That is a great tip - thanks for sharing it!

To satisfy my curiosity - prior to your screen resolution issue, you did install the package virtualbox-guest-iso?
And did you insert that iso into the Windows Virtual Machine and ran the setup?

I tried to, but got an error message. For some reason it couldn’t find the image.

The guest iso is not installed when you install VirtualBox.

You need to install it using

sudo pacman -Syu virtualbox-guest-iso
1 Like

Unfortunately this doesn't seem to work if you have a digital license. I try the troubleshoot option and say that I changed my hardware and pick the Win install I am using on the other drive, but end up just getting a "We can't reactivate Windows on this device. Try again later."

DISLAIMER:
Please keep in mind not to violate your Microsoft License as per OP.

The installation method described in OP is for those who had Windows preinstalled on their device.

I know another method. It is more complicated but could possibly work.

I have made two blog posts on the steps.

The steps are

  1. Create a virtual machine from your current Windows in Microsoft hyper-v format
  1. Convert the hyper-v format to virtual box and attach it to a virtual machine
3 Likes

I've had issues like that at work before when moving an existing VM to new host hardware.
Surprisingly Microsoft are very understanding when it comes to this (in my experience)

I've just phoned their support and at least in the UK, there is a way to put in a unique serial number off your existing install and they revoke and reset the install for it, they even did it for a OEM license once.

1 Like

Forum kindly sponsored by Bytemark