Чи є надійний спосіб визначити історію оновлення ОС, що веде до Windows 10, чи це була нова установка?
Чи є надійний спосіб визначити історію оновлення ОС, що веде до Windows 10, чи це була нова установка?
Відповіді:
На Десяти форумах є чудовий підручник, що стосується окремої теми:
Як перемістити папку профілю користувачів в інше місце в Windows 10
У цьому підручнику автор говорить наступне:
Нам потрібно відредагувати реєстр Windows, щоб "дурити" Windows, щоб вважати, що це чиста установка замість оновлення. Для цього відкрийте Редактор реєстру (WIN + R, введіть regedit, натисніть Enter), перейдіть до клавіші HKEY_LOCAL_MACHINE \ SYSTEM \ Setup
Видаліть як оновлення DWORD (права панель), так і KEY Upgrade (ліва панель), див. Скріншот.
Наступний знімок екрана автора відображає відповідні записи в реєстрі:
Наступна область в реєстрі, здається, є ключовою для визначення того, чи було встановлення Windows 10 оновленням чи ні:
HKEY_LOCAL_MACHINE \ SYSTEM \ Налаштування
Щоб довести цю теорію, я спершу ініціював чисту установку Windows 10 на моїй тестовій машині та перевірив ту саму область реєстру. Upgrade
Ключ в зокрема , відсутній:
Далі я використав іншу машину для чистої установки Windows 7, а потім здійснив внутрішнє оновлення до Windows 10. Переглядаючи ту саму область реєстру, я побачив таке:
Зауважте, що Upgrade
ключ присутній разом із відповідним Source OS
ключем. Якщо ми детальніше подивимось на Source OS
ключ, то побачимо наступне:
Ви можете чітко побачити Windows 7 Enterprise у списку як значення для ProductName
пов'язаного з Source OS
ключем.
Відгуки спільноти призвели до додаткових досліджень. Переглядаючи іншу машину, спочатку налаштовану з чистою установкою RTM базової лінії Windows 10 (версія 1507), ми бачимо наступне:
Хоча ОС цього комп'ютера була налаштована за допомогою чистої установки, Upgrade
ключ все ще присутній. Однак, вивчаючи кожну Source OS
клавішу, ми можемо побачити, що дати кожного оновлення відповідають приблизно однаковому часовому інтервалу, що і перші два основні версії оновлення для Windows 10: версії 1511 та 1607. Також значення для ProductName
шоу Windows 10 Pro , навіть на найдавнішому Source OS
ключі. Новий Source OS
ключ має додаткову підказку:
Останнє оновлення показує 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, це була чиста установка.Як опублікував Magicandre1981 у коментарях:
Шукайте значення MediaBootInstall під
HKEY_LOCAL_MACHINE / Програмне забезпечення / Microsoft / Windows / CurrentVersion / Setup / OOBE /.
Якщо MediaBootInstall = 1, WIndows був встановлений через ISO / DVD.
Якщо MediaBootInstall = 0, Windows було оновленням
MediaBootInstall
DWORD, пов'язаний з OOBE
ключем, але значення знаходиться 0
в обох. На мій досвід, і Magicandre1981, і Moab були приголомшливим джерелом надійних відповідей Windows, тому я не сумніваюся, що це було певно в певний час. Однак, здається, що в даний час еволюція Windows 10 перемогла цю відповідь.
$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
}
Windows.old
папку на завантажувальному диску. Якщо ця папка присутня, перевірте, чи містять вона дані з попередньої версії Windows або Windows 10.