Como posso saber se o Windows 10 foi uma nova instalação ou atualização de 7/8?

15

Existe uma maneira confiável de determinar o histórico de atualizações do sistema operacional que leva ao Windows 10 ou se foi uma nova instalação?

y3sh
fonte
2
Procure uma Windows.oldpasta na sua unidade de inicialização. Se essa pasta estiver presente, verifique se ele contém dados de uma versão anterior do Windows ou Windows 10.
GiantTree
3
@GiantTree, que é uma maneira temporária de saber, pois essa pasta é excluída após 30 dias. Não conheço outro método para saber se foi uma atualização ou instalação limpa.
DrZoo 27/01
4
procure o valor MediaBootInstall em HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / CurrentVersion / Setup / OOBE / . Se MediaBootInstall = 1, o Windows foi instalado via ISO / DVD. Se MediaBootInstall = 0, Windows foi um upgrade
magicandre1981

Respostas:

19

Há um excelente tutorial em dez fóruns referente a um tópico separado:

Como mover a pasta de perfil de usuários para outro local no Windows 10

Nesse tutorial, o autor diz o seguinte:

Precisamos editar o registro do Windows para "enganar" o Windows para pensar que esta é uma instalação limpa em vez de uma atualização. Para fazer isso, abra o Editor do Registro (WIN + R, digite regedit, pressione Enter), navegue até a chave HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Exclua as atualizações DWORD (painel direito) e KEY Upgrade (painel esquerdo), consulte a captura de tela.

A captura de tela subsequente do autor exibe as entradas apropriadas no registro:

Excluir atualização DWORD

A seguinte área no registro parece ser a chave para determinar se uma instalação do Windows 10 foi ou não uma atualização:

HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Para provar essa teoria, iniciei uma instalação limpa do Windows 10 na minha máquina de teste e examinei a mesma área do registro. A Upgradechave está notavelmente ausente:

Configuração do sistema HKLM

Em seguida, usei outra máquina para uma instalação limpa do Windows 7 e, em seguida, realizei uma atualização no local para o Windows 10. Observando a mesma área do registro, vi o seguinte:

Registro - Configuração da atualização

Observe que a Upgradechave está presente, junto com uma Source OSchave pertinente . Se olharmos mais de perto a Source OSchave, veremos o seguinte:

Registro - Atualizar SO de origem

Você pode ver claramente o Windows 7 Enterprise listado como o valor do ProductNamerelacionado à Source OSchave.

O feedback da comunidade levou a pesquisas adicionais. Examinando outra máquina que foi originalmente configurada com uma instalação limpa da linha de base RTM do Windows 10 (versão 1507), vemos o seguinte:

Atualização do Registro - Source OS 1511

Embora o sistema operacional deste computador tenha sido configurado através de uma instalação limpa, a Upgradechave ainda está presente. No entanto, quando examinamos cada Source OSchave, podemos ver que as datas de cada atualização correspondem aproximadamente ao mesmo período das duas primeiras versões principais da atualização de recursos do Windows 10: versões 1511 e 1607. Além disso, o valor dos ProductNameprogramas Windows 10 Pro , mesmo na Source OSchave mais antiga . A Source OSchave mais recente apresenta uma pista adicional:

Atualização do registro - SO de origem 1607

A atualização mais recente mostra um ReleaseIdvalor de 1511 , indicando a versão precisa do Windows 10 que estava sendo utilizada antes da atualização.

Com base no que vimos, podemos tirar as seguintes conclusões :

  • A HKLM\SYSTEM\Setupchave do registro nos permite determinar se o Windows 10 foi originalmente configurado com uma instalação limpa ou uma atualização.
  • Se a Upgradechave estiver faltando, foi definitivamente uma instalação limpa.
  • Se a Upgradechave estiver lá, ela pode ter sido gerada por uma atualização tradicional do Windows (do Windows 7 ou Windows 8.x) ou pode ter sido criada durante uma grande atualização de recurso do Windows 10 (por exemplo, versões 1511 e 1607).
  • Se a Upgradechave estiver lá, você precisará inspecioná- Source OSlas.
  • A Source OSchave mais antiga revelará o sistema operacional original dentro do ProductNamevalor correspondente : se é uma versão do Windows 7 ou Windows 8, foi uma atualização. Se for uma variante do Windows 10, foi uma instalação limpa.
Run5k
fonte
@ Ƭᴇcʜιᴇ007, obrigado, bom senhor! Eu gostei de trabalhar neste.
Run5k
1

Como postado por Magicandre1981 nos comentários:

Procure o valor MediaBootInstall em

HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / Versão Atual / Instalação / OOBE /.

Se MediaBootInstall = 1, o Windows foi instalado via ISO / DVD.

Se MediaBootInstall = 0, o Windows era uma atualização

Moab
fonte
Eu verifiquei várias instalações do Windows 10 1511 e 1607 e nenhuma delas possui uma chave MediaBootInstall na ramificação OOBE. Eles têm uma "InstallType", e até agora tem sido 4 ou 5, mas eu não tenho sido capaz de discernir o seu uso / significado ainda ...
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, reservei um tempo para verificar duas máquinas na minha rede doméstica na tentativa de verificar isso. Ambos foram configurados com uma instalação limpa do Windows 10 1607 no final de janeiro: um é x64, o outro é x86. Cada um deles realmente tem o MediaBootInstallDWORD relacionado à OOBEchave, mas o valor está 0dentro de ambos. Na minha experiência, o Magicandre1981 e o Moab têm sido uma excelente fonte de respostas confiáveis ​​do Windows, então não tenho dúvidas de que isso provavelmente aconteceu em algum momento. No entanto, a evolução contínua do Windows 10 parece ter substituído essa resposta.
precisa saber é
0
$Products = Get-ItemProperty -Name ProductName -Path "HKLM:\SYSTEM\SETUP\Source OS*" | select Productname -Unique
if ($Products -like '*7*')
{
WRITE-HOST Upgraded
}
ELSE
{
Write-Host Fresh Install
}
ANIEFIOK UMOH
fonte