13

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

3 ответа3

17

На десяти форумах есть отличное руководство по отдельной теме:

Как переместить папку профиля пользователя в другое место в 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. Кроме того, значение для 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, это была чистая установка.
1

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

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

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

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

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

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
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .