Windows 10 に至るまでの OS アップグレード履歴、または新規インストールであったかどうかを判断する信頼できる方法はありますか?
答え1
Ten Forums には、別のトピックに関する優れたチュートリアルがあります。
Windows 10 でユーザー プロファイル フォルダーを別の場所に移動する方法
そのチュートリアルの中で、著者は次のように述べています。
Windowsレジストリを編集して、Windowsにアップグレードではなくクリーンインストールだと思わせる必要があります。これを行うには、レジストリエディタ(WIN + R、regeditと入力してEnterキーを押す)、キーを参照HKEY_LOCAL_MACHINE\SYSTEM\セットアップ
両方を削除DWORDアップグレード(右ペイン)と鍵アップグレード (左ペイン)、スクリーンショットを参照してください。
著者の次のスクリーンショットには、レジストリ内の適切なエントリが表示されています。
レジストリ内の次の領域は、Windows 10 のインストールがアップグレードであったかどうかを判断する鍵となるようです。
HKEY_LOCAL_MACHINE\SYSTEM\セットアップ
この理論を証明するために、まずテストマシンで Windows 10 のクリーンインストールを開始し、レジストリの同じ領域を精査しました。Upgrade
キーが明らかに欠落しています。
次に、別のマシンを使用して Windows 7 をクリーン インストールし、Windows 10 へのインプレース アップグレードを実行しました。レジストリの同じ領域を確認すると、次のようになりました。
Upgrade
キーが関連キーとともに存在していることに注目してくださいSource OS
。キーを詳しく見ると、Source OS
次のことがわかります。
はっきりと見えますWindows 7 エンタープライズProductName
キーに関連する値としてリストされますSource OS
。
コミュニティからのフィードバックにより、さらに調査が行われました。Windows 10 (バージョン 1507) の RTM ベースラインをクリーン インストールして最初にセットアップされた別のマシンを見ると、次のことがわかります。
このコンピュータのOSはクリーンインストールで構成しましたが、Upgrade
キーはまだ存在しています。ただし、各キーを調べると、各更新の日付が、Windows 10の最初の2つの主要な機能更新リリースであるバージョン1511と1607とほぼ同じ期間に対応していることがSource OS
わかります。また、ProductName
ウィンドウズ10プロ最も古い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 のバリアントの場合は、クリーン インストールです。
答え2
Magicandre1981 がコメントに投稿した内容:
MediaBootInstallの値を探します
HKEY_LOCAL_MACHINE/ソフトウェア/Microsoft/Windows/CurrentVersion/Setup/OOBE/。
MediaBootInstall = 1 の場合、Windows は ISO/DVD 経由でインストールされました。
MediaBootInstall = 0の場合、Windowsはアップグレードです
答え3
$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
}