Чи є надійний спосіб визначити історію оновлення ОС, що веде до 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 було оновленням
MediaBootInstallDWORD, пов'язаний з 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.