Jak mogę uzyskać dostęp do mojego wbudowanego klucza systemu Windows 8+ ze środowiska Linux?

121

Widziałem inne pytania SuperUser na ten temat: Jak znaleźć klucz produktu Windows 8? | Jak znaleźć klucz produktu OEM systemu Windows 8? Jednak wszystkie odpowiedzi zakładają, że masz uruchomiony system Windows 8.

Przeprowadziłem już czystą instalację Ubuntu 13.04 na moim nowym laptopie i próbuję skonfigurować środowisko VM dla tych sporadycznych programów, które absolutnie odmawiają uruchomienia nawet z Wine.

Widziałem ten obraz w innej odpowiedzi:

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

Wygląda więc na to, że klucz powinien być jakoś dostępny za pośrednictwem ACPI. Jednak próbowałem ls /proc/acpii okazuje się to nic użytecznego, o ile widzę, i acpitoolwcale mi nie pomaga.

Jak do cholery mogę uzyskać klucz produktu?

EDYCJA : Próbowałem uruchomić RW-Everything przez Wine ( program na zdjęciu ), ale nie można „zainstalować sterownika”. Więc nie ma tam kości.

Riking
źródło
Przynajmniej z moją instalacją systemu Windows 8.1 powoduje to, że klucz różni się od klucza wytwarzanego przez to inne rozwiązanie .
caw

Odpowiedzi:

164

Znalazłem to! Musiałem to zrobić:

ls /sys/firmware/acpi/tables

Co dało mi MSDMstół, którego szukałem.
Znalazłem mój klucz licencyjny! :RE

Aby go zdobyć, musisz przeczytać zawartość /sys/firmware/acpi/tables/MSDMpliku.

Oto przykład:

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

*** są zawartością klucza licencyjnego w tekście ASCII.

Riking
źródło
4
Dość ciekawe. Ale czy ten klucz jest rzeczywiście użyteczny? Uważam, że licencje osadzone to coś więcej niż sam klucz.
Daniel B
1
@DanielB Wystarczy, że zadzwonisz do MS i potwierdzisz, że instalujesz system Windows na tym samym komputerze, co sprzedany.
Riking
37
Lub prościej:sudo hexdump -s 56 -e '"MSDM key: " /29 "%s\n"' /sys/firmware/acpi/tables/MSDM
david6
2
Miałem ten sam problem i pomyślnie wyodrębniłem klucz za pomocą tej metody, która działa tylko w systemach UEFI. Jeśli jednak chcesz ponownie zainstalować system z preinstalowanym systemem Windows, konieczne jest tylko uzyskanie obrazu instalacyjnego (z jakiegoś powodu Microsoft utrudnia to zadanie), ominąć nieprzyjemne sprawdzenie klucza za pomocą ogólnego klucza OEM w zależności od wersji chcesz zainstalować, a po zakończeniu instalacji system Windows odbierze klucz z systemu BIOS EFI i aktywuje się automatycznie (!). Przetwarzane w moim systemie z ponowną instalacją systemu Windows 8.1.
Gregor,
5
@ david6 Simpler: sudo tail -c +56 / sys / firmware / acpi / tables / MSDM
Nehal J Wani
28

Korzystając z Fedory, próbowałem z:

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

Co dało mi następujące wyniki:

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

Klucz produktu został zastąpiony przez #.

Rubens Mariuzzo
źródło
1
Tak, to też działa - podaję hdodpowiedź, ponieważ wyświetla również dane binarne, dzięki czemu masz wyraźniejszy podział na to, gdzie zaczyna się.
Riking
8
Dla czytelności: sudo cat / sys / firmware / acpi / tables / MSDM | struny
Aaron J Lang
1
I zdobyć prawdziwy kluczsudo cat /sys/firmware/acpi/tables/MSDM | strings | tail -n 1
George Sapkin
9

Nie mogłem znaleźć /sys/firmware/acpi/tables/MSDMna moim ASUS T100TA z Ubuntu 13.10 amd64, ale znalazłem pakiet o nazwie acpidumpbardzo przydatny. Działając acpidumpjako root byłem w stanie uzyskać zawartość tabeli 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: ** ** ** ** **                                   *****
...
Eric
źródło
2
Hm - dwie rzeczy. (1) dlaczego jesteś 13.10, to wrzesień 2014. I (2) - czy folder /sys/firmware/acpi/tables/istnieje? Możliwe, że masz coś do montażu gdzie indziej (lub wcale).
Riking
@Riking, istnieje, ale jedynym plikiem w tym katalogu jest DSDT. W momencie instalacji urządzenia 13.10 była najnowsza dostępna wersja Ubuntu. Uruchomienie 64-bitowego systemu Linux z 32-bitowym interfejsem UEFI było dość skomplikowane, więc nie spędziłem czasu na jego aktualizacji. I tak naprawdę nigdy nie korzystam z tego urządzenia i pomyślałem, że fajnie byłoby przywrócić Windows 8, aby inni mogli z niego korzystać.
Eric
8

Jest to wariant przyjętej odpowiedzi, dający znacznie bardziej przyjazny dla użytkownika wynik, łatwiejszy do odczytania i skopiowania

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

Testowany na Ubuntu 14.04 dla Windows 8.1

XavierStuvw
źródło
1
Aby uzyskać tylko klucz, dodaj: | tail -1na końcu polecenia.
Victor