如何使用Ubuntu读取Windows 8许可证密钥?


18

我的笔记本电脑上有双启动Windows 8和Ubuntu。

是否可以在ubuntu下读取Windows许可证密钥?(我想它以某种方式隐藏在Windows注册表中)


它是UEFI系统吗?如果是,它可能在UEFT密钥存储器中?
Amith KK

是的,它是UEFI系统。我已经找到了,并在下面发布了答案;)
rubo77

2
审稿人:这不是题外话。它是关于使用Ubuntu在Windows安装中查找信息。很好。
赛斯

同意,这是主题,特别是考虑到似乎这可能确实与从固件存储中读取ACPI信息有关:该信息甚至没有存储在我们大多数人认为的Windows系统中。
伊利亚·卡根

Answers:


32

我在这里找到的。密钥似乎存储在ACPI固件中:

sudo strings /sys/firmware/acpi/tables/MSDM

这给了我以下结果:

MSDMU
LENOVOCB-01   
ACPI
#####-#####-#####-#####-#####

(我用替换了产品密钥#

| tail -n1如果只需要密钥作为输出,则通过管道输入。


2
联想可能特定于固件中的密钥。我的工作计算机(Dell便携式计算机和Compaq桌面)具有SLIC,但没有MSDM。诚然,这两台计算机都比Windows 8早了几年。
花花公子

1
在较新的Dell PC上,该表实际上存在。我从2014
Lis

这在Lenovo Yoga3上效果很好。
seanbreeden

在我的UEFI Acer Aspire V上工作。因此它适用于其他UEFI系统。
Torrien

3

如果您的高清硬盘坏了,需要安装在新的高清硬盘上,或者只是想知道没有高清硬盘的钥匙,那么这可以为您提供帮助:

sudo acpidump > myhiddenkey.txt

之后,在您的HOME文件夹中搜索刚刚创建的.txt文件。按F3在文件中搜索单词“ MSDM”和宾果!

如果acpmdump尚未安装,请使用

sudo apt-get install acpidump

它在我的Positivo笔记本上的Ubuntu 14.04 LTS Live pendrive上工作。关键是Windows 8单语言。


行动,我忘了。在txt文件上输出的原因是因为终端窗口可能不支持这么多的文本行。
PauloSérgioMotoyama Jr.

结果是在“ MSDM”出现后大约8行,因此这将显示关键:sudo acpidump|grep MSDM -A8不使用文本文件
rubo77

1
acpidump有选项 -n来选择只是其中的一部分。这将在一行中输出密钥: sudo acpidump -n msdm | cut -c58-|xargs|tr -d " "
rubo77 '16

有没有办法知道它属于哪个版本的Windows?8或8.1?还是没关系?我不想使用第3方检查器
可怕的分号

1

还有另一个添加到对我有帮助的最后一个命令:

sudo acpidump|grep MSDM -A6|cut -c58- |xargs | tr -d " " | grep -oP '[^.]+$'

我不确定字符串是否肯定在结尾,但这就是我提取密钥本身的方式。


始终将您的答案视为唯一的真实答案。😃–
rubo77

为了做出一个很好的答案,请添加确切的位置在其他系统上可能会有所不同。这将在输出中,这是在HEX发现MSDN后选择确切6行
rubo77

您可以使用acpidump -n msdm代替sudo acpidump|grep MSDM -A6
rubo77

1

对接受的答案进行了一些细化。这只会打印密钥:

sudo strings /sys/firmware/acpi/tables/MSDM | grep .*-.*-.*-.*-.*

1
更好地使用sudo strings /sys/firmware/acpi/tables/MSDM |tail -n1(在极少数情况下,您的供应商名称适合您的grep regex)
rubo77
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.