Есть ли надежный способ определить историю обновления ОС, ведущую к Windows 10, или это была новая установка?
3 ответа
На десяти форумах есть отличное руководство по отдельной теме:
Как переместить папку профиля пользователя в другое место в Windows 10
В этом уроке автор говорит следующее:
Нам нужно отредактировать реестр Windows, чтобы "обмануть" Windows, чтобы думать, что это чистая установка, а не обновление. Для этого откройте редактор реестра (WIN + R, введите regedit, нажмите Enter), перейдите к ключу HKEY_LOCAL_MACHINE\SYSTEM\Setup
Удалите обновление DWORD (правая панель) и KEY Upgrade (левая панель), см. Скриншот.
На следующем снимке экрана автора отображаются соответствующие записи в реестре:
Следующая область в реестре, кажется, является ключом к определению, была ли установка Windows 10 обновлением:
HKEY_LOCAL_MACHINE\SYSTEM\Setup
Чтобы доказать эту теорию, я сначала инициировал чистую установку 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/Software/Microsoft/Windows/CurrentVersion/Setup/OOBE/.
Если MediaBootInstall = 1, окна были установлены через ISO/DVD.
Если MediaBootInstall = 0, Windows была обновлением
$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
}