web-dev-qa-db-ja.com

Windows 10が7/8からの新規インストールまたはアップグレードであったかどうかを確認するにはどうすればよいですか?

Windows 10に至るまでのOSアップグレード履歴を確認する信頼できる方法はありますか、それとも新規インストールでしたか?

15
y3sh

別のトピックに関する10のフォーラムには、優れたチュートリアルがあります。

Windows 10でユーザープロファイルフォルダーを別の場所に移動する方法

そのチュートリアルの中で、著者は次のように述べています。

これをアップグレードではなくクリーンインストールと見なすには、Windowsレジストリを編集してWindowsを「だます」必要があります。これを行うには、レジストリエディター(WIN + R、regeditと入力し、Enterキーを押します)を開き、キーを参照しますHKEY_LOCAL_MACHINE\SYSTEM\Setup

[〜#〜] dword [〜#〜]アップグレード(右ペイン)と[〜#の両方を削除します〜] key [〜#〜]アップグレード(左ペイン)、スクリーンショットを参照してください。

作成者の次のスクリーンショットは、レジストリ内の適切なエントリを示しています。

Delete Upgrade DWORD

レジストリ内の次の領域は、Windows 10のインストールがアップグレードかどうかを判断するための重要な要素のようです。

HKEY_LOCAL_MACHINE\SYSTEM\Setup

この理論を証明するために、まずテストマシンにWindows 10のクリーンインストールを開始し、レジストリの同じ領域を詳しく調べました。 Upgradeキーは特にありません:

HKLM System Setup

次に、Windows 7のクリーンインストールに別のマシンを使用し、Windows 10へのインプレースアップグレードを実行しました。レジストリの同じ領域を見ると、次のことがわかりました。

Registry - Upgrade Setup

Upgradeキーが、関連するSource OSキーとともに存在することに注意してください。 Source OSキーを詳しく見ると、次のようになっています。

Registry - Upgrade Source OS

Source OSキーに関連するProductNameの値としてWindows 7 Enterpriseがリストされていることがはっきりとわかります。

コミュニティのフィードバックにより、追加の調査が行われました。 Windows 10(バージョン1507)のRTMベースライン)のクリーンインストールで元々セットアップされていた別のマシンを見てみると、次のことがわかります。

Registry Upgrade - Source OS 1511

このコンピューターのOSはクリーンインストールを介して構成されましたが、Upgradeキーはまだ存在しています。ただし、各Source OSキーを調べると、各更新の日付が、最初の2つの主要なWindows 10機能更新リリース(バージョン1511および1607)とほぼ同じ時間枠に対応していることがわかります。また、 ProductNameは、最も古いSource OSキーでも、Windows 10 Proを示します。新しいSource OSキーには、追加の手掛かりがあります。

Registry Upgrade - 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値内の元のオペレーティングシステムを明らかにします。Windows7またはWindows 8のフレーバーである場合、それはアップグレードでした。 Windows 10のバリアントの場合は、クリーンインストールでした。
19
Run5k

Magicandre1981がコメントで投稿したとおり:

MediaBootInstallの値を探します

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

MediaBootInstall = 1の場合、WindowsはISO/DVD経由でインストールされています。

MediaBootInstall = 0の場合、Windowsはアップグレードでした

1
Moab
$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
}
0
ANIEFIOK UMOH