Как узнать, была ли Windows 10 новой версией установки или обновления с 7/8?

15

Есть ли надежный способ определить историю обновления ОС, ведущую к Windows 10, или это была новая установка?

y3sh
источник
2
Ищите Windows.oldпапку на вашем загрузочном диске. Если эта папка присутствует, проверьте, содержит ли она данные из более ранней версии Windows или Windows 10.
GiantTree
3
@GiantTree это временный способ узнать, так как эта папка удаляется через 30 дней. Я не знаю ни о каком другом методе, чтобы сказать, было ли это обновление или чистая установка.
DrZoo
4
найдите значение MediaBootInstall в разделе HKEY_LOCAL_MACHINE / Программное обеспечение / Microsoft / Windows / CurrentVersion / Setup / OOBE / . Если MediaBootInstall = 1, окна были установлены через 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 \ Setup

Чтобы доказать эту теорию, я сначала инициировал чистую установку Windows 10 на моем тестовом компьютере и исследовал ту же область реестра. UpgradeКлюч в частности , отсутствует:

Настройка системы HKLM

Затем я использовал другую машину для чистой установки Windows 7, а затем выполнил обновление на месте до Windows 10. Глядя на ту же область реестра, я увидел следующее:

Реестр - Настройка обновления

Обратите внимание, что Upgradeключ присутствует вместе с соответствующим Source OSключом. Если мы внимательно посмотрим на Source OSключ, мы увидим следующее:

Реестр - Обновление Source OS

Вы можете ясно видеть Windows 7 Enterprise в списке в качестве значения, ProductNameсвязанного с Source OSключом.

Отзывы сообщества привели к дополнительным исследованиям. Взглянув на другую машину, которая изначально была настроена с чистой установкой базовой версии RTM Windows 10 (версия 1507), мы увидим следующее:

Обновление реестра - Исходная ОС 1511

Хотя ОС этого компьютера была настроена с помощью чистой установки, Upgradeключ все еще присутствует. Однако при рассмотрении каждого Source OSключа мы видим, что даты каждого обновления соответствуют примерно тому же временному интервалу, что и первые два основных выпуска обновлений функции Windows 10: версии 1511 и 1607. Кроме того, значение для Windows 10 ProProductName показывает , даже на самом старом ключе. Более новый ключ имеет дополнительную подсказку: Source OSSource 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, это была чистая установка.
Run5k
источник
@ Ƭᴇcʜιᴇ007, спасибо, сэр! Мне понравилось работать над этим.
Run5k
1

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

Найдите значение MediaBootInstall в разделе

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

Если MediaBootInstall = 1, окна были установлены через ISO / DVD.

Если MediaBootInstall = 0, Windows была обновлением

Moab
источник
Я проверил несколько установок 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
}
АНИЭФИОК УМОХ
источник