Jak sprawdzić, czy system Windows 10 był nową instalacją lub aktualizacją z wersji 7/8?

15

Czy istnieje niezawodny sposób na określenie historii uaktualnień systemu operacyjnego do Windows 10 lub czy była to nowa instalacja?

y3sh
źródło
2
Poszukaj Windows.oldfolderu na dysku rozruchowym. Jeśli ten folder jest obecny, sprawdź, czy zawiera dane z wcześniejszej wersji systemu Windows, czy Windows 10.
GiantTree
3
@GiantTree to tymczasowy sposób na sprawdzenie, ponieważ ten folder jest usuwany po 30 dniach. Nie znam żadnej innej metody określania, czy była to aktualizacja, czy czysta instalacja.
DrZoo
4
poszukaj wartości MediaBootInstall pod HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / CurrentVersion / Setup / OOBE / . Jeśli MediaBootInstall = 1, system Windows został zainstalowany przez ISO / DVD. Jeśli MediaBootInstall = 0, system Windows był uaktualnieniem
magicandre1981

Odpowiedzi:

19

Na Dziesięciu Forach znajduje się doskonały samouczek dotyczący odrębnego tematu:

Jak przenieść folder profilu użytkownika do innej lokalizacji w systemie Windows 10

W ramach tego samouczka autor mówi:

Musimy edytować rejestr systemu Windows, aby „oszukać” system Windows, aby pomyśleć, że jest to czysta instalacja zamiast uaktualnienia. Aby to zrobić, otwórz Edytor rejestru (WIN + R, wpisz regedit, naciśnij Enter), przejdź do klucza HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Usuń zarówno aktualizację DWORD (prawy panel), jak i KLUCZOWĄ aktualizację (lewy panel), patrz zrzut ekranu.

Kolejny zrzut ekranu autora wyświetla odpowiednie wpisy w rejestrze:

Usuń aktualizację DWORD

Następujący obszar rejestru wydaje się być kluczem do ustalenia, czy instalacja systemu Windows 10 była aktualizacją:

HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Aby udowodnić tę teorię, najpierw zainicjowałem czystą instalację systemu Windows 10 na mojej maszynie testowej i zbadałem ten sam obszar rejestru. UpgradeKlucz jest nieobecny w szczególności:

Konfiguracja systemu HKLM

Następnie użyłem innego komputera do czystej instalacji systemu Windows 7, a następnie przeprowadziłem uaktualnienie w miejscu do systemu Windows 10. Patrząc na ten sam obszar rejestru, zobaczyłem:

Rejestr - Konfiguracja aktualizacji

Zauważ, że Upgradeklucz jest obecny wraz z odpowiednim Source OSkluczem. Jeśli przyjrzymy się bliżej Source OSkluczowi, zobaczymy, co następuje:

Rejestr - uaktualnij źródłowy system operacyjny

System Windows 7 Enterprise można wyraźnie zobaczyć na liście jako wartość ProductNamepowiązaną z Source OSkluczem.

Informacje zwrotne od społeczności doprowadziły do ​​dodatkowych badań. Patrząc na inny komputer, który został pierwotnie skonfigurowany z czystą instalacją linii bazowej RTM systemu Windows 10 (wersja 1507), widzimy, co następuje:

Aktualizacja rejestru - źródłowy system operacyjny 1511

Chociaż system operacyjny tego komputera został skonfigurowany za pomocą czystej instalacji, Upgradeklucz jest nadal obecny. Jednak po przeanalizowaniu każdego Source OSklucza widzimy, że daty każdej aktualizacji odpowiadają mniej więcej tym samym ramom czasowym, co pierwsze dwa główne wydania aktualizacji funkcji systemu Windows 10: wersje 1511 i 1607. Ponadto wartość dla ProductNameprogramów Windows 10 Pro , nawet na najstarszym Source OSkluczu. Nowszy Source OSklucz zawiera dodatkową wskazówkę:

Aktualizacja rejestru - źródłowy system operacyjny 1607

Najnowsza aktualizacja pokazuje ReleaseIdwartość 1511 , wskazując dokładną wersję systemu Windows 10, która była używana przed aktualizacją.

Na podstawie tego, co widzieliśmy, możemy wyciągnąć następujące wnioski :

  • HKLM\SYSTEM\SetupKlucz rejestru pozwala nam określić, czy system Windows 10 był pierwotnie setup z czystej instalacji lub uaktualnienia.
  • Jeśli Upgradebrakuje klucza, była to zdecydowanie czysta instalacja.
  • Jeśli Upgradeklucz istnieje, mógł zostać wygenerowany przez tradycyjną aktualizację systemu Windows (z Windows 7 lub Windows 8.x) lub mógł zostać utworzony podczas ważnej aktualizacji funkcji systemu Windows 10 (np. Wersje 1511 i 1607).
  • Jeśli Upgradeklucz jest tam, musisz sprawdzić Source OSklucze.
  • Najstarszy Source OSklucz ujawni oryginalny system operacyjny w ramach odpowiedniej ProductNamewartości: jeśli jest to wersja Windows 7 lub Windows 8, była to aktualizacja. Jeśli jest to wariant systemu Windows 10, była to czysta instalacja.
Run5k
źródło
@ Ƭᴇcʜιᴇ007, dziękuję, dobry panie! Pracowałem nad tym.
Run5k
1

Jak opublikował Magicandre1981 w komentarzach:

Poszukaj wartości MediaBootInstall w obszarze

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

Jeśli MediaBootInstall = 1, system Windows został zainstalowany przez ISO / DVD.

Jeśli MediaBootInstall = 0, system Windows był uaktualnieniem

Moab
źródło
Sprawdziłem wiele instalacji Windows 10 1511 i 1607 i żadna z nich nie ma klucza MediaBootInstall w gałęzi OOBE. Mają „InstallType”, a do tej pory było to 4 lub 5, ale nie byłem jeszcze w stanie rozpoznać jego zastosowania / znaczenia ...
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, poświęciłem czas na sprawdzenie dwóch komputerów w mojej sieci domowej, próbując to sprawdzić. Oba zostały skonfigurowane z czystą instalacją systemu Windows 10 1607 pod koniec stycznia: jeden to x64, drugi to x86. Każdy z nich faktycznie ma MediaBootInstallDWORD związany z OOBEkluczem, ale wartość mieści się 0w obu. Z mojego doświadczenia wynika, że ​​zarówno Magicandre1981, jak i Moab były wspaniałym źródłem wiarygodnych odpowiedzi systemu Windows, więc nie mam wątpliwości, że w pewnym momencie było to prawdopodobnie prawdą. Jednak ciągła ewolucja systemu Windows 10 przesłoniła tę odpowiedź.
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
źródło