Hardware TPM pass-through: is it a thing?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

piranha32

Active Member
Mar 4, 2023
247
179
43
Hi,

I've got a Dell 7050 which came with preinstalled Windows 10. According to the support, the license key is embedded in the hardware, and I think it is safe to assume that it is locked in the TPM module.
Currently the computer runs proxmox, but I would like to spin a Windows VM, and it would be great if I could use the license which came with the computer. I did a bit of research on passing hardware TPM, but all responses to the question were like "proxmox now supports vTPM, just use it and forget about hardware".
 

oneplane

Well-Known Member
Jul 23, 2021
845
484
63
A license is not contained within the TPM. A pre-installed license is also not legally allowed to be transferred since that's an OEM license. A pro edition of windows does allow virtualisation, but one of the rules tends to be that the host needs to be the licensed windows and the guest needs to be that same version of windows.

As for how the license activation systems do work: they use a combination of hardware signatures and firmware tables. So a virtual BIOS will not contain that data, and if too many things change (UUID, MAC addresses, serial numbers on disks etc.) windows deactivates itself since it thinks it was transferred to a new system.

If your aim is to do this 'legally', it will simply cost money because that's how Microsoft sets things up. if your aim is to make it 'seem' like everything is okay, microsoft tends to bind the digital license (as they call it) to your microsoft account. So logging in on your microsoft account generally allows you to activate the VM (but just because it might work doesn't mean it follows the license agreement). But then there is also the whole desktop OS mess where for headless virtualisation MS wants you to use the server edition and not the client edition.

There are about a billion results using any search engine by the way; just search for 'move windows oem to vm' and you'll get a firehose of 'bad idea' pages for free.
 

Pete.S.

Member
Feb 6, 2019
56
24
8
Windows licence key is actually stored in the ACPI MSDM table in your hardware. You can read it if you go into the shell on proxmox since proxmox is just linux.

Try this:
sudo cat /sys/firmware/acpi/tables/MSDM

You can probably use that particular license key to activate windows in a VM. Entering it manually or add a file to your Windows installer (search the net for pid.txt and ei.cfg on info how to do this).

If it's actually allowed to run Windows as a VM on the same hardware according to Windows 10 EULA I don't know. It's probably not allowed.

As @oneplane mentioned it might be a bad idea but there is a difference between doing this in a commercial setting and doing it in your homelab.
 
Last edited:

piranha32

Active Member
Mar 4, 2023
247
179
43
It really works!
Well, it has what looks like a key, I'll have to test if it really works. Thanks for the info!

UPDATE: Windows VM up and running, no problems detected
 
Last edited:
  • Like
Reactions: Pete.S.