Windows 10に至るまでのOSアップグレード履歴を確認する信頼できる方法はありますか、それとも新規インストールでしたか?
別のトピックに関する10のフォーラムには、優れたチュートリアルがあります。
Windows 10でユーザープロファイルフォルダーを別の場所に移動する方法
そのチュートリアルの中で、著者は次のように述べています。
これをアップグレードではなくクリーンインストールと見なすには、Windowsレジストリを編集してWindowsを「だます」必要があります。これを行うには、レジストリエディター(WIN + R、regeditと入力し、Enterキーを押します)を開き、キーを参照しますHKEY_LOCAL_MACHINE\SYSTEM\Setup
[〜#〜] dword [〜#〜]アップグレード(右ペイン)と[〜#の両方を削除します〜] key [〜#〜]アップグレード(左ペイン)、スクリーンショットを参照してください。
作成者の次のスクリーンショットは、レジストリ内の適切なエントリを示しています。
レジストリ内の次の領域は、Windows 10のインストールがアップグレードかどうかを判断するための重要な要素のようです。
HKEY_LOCAL_MACHINE\SYSTEM\Setup
この理論を証明するために、まずテストマシンにWindows 10のクリーンインストールを開始し、レジストリの同じ領域を詳しく調べました。 Upgrade
キーは特にありません:
次に、Windows 7のクリーンインストールに別のマシンを使用し、Windows 10へのインプレースアップグレードを実行しました。レジストリの同じ領域を見ると、次のことがわかりました。
Upgrade
キーが、関連するSource OS
キーとともに存在することに注意してください。 Source OS
キーを詳しく見ると、次のようになっています。
Source OS
キーに関連するProductName
の値としてWindows 7 Enterpriseがリストされていることがはっきりとわかります。
コミュニティのフィードバックにより、追加の調査が行われました。 Windows 10(バージョン1507)のRTMベースライン)のクリーンインストールで元々セットアップされていた別のマシンを見てみると、次のことがわかります。
このコンピューターのOSはクリーンインストールを介して構成されましたが、Upgrade
キーはまだ存在しています。ただし、各Source OS
キーを調べると、各更新の日付が、最初の2つの主要なWindows 10機能更新リリース(バージョン1511および1607)とほぼ同じ時間枠に対応していることがわかります。また、 ProductName
は、最も古いSource OS
キーでも、Windows 10 Proを示します。新しい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
値内の元のオペレーティングシステムを明らかにします。Windows7またはWindows 8のフレーバーである場合、それはアップグレードでした。 Windows 10のバリアントの場合は、クリーンインストールでした。Magicandre1981がコメントで投稿したとおり:
MediaBootInstallの値を探します
HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Setup/OOBE /。
MediaBootInstall = 1の場合、Windowsは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
}