从主板检索Windows 8产品密钥

我的新笔记本电脑预装了Windows 8.天真的,就像我一样,我只是格式化了硬盘并安装了很好的旧Ubuntu。 现在我想再次安装Windows 8进行双重启动,但我没有DVD并且下载ISO需要产品密钥。 该键不在笔记本电脑的背面,而是在主板上的某个地方。

有没有办法使用Ubuntu从主板恢复产品密钥?

通常,OEM制造商已经在ROM上以电子方式预装了密钥。 Windows将识别此并自动激活您的安装。 因此,通常,您不需要知道此代码。 但是,您可能会看到一些使用的痕迹

sudo dmidecode 

列为OEM-specific Type ,编码/加密,可以保留它。 惠普和戴尔等主要OEM都使用此function。 在Windows网站上询问更多详情; 这是错误的地方。 我记得的唯一细节是需要OEM版本的Windows安装光盘(即非零售版)。

另一种不需要查看大量输出的方法是:

 sudo acpidump -b -t MSDM | dd bs=1 skip=56 2>/dev/null;echo 

acpidump转储表(默认为hexdump格式),但-b选项告诉它输出原始数据。 因为我们只需要表的最后一部分,所以将输出传递给dd,但跳过不必要的垃圾。 最后,在末尾添加一个echo,使其终端友好= D.

acpidump -t MSDM也可以正常工作,但关键是多行分解,这使得很难复制。


更新感谢Lekensteyn:

随Ubuntu一起提供的acpidump工作方式与上述不同。 -b标志使acpidump在所有情况下都写入文件,因此另一种方法是使用该命令

 sudo tail -c+57 /sys/firmware/acpi/tables/MSDM 

合法的Windows 8安装程序应自动检测ACPI中的密钥并继续使用内置密钥进行安装。

但是,应该注意的是,我使用此方法尝试使用我自己的产品密钥在VM中安装Win8,但它会自动停用,说产品密钥正在使用中。 所以,它在所有现实中都没什么用处。 由于Win8 OEM密钥被设计为与特定计算机绑定,如果您要求Microsoft取消注册密钥以便您可以在VM中使用它,更不用说另一台计算机,那么您将遇到困境。

您可以使用密钥的唯一方法是,如果您从未启动过Win8,或者当您没有连接到网络时。 即便如此,如果允许您的VM /新计算机连接到网络,它将自动注册密钥,使您的实际安装无法使用。

  sudo tail -c+57 /sys/firmware/acpi/tables/MSDM 

这让我在MSI笔记本电脑上获得了我的OEM Windows 8的产品密钥。

你可以使用这个代码,如果上面的代码不适合你,或者你只想用你的密钥看到hex输出。 它类似于祝福hex二进制编辑器。 Windows的密钥将采用通常的格式HAN50-0L00M-4D31T-CR4ZY。 5组中的5个字母或数字。

 $ ls /sys/firmware/acpi/tables $ sudo hd /sys/firmware/acpi/tables/MSDM 00000000 ha ns oo lo oe at es ap pl le sa uc ef or li fe |Key in area| 00000010 cu si ca nb ro ha ms am cu si ca nb ro ha ms am |In key area| 00000020 it sj us ho wz ir ol lz it sj us ho wz ir ol lz |Area in key| 00000000 ha ns oo lo oe at es ap pl le sa uc ef or li fe |It is 5 x 5| 00000010 cu si ca nb ro ha ms am cu si ca nb ro ha ms am |Key in area| 00000020 it sj us ho wz ir ol lz it sj us ho wz ir ol lz |In key area| 00000050 ha ns oo lo ow az he re |Area in key| 00000055 |It is 5 x 5| 

运行以下命令将以标准Microsoft格式转储产品密钥。

 sudo hexdump -s 56 -e '"MSDM key: " /29 "%s\n"' /sys/firmware/acpi/tables/MSDM