Comment savoir si Windows 10 était une nouvelle installation ou mise à niveau à partir du 7/8?

15

Existe-t-il un moyen fiable de déterminer l'historique de mise à niveau du système d'exploitation menant à Windows 10 ou s'il s'agissait d'une nouvelle installation?

y3sh
la source
2
Recherchez un Windows.olddossier sur votre lecteur de démarrage. Si ce dossier est présent, vérifiez s'il contient des données d'une version antérieure de Windows ou de Windows 10.
GiantTree
3
@GiantTree, c'est une façon temporaire de le dire, car ce dossier est supprimé après 30 jours. Je ne connais aucune autre méthode pour dire s'il s'agissait d'une mise à niveau ou d'une nouvelle installation.
DrZoo
4
recherchez la valeur MediaBootInstall sous HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / CurrentVersion / Setup / OOBE / . Si MediaBootInstall = 1, WIndows a été installé via ISO / DVD. Si MediaBootInstall = 0, Windows était une mise à niveau
magicandre1981

Réponses:

19

Il existe un excellent tutoriel sur dix forums portant sur un sujet distinct:

Comment déplacer le dossier de profil des utilisateurs vers un autre emplacement dans Windows 10

Dans ce tutoriel, l'auteur dit ce qui suit:

Nous devons modifier le registre Windows pour "tromper" Windows pour penser qu'il s'agit d'une installation propre au lieu d'une mise à niveau. Pour ce faire, ouvrez l' Éditeur du Registre (WIN + R, tapez regedit, appuyez sur Entrée), accédez à la clé HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Supprimez à la fois la mise à niveau DWORD (volet droit) et la mise à niveau KEY (volet gauche), voir capture d'écran.

La capture d'écran suivante de l'auteur affiche les entrées appropriées dans le registre:

Supprimer la mise à niveau DWORD

La zone suivante du registre semble être la clé pour déterminer si une installation de Windows 10 était ou non une mise à niveau:

HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Afin de prouver cette théorie, j'ai d'abord lancé une nouvelle installation de Windows 10 sur ma machine de test et examiné la même zone du registre. La Upgradeclé est notamment absente:

Configuration du système HKLM

Ensuite, j'ai utilisé une autre machine pour une nouvelle installation de Windows 7, puis j'ai effectué une mise à niveau sur place vers Windows 10. En regardant la même zone du registre, j'ai vu ce qui suit:

Registre - Configuration de la mise à niveau

Notez que la Upgradeclé est présente, avec une Source OSclé pertinente . Si nous regardons de plus près la Source OSclé, nous voyons ce qui suit:

Registre - Mettre à niveau le système d'exploitation source

Vous pouvez clairement voir Windows 7 Enterprise répertorié comme la valeur ProductNamede la Source OSclé associée .

Les commentaires de la communauté ont mené à des recherches supplémentaires. En jetant un œil à une autre machine qui a été initialement configurée avec une nouvelle installation de la ligne de base RTM de Windows 10 (version 1507), nous voyons ce qui suit:

Mise à niveau du registre - OS source 1511

Bien que le système d'exploitation de cet ordinateur ait été configuré via une nouvelle installation, la Upgradeclé est toujours présente. Cependant, lorsque nous examinons chaque Source OSclé, nous pouvons voir que les dates de chaque mise à jour correspondent à peu près au même laps de temps que les deux premières versions majeures de la mise à jour des fonctionnalités de Windows 10: versions 1511 et 1607. En outre, la valeur de la ProductNamemontre Windows 10 Pro , même sur la Source OSclé la plus ancienne . La nouvelle Source OSclé présente un indice supplémentaire:

Mise à niveau du registre - Source OS 1607

La dernière mise à jour affiche une ReleaseIdvaleur de 1511 , indiquant la version précise de Windows 10 qui était utilisée avant la mise à jour.

Sur la base de ce que nous avons vu, nous pouvons tirer les conclusions suivantes :

  • La HKLM\SYSTEM\Setupclé de registre nous permet de déterminer si Windows 10 a été initialement configuré avec une installation propre ou une mise à niveau.
  • Si la Upgradeclé est manquante, c'était définitivement une installation propre.
  • Si la Upgradeclé est là, elle pourrait avoir été générée par une mise à niveau traditionnelle de Windows (à partir de Windows 7 ou Windows 8.x), ou elle peut avoir été créée lors d'une mise à jour majeure des fonctionnalités de Windows 10 (par exemple, les versions 1511 et 1607).
  • Si la Upgradeclé est là, vous devez inspecter les Source OSclés.
  • La Source OSclé la plus ancienne révélera le système d'exploitation d'origine dans la ProductNamevaleur correspondante : s'il s'agit d'une version de Windows 7 ou Windows 8, il s'agissait d'une mise à niveau. S'il s'agit d'une variante de Windows 10, c'était une installation propre.
Run5k
la source
@ Ƭᴇcʜιᴇ007, merci, bon monsieur! J'ai aimé travailler sur celui-ci.
Run5k
1

Tel que publié par Magicandre1981 dans les commentaires:

Recherchez la valeur MediaBootInstall sous

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

Si MediaBootInstall = 1, WIndows a été installé via ISO / DVD.

Si MediaBootInstall = 0, Windows était une mise à niveau

Moab
la source
J'ai vérifié plusieurs installations de Windows 10 1511 et 1607, et aucune d'entre elles n'a de clé MediaBootInstall dans la branche OOBE. Ils ont un "InstallType", et jusqu'à présent, c'était 4 ou 5, mais je n'ai pas encore pu discerner son utilisation / signification ...
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, j'ai pris le temps de vérifier deux machines sur mon réseau domestique pour essayer de le vérifier. Les deux ont été configurés avec une nouvelle installation de Windows 10 1607 à la fin janvier: l'un est x64, l'autre est x86. Chacun d'eux a en fait le MediaBootInstallDWORD lié à la OOBEclé, mais la valeur est 0dans les deux. D'après mon expérience, Magicandre1981 et Moab ont été une excellente source de réponses fiables pour Windows, donc je ne doute pas que cela était probablement vrai à un moment donné. Cependant, l'évolution en cours de Windows 10 semble avoir outrepassé cette réponse.
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
la source