Як дізнатись, чи було встановлено або оновлено Windows 10 із 7/8?


15

Чи є надійний спосіб визначити історію оновлення ОС, що веде до Windows 10, чи це була нова установка?


2
Знайдіть Windows.oldпапку на завантажувальному диску. Якщо ця папка присутня, перевірте, чи містять вона дані з попередньої версії Windows або Windows 10.
GiantTree

3
@GiantTree - це тимчасовий спосіб сказати, оскільки папка видаляється через 30 днів. Я не знаю жодного іншого методу, щоб сказати, чи це було оновлення чи чиста установка.
DrZoo

4
шукайте значення MediaBootInstall у розділі HKEY_LOCAL_MACHINE / Програмне забезпечення / Microsoft / Windows / CurrentVersion / Setup / OOBE / . Якщо MediaBootInstall = 1, WIndows був встановлений через ISO / DVD. Якщо MediaBootInstall = 0, Windows була оновленням
magicandre1981

Відповіді:


19

На Десяти форумах є чудовий підручник, що стосується окремої теми:

Як перемістити папку профілю користувачів в інше місце в Windows 10

У цьому підручнику автор говорить наступне:

Нам потрібно відредагувати реєстр Windows, щоб "дурити" Windows, щоб вважати, що це чиста установка замість оновлення. Для цього відкрийте Редактор реєстру (WIN + R, введіть regedit, натисніть Enter), перейдіть до клавіші HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

Видаліть як оновлення DWORD (права панель), так і KEY Upgrade (ліва панель), див. Скріншот.

Наступний знімок екрана автора відображає відповідні записи в реєстрі:

Видалити оновлення DWORD

Наступна область в реєстрі, здається, є ключовою для визначення того, чи було встановлення Windows 10 оновленням чи ні:

HKEY_LOCAL_MACHINE \ SYSTEM \ Налаштування

Щоб довести цю теорію, я спершу ініціював чисту установку Windows 10 на моїй тестовій машині та перевірив ту саму область реєстру. UpgradeКлюч в зокрема , відсутній:

Налаштування системи HKLM

Далі я використав іншу машину для чистої установки Windows 7, а потім здійснив внутрішнє оновлення до Windows 10. Переглядаючи ту саму область реєстру, я побачив таке:

Реєстр - оновлення налаштування

Зауважте, що Upgradeключ присутній разом із відповідним Source OSключем. Якщо ми детальніше подивимось на Source OSключ, то побачимо наступне:

Реєстр - оновлення вихідної ОС

Ви можете чітко побачити Windows 7 Enterprise у списку як значення для ProductNameпов'язаного з Source OSключем.

Відгуки спільноти призвели до додаткових досліджень. Переглядаючи іншу машину, спочатку налаштовану з чистою установкою RTM базової лінії Windows 10 (версія 1507), ми бачимо наступне:

Оновлення реєстру - джерело ОС 1511

Хоча ОС цього комп'ютера була налаштована за допомогою чистої установки, Upgradeключ все ще присутній. Однак, вивчаючи кожну Source OSклавішу, ми можемо побачити, що дати кожного оновлення відповідають приблизно однаковому часовому інтервалу, що і перші два основні версії оновлення для Windows 10: версії 1511 та 1607. Також значення для ProductNameшоу Windows 10 Pro , навіть на найдавнішому Source OSключі. Новий Source OSключ має додаткову підказку:

Оновлення реєстру - джерело ОС 1607

Останнє оновлення показує ReleaseIdзначення 1511 , що вказує на точну версію Windows 10, яка використовувалася до оновлення.

Спираючись на побачене, ми можемо зробити наступні висновки :

  • HKLM\SYSTEM\SetupКлюч реєстру дозволяє визначити , є чи ОС Windows 10 спочатку була установка з чистою установки або оновлення.
  • Якщо Upgradeключ відсутній, це, безумовно, чиста установка.
  • Якщо Upgradeключ є, він може бути згенерований традиційним оновленням Windows (або до Windows 7, або до Windows 8.x), або він може бути створений під час основного оновлення функцій Windows 10 (наприклад, версій 1511 та 1607).
  • Якщо Upgradeключ є, вам потрібно оглянути Source OSключі.
  • Найдавніший Source OSключ розкриє оригінальну операційну систему у відповідному ProductNameзначенні: якщо це аромат Windows 7 або Windows 8, це була оновлення. Якщо це варіант Windows 10, це була чиста установка.

@ Ƭᴇcʜιᴇ007, дякую, добрий пане! Мені подобалося працювати над цим.
Run5k

1

Як опублікував Magicandre1981 у коментарях:

Шукайте значення MediaBootInstall під

HKEY_LOCAL_MACHINE / Програмне забезпечення / Microsoft / Windows / CurrentVersion / Setup / OOBE /.

Якщо MediaBootInstall = 1, WIndows був встановлений через ISO / DVD.

Якщо MediaBootInstall = 0, Windows було оновленням


Я перевірив кілька встановлень Windows 10 1511 і 1607, і жодна з них не має ключа MediaBootInstall у відділенні OOBE. У них є "InstallType", і до цих пір це було або 4, або 5, але я ще не зміг розпізнати його вживання / значення ...
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007, я спробував перевірити це на двох машинах у своїй домашній мережі. Вони були налаштовані з чистою установкою Windows 10 1607 ще в кінці січня: одна - x64, друга - x86. У кожного з них дійсно є MediaBootInstallDWORD, пов'язаний з OOBEключем, але значення знаходиться 0в обох. На мій досвід, і Magicandre1981, і Moab були приголомшливим джерелом надійних відповідей Windows, тому я не сумніваюся, що це було певно в певний час. Однак, здається, що в даний час еволюція Windows 10 перемогла цю відповідь.
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
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.