Как я могу прочитать лицензионный ключ Windows 8 с Ubuntu?


18

У меня двойная загрузка Windows 8 и Ubuntu на моем ноутбуке.

Можно ли прочитать лицензионный ключ Windows под Ubuntu? (Я думаю, это как-то скрыто в реестре Windows)


Это система UEFI? Если да, то, вероятно, она находится в памяти ключей UEFT?
Амит КК

Да, это система UEFI. Я уже нашел его и разместил ответ ниже;)
rubo77

2
Рецензенты: это не вне темы. Речь идет об использовании Ubuntu для поиска информации в установке Windows. Прекрасно.
Сет

Согласитесь, это по теме, особенно если учесть, что на самом деле речь может идти о считывании информации ACPI из хранилища прошивки: эта информация даже не хранится в том, что большинство из нас считает системой Windows.
Элия ​​Каган

Ответы:


32

Я нашел это здесь . Ключ, похоже, хранится в ACPI-прошивке:

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

Который дал мне следующие результаты:

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

(Я заменил ключ продукта на #)

труба в , | tail -n1если вам нужен только ключ в качестве вывода.


2
Это может быть специфично для Lenovo, чтобы иметь ключ в прошивке. Мои рабочие компьютеры (Dell Laptop и Compaq Desktop) имеют SLIC, но не имеют MSDM. По общему признанию, оба этих компьютера предшествуют Windows 8 на несколько лет.
Чувак

1
На более новых компьютерах Dell эта таблица действительно существует. Я нашел его на двух настольных компьютерах Dell Precision T1700 с июня 2014 года.
Хорхе Суарес де Лис

Это прекрасно работает на Lenovo Yoga3.
Шенбриден

Работал над моим UEFI Acer Aspire V. Так что это относится и к другим системам UEFI.
Торриен

3

Если ваш HD сломан и вам нужно установить новый HD или просто хотите узнать ключ без HD, это может помочь вам:

sudo acpidump > myhiddenkey.txt

После этого найдите в папке HOME только что созданный TXT-файл. Нажмите F3 для поиска в файле слова «MSDM» и бинго!

Если у вас еще acpmdumpнет времени, установите его, используя

sudo apt-get install acpidump

Он работал на моем Live Pendrive Ubuntu 14.04 LTS на ноутбуке Positivo. Ключ был из Windows 8 Single-language.


Опс, я забыл. Причина вывода в текстовый файл заключается в том, что окно терминала может не поддерживать столько строк текста.
Пауло Сержио Мотояма младший

Результат - примерно 8 строк после появления «MSDM», так что это покажет ключ: sudo acpidump|grep MSDM -A8без использования текстового файла
rubo77

1
acpidumpимеет возможность -nвыбрать только одну часть. Это выведет ключ в одну строку: sudo acpidump -n msdm | cut -c58-|xargs|tr -d " "
rubo77

Есть ли способ узнать, к какой версии Windows он принадлежит? 8 или 8.1? или это не имеет значения? Я не хочу использовать сторонние шашки
страшная точка с запятой

1

Есть еще один, чтобы добавить к последней команде, которая помогла мне:

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

Я не уверен, что строка определенно находится в конце, но именно так я извлек сам ключ.


Всегда относитесь к своему ответу как к единственно верному ответу. 😃
rubo77

Чтобы сделать это хорошим ответом, добавьте, что точная позиция может отличаться в других системах. Это приведет к выбору точных 6 строк после нахождения MSDN на выходе, который находится в HEX
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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.