Как мне получить мой встроенный ключ Windows 8+ из среды Linux?

121

Я видел другие вопросы SuperUser по этой теме: Как найти ключ продукта Windows 8? | Как найти ключ продукта Windows 8 OEM? Тем не менее, все ответы предполагают, что у вас работает Windows 8.

Я уже сделал чистую установку Ubuntu 13.04 на своем новом ноутбуке, и я пытаюсь настроить виртуальную среду для тех случайных программ, которые просто отказываются работать даже с Wine.

Я видел это изображение на другой ответ:

http://i.stack.imgur.com/v14oN.jpg

Таким образом, похоже, что ключ должен быть как-то доступен через ACPI. Тем не менее, я пытался, ls /proc/acpiи это, насколько я вижу, ничего полезного, и acpitoolне помогает мне вообще.

Как, черт возьми, я могу получить ключ продукта?

РЕДАКТИРОВАТЬ : я попытался запустить RW-все через Wine ( изображенная программа), но он не может «установить свой драйвер». Так что никаких кубиков там нет.

Riking
источник
По крайней мере, при моей установке Windows 8.1 это приводит к ключу, отличному от ключа, полученного этим другим решением .
карп

Ответы:

164

Я нашел это! Мне нужно было сделать это:

ls /sys/firmware/acpi/tables

Что дало мне MSDMстол, который я искал.
Я нашел свой лицензионный ключ! : D

Чтобы получить его, вам необходимо прочитать содержимое /sys/firmware/acpi/tables/MSDMфайла.

Вот пример:

riking@hp-laptop:~$ sudo xxd /sys/firmware/acpi/tables/MSDM
0000000: 4d53 444d 5500 0000 0313 4850 514f 454d  MSDMU.....HPQOEM
0000010: 534c 4943 2d4d 5043 0100 0000 4850 2020  SLIC-MPC....HP  
0000020: 0000 0400 0100 0000 0000 0000 0100 0000  ................
0000030: 0000 0000 1d00 0000 4639 XXXX XXXX XXXX  ........F98**-**
0000040: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX  ***-*****-*****-
0000050: XXXX XXXX XX                             ****T

*** - это содержимое лицензионного ключа в тексте ASCII.

Riking
источник
4
Довольно интересно. Но действительно ли этот ключ пригоден для использования? Я полагаю, что есть больше, чем встроенные лицензии, чем фактический ключ.
Даниэль Б
1
@DanielB Все, что вам нужно сделать, это позвонить в MS и подтвердить, что вы на самом деле устанавливаете Windows на тот же компьютер, который был продан.
Riking
37
Или проще:sudo hexdump -s 56 -e '"MSDM key: " /29 "%s\n"' /sys/firmware/acpi/tables/MSDM
david6
2
У меня была та же проблема, и я успешно извлек ключ с помощью этого метода, который работает только для систем UEFI. Однако, когда вы просто хотите переустановить систему, которая поставляется с предустановленной Windows, необходимо только получить установочный образ (Microsoft делает это достаточно сложно по какой-то причине), обойти проверку надоедливых ключей с помощью общего OEM-ключа в зависимости от версии. вы хотите установить, и когда установка будет завершена, Windows заберет ваш ключ из EFI BIOS и активирует автоматически (!). Работал на моей собственной системе с переустановкой Windows 8.1.
Грегор
5
@ david6 Проще: sudo tail -c +56 / sys / firmware / acpi / tables / MSDM
Nehal J Wani
28

Используя Fedora, я попробовал с:

sudo cat /sys/firmware/acpi/tables/MSDM

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

MSDMUoDELL  QA09   LOHR#####-#####-#####-#####-#####%  

Ключ продукта был заменен на #.

Рубенс Мариуццо
источник
1
Да, это тоже работает - я вставил hdсвой ответ, потому что он также отображает двоичные данные, поэтому у вас есть более четкое разделение того, где они начинаются.
Riking
8
Для разборчивости: sudo cat / sys / firmware / acpi / tables / MSDM | струны
Аарон Дж Ланг
1
И чтобы получить актуальный ключsudo cat /sys/firmware/acpi/tables/MSDM | strings | tail -n 1
Георгий Сапкин
9

Я не смог найти /sys/firmware/acpi/tables/MSDMна своем ASUS T100TA под управлением Ubuntu 13.10 amd64, но я нашел пакет под названием acpidumpдовольно полезный. Запуск в acpidumpкачестве корня я был в состоянии получить содержимое MSDM таблицы.

$ sudo acpidump
...
MSDM @ 0x78d53f90
  0000: 4d 53 44 4d 55 00 00 00 03 6c 5f 41 53 55 53 5f  MSDMU....l_ASUS_
  0010: 4e 6f 74 65 62 6f 6f 6b 00 00 00 00 41 53 55 53  Notebook....ASUS
  0020: 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00  ................
  0030: 00 00 00 00 1d 00 00 00 ** ** ** ** ** ** ** **  ........*****-**
  0040: ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **  ***-*****-*****-
  0050: ** ** ** ** **                                   *****
...
Эрик
источник
2
Хм - две вещи. (1) почему вы 13.10, это сентябрь 2014 года. И (2) - папка /sys/firmware/acpi/tables/существует? Возможно, что вы что-то монтируете где-то еще (или вообще не)
Riking
@Riking, он существует, но единственный файл в этом каталоге DSDT. На момент установки устройства 13.10 была последней доступной версией Ubuntu. Было довольно сложно запустить 64-битный Linux с 32-битным UEFI, поэтому я не стал тратить время на его обновление. Во всяком случае, я действительно никогда не пользуюсь устройством, и подумал, что было бы неплохо установить на него Windows 8, чтобы его могли использовать другие.
Эрик
8

Это вариант принятого ответа, обеспечивающий гораздо более удобный вывод, более легкий для чтения и копирования.

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

Протестировано на Ubuntu 14.04 для Windows 8.1

XavierStuvw
источник
1
Чтобы получить только ключ, добавьте: | tail -1в конце команды.
Виктор