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.