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

Jos*_*man 15 windows-10-upgrade windows-10

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

Run*_*n5k 19

十个论坛上有一个关于一个单独主题的优秀教程:

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

在该教程中,作者说了以下内容:

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

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

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

删除升级 DWORD

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

HKEY_LOCAL_MACHINE\SYSTEM\Setup

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

HKLM 系统设置

接下来,我使用另一台机器全新安装 Windows 7,然后就地升级到 Windows 10。查看注册表的同一区域,我看到以下内容:

注册表 - 升级设置

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

注册表 - 升级源操作系统

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

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

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