Come estrarre la mia chiave di Windows 8+ incorporata da un ambiente Linux?


121

Ho visto altre domande di SuperUser su questo argomento: come trovare il codice Product Key di Windows 8? | Come trovare la chiave del prodotto OEM di Windows 8? Tuttavia, tutte le risposte presuppongono che Windows 8 sia in esecuzione.

Ho già eseguito un'installazione pulita di Ubuntu 13.04 sul mio nuovo laptop e sto cercando di creare un ambiente VM per quei programmi occasionali che si rifiutano assolutamente di funzionare anche con Wine.

Ho visto questa immagine su un'altra risposta:

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

Quindi sembra che la chiave dovrebbe essere in qualche modo disponibile tramite ACPI. Tuttavia, ci ho provato ls /proc/acpie questo non risulta nulla di utile per quanto posso vedere, e acpitoolnon mi aiuta affatto.

Come diamine posso ottenere la chiave del prodotto?

EDIT : Ho provato a eseguire RW-Everything tramite Wine (il programma nella foto ), ma non è in grado di "installare il suo driver". Quindi niente dadi lì.



Almeno con la mia installazione di Windows 8.1, questo risulta in una chiave diversa da quella prodotta da questa altra soluzione .
Caw

Risposte:


164

L'ho trovato! Ho dovuto fare questo:

ls /sys/firmware/acpi/tables

Il che mi ha dato il MSDMtavolo che stavo cercando.
Ho trovato la mia chiave di licenza! : D

Per ottenerlo, devi leggere il contenuto del /sys/firmware/acpi/tables/MSDMfile.

Ecco un esempio:

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

*** sono i contenuti della chiave di licenza, in testo ASCII.


4
Abbastanza interessante. Ma questa chiave è effettivamente utilizzabile? Credo che ci sia di più nelle licenze incorporate rispetto alla chiave effettiva.
Daniel B,

1
@DanielB Tutto ciò che devi fare è chiamare MS e confermare che stai effettivamente installando Windows sullo stesso computer di quello che hai venduto.
Riking

37
O più semplicemente:sudo hexdump -s 56 -e '"MSDM key: " /29 "%s\n"' /sys/firmware/acpi/tables/MSDM
david6

2
Ho avuto lo stesso problema ed ho estratto con successo la chiave con questo metodo, che funziona solo per i sistemi UEFI. Tuttavia, quando si desidera reinstallare il sistema fornito con Windows preinstallato, è necessario solo ottenere un'immagine di installazione (Microsoft lo rende abbastanza difficile per qualche motivo), aggirare il fastidioso controllo della chiave con una chiave OEM generica a seconda della versione si desidera installare e al termine dell'installazione, Windows prenderà la chiave dal BIOS EFI e si attiverà automaticamente (!). Tesed sul mio sistema con una reinstallazione di Windows 8.1.
Gregor,

5
@ david6 Più semplice: sudo tail -c +56 / sys / firmware / acpi / tables / MSDM
Nehal J Wani

28

Usando Fedora ho provato con:

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

Che mi ha dato i seguenti risultati:

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

Il codice Product Key è stato sostituito con #.


1
Sì, anche quello funziona - ho inserito la hdmia risposta perché mostra anche i dati binari, quindi hai una separazione più chiara da dove inizia.
Riking

8
Per leggibilità: sudo cat / sys / firmware / acpi / tables / MSDM | stringhe
Aaron J Lang,

1
E per ottenere la chiave effettivasudo cat /sys/firmware/acpi/tables/MSDM | strings | tail -n 1
George Sapkin,

9

Non sono riuscito a trovare /sys/firmware/acpi/tables/MSDMsul mio ASUS T100TA con Ubuntu 13.10 amd64, ma ho trovato un pacchetto chiamato acpidumpabbastanza utile. In esecuzione acpidumpcome root sono stato in grado di ottenere i contenuti della tabella 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
Hm - due cose. (1) perché sei il 13.10, è settembre 2014. E (2) - esiste la cartella /sys/firmware/acpi/tables/? Possibile che tu abbia qualcosa montandolo da qualche altra parte (o per niente).
Riking

@Riking, esiste ma l'unico file in quella directory è DSDT. Al momento ho installato il dispositivo 13.10 era l'ultima versione di Ubuntu disponibile. Era piuttosto complicato far funzionare Linux a 64 bit con UEFI a 32 bit, quindi non ho impiegato molto tempo per aggiornarlo. In realtà non uso mai il dispositivo e ho pensato che sarebbe stato bello rimetterlo su Windows 8 per essere utilizzato da altri.
Eric

8

Questa è una variante della risposta accettata che ti dà un output molto più user-friendly, più facile da leggere e copiare

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

Testato su Ubuntu 14.04 per Windows 8.1


1
Per ottenere solo la chiave, aggiungi: | tail -1alla fine del comando.
Victor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.