Como posso ler a chave de licença do Windows 8 com o Ubuntu?

18

Eu tenho um dual boot windows 8 e Ubuntu no meu laptop.

É possível ler a chave de licença do Windows no ubuntu? (Eu acho que está escondido no registro do Windows de alguma forma)

rubo77
fonte
É um sistema UEFI; nesse caso, provavelmente está na memória da UEFT Key?
Amith KK 22/02
Sim, é um sistema UEFI. Eu já o encontrou e postou o ansewer abaixo;)
rubo77
2
Revisores: isso não é fora de tópico. Trata-se de usar o Ubuntu para encontrar informações em uma instalação do Windows. Perfeitamente bem.
Seth
Concordado, este é um tópico, especialmente considerando que isso pode realmente ser sobre a leitura de informações da ACPI no armazenamento de firmware: essas informações nem são armazenadas dentro do que a maioria de nós pensaria como o sistema Windows.
Eliah Kagan

Respostas:

32

Encontrei aqui . A chave parece estar armazenada no firmware ACPI:

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

O que me deu os seguintes resultados:

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

(Substituí a chave do produto por #)

canalize | tail -n1se você precisar apenas da chave como saída.

rubo77
fonte
2
Isso pode ser específico da Lenovo para ter a chave no firmware. Meus computadores de trabalho (Dell Laptop e Compaq Desktop) têm um SLIC, mas não MSDM. É certo que esses dois computadores são anteriores ao Windows 8 por alguns anos.
The Dude
1
Em computadores Dell mais recentes, essa tabela realmente existe. Encontrei-o em dois desktops Dell Precision T1700 a partir de junho de 2014.
Jorge Suárez de Lis
Isso funcionou muito bem em um Lenovo Yoga3.
Seanbreeden 19/09/16
Trabalhei no meu UEFI Acer Aspire V. Portanto, ele se aplica a outros sistemas UEFI.
Torrien 17/03/19
3

Se o seu HD estiver com problemas e precisar ser instalado em um novo HD ou apenas desejar saber a chave sem um HD, isso poderá ajudá-lo:

sudo acpidump > myhiddenkey.txt

depois disso, procure na pasta HOME o arquivo .txt que você acabou de criar. Pressione F3 para pesquisar no arquivo a palavra "MSDM" e o bingo!

Se você ainda não possui acpmdump, é hora de instalá-lo usando

sudo apt-get install acpidump

Funcionou no meu pendrive Live do Ubuntu 14.04 LTS no notebook Positivo. A chave era de um Windows 8 de idioma único.

Paulo Sérgio Motoyama Jr.
fonte
Ops, eu esqueci. O motivo da saída em um arquivo txt é que a janela do terminal pode não suportar tantas linhas de texto.
Paulo Sérgio Motoyama Jr.
O resultado é cerca de 8 linhas após a occurrrence de "msdm" para que isso irá mostrar a chave: sudo acpidump|grep MSDM -A8sem o uso de um arquivo de texto
rubo77
1
acpidumptem a opção -nde selecionar apenas uma parte. A saída será a chave em uma linha: sudo acpidump -n msdm | cut -c58-|xargs|tr -d " "
rubo77
existe uma maneira de saber a que versão do Windows pertence? 8 ou 8.1? ou isso não importa? Eu não quero usar damas 3rd party
Temido vírgula
1

Tenho outro para adicionar ao último comando que me ajudou:

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

Não tenho certeza se a string está definitivamente no final, mas foi assim que extraí a própria chave.

Jeremy
fonte
Sempre trate sua resposta como a única resposta verdadeira. 😃
rubo77
Para fazer uma boa resposta, adicione que a posição exata possa diferir em outros sistemas. Isso irá selecionar exatas 6 linhas depois de encontrar MSDN na saída, que está em HEX
rubo77
você pode usar acpidump -n msdmem vez desudo acpidump|grep MSDM -A6
rubo77
1

Um ligeiro refinamento na resposta aceita. Isso imprimirá apenas a chave:

sudo strings /sys/firmware/acpi/tables/MSDM | grep .*-.*-.*-.*-.*
página nova
fonte
1
melhor aproveitamento sudo strings /sys/firmware/acpi/tables/MSDM |tail -n1(no caso raro seu vender fits nome ao seu regex grep)
rubo77