如何判断Windows 10是全新安装还是从7/8升级?


15

是否有可靠的方法来确定导致Windows 10的操作系统升级历史记录,或者它是否是全新安装?


2
Windows.old在引导驱动器上查找文件夹。如果该文件夹存在,检查是否包含从早期版本的Windows或Windows 10的数据
GiantTree

3
@GiantTree是一种临时的判断方法,因为该文件夹将在30天后删除。我不知道有任何其他方法可以判断是升级还是全新安装。
DrZoo

4
HKEY_LOCAL_MACHINE / Software / Microsoft / Windows / CurrentVersion / Setup / OOBE /下查找值MediaBootInstall。如果MediaBootInstall = 1,则通过ISO / DVD安装了Windows。如果MediaBootInstall = 0,则说明Windows是升级
magicandre1981

Answers:


19

关于十个论坛,有一个很好的教程涉及一个单独的主题:

如何在Windows 10中将用户配置文件文件夹移动到另一个位置

在该教程中,作者说:

我们需要编辑Windows注册表以“欺骗” Windows,以使其认为这是全新安装而不是升级。为此,请打开注册表编辑器(WIN + R,键入regedit,按Enter键),浏览至键HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

删除DWORD升级(右窗格)和密钥升级(左窗格),请参见屏幕截图。

作者的后续屏幕截图显示了注册表中的相应条目:

删除升级DWORD

注册表中的以下区域似乎是确定Windows 10安装是否为升级的关键:

HKEY_LOCAL_MACHINE \ SYSTEM \ Setup

为了证明这一理论,我首先在测试计算机上启动了Windows 10的全新安装,并仔细检查了注册表的相同区域。该Upgrade关键是明显缺席:

HKLM系统设置

接下来,我使用另一台计算机进行Windows 7的全新安装,然后就地升级到Windows10。在注册表的相同区域,我看到了以下内容:

注册表-升级设置

请注意,该Upgrade密钥与相关Source OS密钥一起存在。如果我们仔细查看Source OS密钥,将会看到以下内容:

注册表-升级源操作系统

您可以清楚地看到Windows 7 Enterprise作为ProductNameSource OS密钥相关的值列出。

社区的反馈导致了更多的研究。查看另一台最初安装了Windows 10 RTM基准(版本1507)的全新安装的计算机,我们看到以下内容:

注册表升级-源OS 1511

尽管通过全新安装配置了此计算机的操作系统,但该Upgrade密钥仍然存在。然而,当我们检查每个Source OS键,我们可以看到,日期,每次更新大致对应于同一时间内与前两个主要的Windows 10功能更新版本:1511和1607同样的版本,对于价值ProductName显示的Windows 10专业版,即使是最旧的Source OS键。较新的Source OS密钥具有其他提示:

注册表升级-源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的变体,则为全新安装。

@Ƭᴇcʜιᴇ007,谢谢你,先生!我很喜欢从事这一工作。
Run5k

1

正如Magicandre1981在评论中所发表的:

在下面查找值MediaBootInstall

HKEY_LOCAL_MACHINE /软件/ Microsoft / Windows / CurrentVersion / Setup / OOBE /。

如果MediaBootInstall = 1,则通过ISO / DVD安装了Windows。

如果MediaBootInstall = 0,则说明Windows是升级


我检查了多个Windows 10 1511和1607安装,它们都没有在OOBE分支中具有MediaBootInstall密钥。他们有一个“将InstallType”,到目前为止,它已经4或5,但我一直无法辨别它的使用/含义尚未...
Ƭᴇcʜιᴇ007

@Ƭᴇcʜιᴇ007,我花时间检查了家庭网络上的两台计算机,以进行验证。他们都在1月下旬安装了Windows 10 1607的全新安装:一个是x64,另一个是x86。它们每个确实具有MediaBootInstallOOBE密钥相关的DWORD ,但是值都0在两者之内。以我的经验,Magicandre1981和Moab都是可靠的Windows答案的绝佳来源,因此我毫不怀疑这在某些时候是正确的。但是,Windows 10的不断发展似乎已经覆盖了这个答案。
20:51 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
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.