For fun, I created a simple kernel module for linux to extract the windows product key from the acpi table msdm (acpidump is your friend) and create a sysfs object to read it.
Usage:
cat /sys/devices/platform/windows_product_key/key
> XXXX-XXXX-XXXX-XXXX