Come posso leggere la chiave di licenza di Windows 8 con Ubuntu?


18

Ho un dual boot di Windows 8 e Ubuntu sul mio laptop.

È possibile leggere la chiave di licenza di Windows sotto Ubuntu? (Immagino che sia nascosto in qualche modo nel registro di Windows)


È un sistema UEFI? In tal caso, è probabilmente nella memoria della chiave UEFT?
— Amith KK,

Sì, è un sistema UEFI. L'ho già trovato e pubblicato il post qui sotto;)
— rubo77

2
Revisori: questo non è fuori tema. Si tratta di usare Ubuntu per trovare informazioni in un'installazione di Windows. Perfettamente bene.
— Seth,

D'accordo, si tratta di un argomento, soprattutto considerando che sembra che si tratti davvero di leggere le informazioni ACPI dalla memoria del firmware: queste informazioni non sono nemmeno memorizzate all'interno di ciò che la maggior parte di noi penserebbe come il sistema di Windows.
— Eliah Kagan,

Risposte:


32

L'ho trovato qui . La chiave sembra essere memorizzata nel firmware ACPI:

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

Che mi ha dato i seguenti risultati:

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

(Ho sostituito il codice Product Key con #)

pipe | tail -n1se hai bisogno solo della chiave come output.


2
Questo potrebbe essere specifico di Lenovo per avere la chiave nel firmware. I miei computer di lavoro (laptop Dell e Compaq Desktop) dispongono di SLIC, ma non di MSDM. Certo, entrambi questi computer precedono Windows 8 di alcuni anni.
— The Dude,

1
Sui PC Dell più recenti, quella tabella esiste effettivamente. L'ho trovato su due desktop Dell Precision T1700 da giugno 2014.
— Jorge Suárez de Lis

Questo ha funzionato alla grande su un Lenovo Yoga3.
— seanbreeden,

Ha funzionato sul mio UEFI Acer Aspire V. Quindi si applica ad altri sistemi UEFI.
— Torrien,

3

Se il tuo HD è rotto e devi installarlo su un nuovo HD o vuoi semplicemente conoscere la chiave senza un HD, questo può aiutarti:

sudo acpidump > myhiddenkey.txt

successivamente, cerca nella tua cartella HOME il file .txt che hai appena creato. Premi F3 per cercare nel file la parola "MSDM" e bingo!

Se non lo hai acpmdumpancora, è tempo di installarlo usando

sudo apt-get install acpidump

Ha funzionato sul mio Live pendrive di Ubuntu 14.04 LTS su notebook Positivo. La chiave era di Windows 8 Single-language.


Ops, ho dimenticato. Il motivo per l'output su un file txt è perché la finestra del terminale potrebbe non supportare così tante righe di testo.
— Paulo Sérgio Motoyama Jr.,

Il risultato è di circa 8 righe dopo l'occorrenza di "MSDM", quindi questo mostrerà la chiave: sudo acpidump|grep MSDM -A8senza usare un file di testo
— rubo77

1
acpidumpha la possibilità -ndi selezionare solo una parte. Questo emetterà la chiave in una riga: sudo acpidump -n msdm | cut -c58-|xargs|tr -d " "
— rubo77

c'è un modo per sapere a quale versione di Windows appartiene? 8 o 8.1? o non importa? Non voglio usare dama di terze parti
— Punto e virgola temuto

1

Ne ho un altro da aggiungere all'ultimo comando che mi ha aiutato:

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

Non sono sicuro che la stringa sia definitivamente alla fine, ma è così che ho estratto la chiave stessa.


Tratta sempre la tua risposta come l'unica vera risposta. 😃
— rubo77,

Per rendere questa una buona risposta, aggiungi che la posizione esatta potrebbe differire su altri sistemi. Questo selezionerà esattamente 6 righe dopo aver trovato MSDN nell'output, che è in HEX
— rubo77

puoi usare acpidump -n msdminvece disudo acpidump|grep MSDM -A6
— rubo77

1

Un leggero affinamento sulla risposta accettata. Questo stamperà solo la chiave:

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

1
uso migliore sudo strings /sys/firmware/acpi/tables/MSDM |tail -n1(nel raro caso il nome del tuo rivenditore si adatta al tuo regex grep)
— rubo77
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.