¿Cómo puedo saber si Windows 10 fue una instalación nueva o una actualización de 7/8?

15

¿Hay alguna forma confiable de determinar el historial de actualizaciones del sistema operativo que conduzca a Windows 10 o si fue una instalación nueva?

y3sh
fuente
2
Busque una Windows.oldcarpeta en su unidad de arranque. Si esa carpeta está presente, verifique si contiene datos de una versión anterior de Windows o Windows 10.
GiantTree
3
@GiantTree es una forma temporal de saberlo, ya que esa carpeta se elimina después de 30 días. No conozco ningún otro método para saber si fue una actualización o una instalación limpia.
DrZoo
44
busque el valor MediaBootInstall en HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / CurrentVersion / Setup / OOBE / . Si MediaBootInstall = 1, Windows se instaló a través de ISO / DVD. Si MediaBootInstall = 0, Windows fue una actualización
magicandre1981

Respuestas:

19

Hay un excelente tutorial sobre diez foros relacionados con un tema separado:

Cómo mover la carpeta del perfil de los usuarios a otra ubicación en Windows 10

Dentro de ese tutorial, el autor dice lo siguiente:

Necesitamos editar el registro de Windows para "engañar" a Windows y pensar que se trata de una instalación limpia en lugar de una actualización. Para hacer esto, abra el Editor del registro (WIN + R, escriba regedit, presione Enter), busque la tecla HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Elimine tanto la actualización DWORD (panel derecho) como la actualización KEY (panel izquierdo), vea la captura de pantalla.

La siguiente captura de pantalla del autor muestra las entradas apropiadas en el registro:

Eliminar actualización DWORD

La siguiente área dentro del registro parece ser la clave para determinar si una instalación de Windows 10 fue o no una actualización:

HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Para probar esta teoría, primero inicié una instalación limpia de Windows 10 en mi máquina de prueba y examiné la misma área del registro. La Upgradeclave está notablemente ausente:

Configuración del sistema HKLM

Luego, utilicé otra máquina para una instalación limpia de Windows 7 y luego realicé una actualización in situ a Windows 10. Al observar la misma área del registro, vi lo siguiente:

Registro - Configuración de actualización

Observe que la Upgradeclave está presente, junto con una Source OSclave pertinente . Si observamos más de cerca la Source OSclave, vemos lo siguiente:

Registro: actualizar el sistema operativo de origen

Puede ver claramente Windows 7 Enterprise en la lista como el valor ProductNamerelacionado con la Source OSclave.

Los comentarios de la comunidad llevaron a una investigación adicional. Echando un vistazo a otra máquina que se configuró originalmente con una instalación limpia de la línea base RTM de Windows 10 (versión 1507), vemos lo siguiente:

Actualización del registro - Fuente OS 1511

Aunque el sistema operativo de esta computadora se configuró a través de una instalación limpia, la Upgradeclave aún está presente. Sin embargo, cuando examinamos cada Source OSclave, podemos ver que las fechas de cada actualización corresponden aproximadamente al mismo período de tiempo que las dos primeras versiones principales de actualización de características de Windows 10: versiones 1511 y 1607. Además, el valor para Windows 10 ProProductName muestra , incluso en la clave más antigua . La nueva clave presenta una pista adicional: Source OSSource OS

Actualización del registro - Fuente OS 1607

La última actualización muestra un ReleaseIdvalor de 1511 , que indica la versión precisa de Windows 10 que se estaba utilizando antes de la actualización.

En base a lo que hemos visto, podemos sacar las siguientes conclusiones :

  • La HKLM\SYSTEM\Setupclave de registro nos permite determinar si Windows 10 se configuró originalmente con una instalación limpia o una actualización.
  • Si Upgradefalta la clave, definitivamente fue una instalación limpia.
  • Si la Upgradeclave está allí, podría haber sido generada por una actualización tradicional de Windows (desde Windows 7 o Windows 8.x), o podría haberse creado durante una actualización importante de características de Windows 10 (por ejemplo, las versiones 1511 y 1607).
  • Si la Upgradeclave está allí, debe inspeccionar las Source OSclaves.
  • La Source OSclave más antigua revelará el sistema operativo original dentro del ProductNamevalor correspondiente : si es una versión de Windows 7 o Windows 8, fue una actualización. Si es una variante de Windows 10, fue una instalación limpia.
Run5k
fuente
@ Ƭᴇcʜιᴇ007, gracias, buen señor! Disfruté trabajando en este.
Run5k
1

Como publicado por Magicandre1981 en los comentarios:

Busque el valor MediaBootInstall en

HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / CurrentVersion / Setup / OOBE /.

Si MediaBootInstall = 1, Windows se instaló a través de ISO / DVD.

Si MediaBootInstall = 0, Windows fue una actualización

Moab
fuente
He comprobado varias instalaciones de Windows 10 1511 y 1607, y ninguna de ellas tiene una clave MediaBootInstall en la rama OOBE. Tienen un "InstallType", y hasta la fecha que ha sido 4 o 5, pero no han sido capaces de discernir su uso / significado sin embargo ...
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, me tomé el tiempo de verificar dos máquinas en mi red doméstica en un intento de verificar esto. Ambos se configuraron con una instalación limpia de Windows 10 1607 a fines de enero: uno es x64, el otro es x86. Cada uno de ellos tiene la MediaBootInstallDWORD relacionada con la OOBEclave, pero el valor está 0dentro de ambos. En mi experiencia, tanto Magicandre1981 como Moab han sido una excelente fuente de respuestas confiables de Windows, por lo que no tengo dudas de que esto probablemente fue cierto en algún momento. Sin embargo, la evolución continua de Windows 10 parece haber anulado esta respuesta.
Run5k
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
fuente