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

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 and I have verified the answer - it checks out.

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

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.


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.

Installing windows alongide my Manajaro installation

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).


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


Well this is useful! :+1:



split this topic #9

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

VirtualBox window does not scale

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