setup.exeのコマンドラインスイッチでWindows 10ビルドをアップグレードする方法
Windows 10のインストールイメージに含まれるsetup.exeには、非常に多くのコマンドラインパラメータが用意されています。管理者はこれらのパラメータを活用することで、SCCMやMDTなどの展開ツールと組み合わせて、ユーザーPCに対するWindows 10のサイレントかつ無人でのビルドアップグレードを自動化・管理できます。本記事では、アップグレード前の互換性チェックから最新ビルドへの移行まで、setup.exeの各種パラメータの実践的な使い方を詳しく解説します。
Windows 10 setup.exe のコマンドラインオプション一覧
Windows 10のビルドをアップグレードする際には、Windowsインストールプログラムであるsetup.exeを使用します。通常、実行するとGUIの更新ウィザードが表示されますが、このプログラムには多数のコマンドラインパラメータが用意されており、ユーザーPC上でのOSアップグレード処理を完全に自動化できます。setup.exeの主な構文とパラメータは以下の通りです。
/1394Debug:<channel>
[BaudRate:<baudrate>]
/AddBootMgrLast
/Auto {Clean | DataOnly | Upgrade}
/BitLocker {AlwaysSuspend | TryKeepActive | ForceKeepActive}
/BusParams:<bus.device.function>
/CompactOS {Enable / Disable}
/Compat {IgnoreWarning / ScanOnly}
/CopyLogs<location>
/Debug:<port> [BaudRate:<baudrate>]
/DiagnosticPrompt {enable | disable}
/DynamicUpdate {enable | disable}
/EMSPort: {COM1 | COM2 | off} [/emsbaudrate:<baudrate>]
/InstallDrivers<location>
/InstallFrom<path>
/InstallLangPacks<location>
/m:<folder_name>
/MigNEO Disable
/MigrateDrivers {all | none}
/NetDebug:hostip=<w.x.y.z>,port=<n>,key=<q.r.s.t>[,nodhcp][,busparams=n.o.p]
/NoReboot
/PKey<product key>
/Priority Normal
/PostOOBE<location> [\setupcomplete.cmd]
/PostRollback<location> [\setuprollback.cmd] [/postrollbackcontext {system / user}]
/Quiet
/ReflectDrivers<location>
/ResizeRecoveryPartition {Enable / Disable}
/ShowOOBE {full / none}
/Telemetry {Enable / Disable}
/TempDrive <drive_letter>
/Unattend:<answer_file>
/Uninstall {enable / disable}
/USBDebug:<hostname>
/WDSDiscover
/WDSServer:<servername>
すべてのコマンドラインオプションの詳細な仕様については、Microsoft公式ドキュメント「Windows セットアップのコマンドライン オプション」(https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options)を参照してください。
最新版のWindows 10インストールISOイメージを作成する方法
Windows 10のビルドをアップグレードするには、対象となる新バージョンのWindows 10を収めたインストールISOイメージが必要です。記事執筆時点ではWindows 10 2004(May 2020 Update)が最新でしたが、現在はより新しいバージョンが提供されているため、必ず入手時点での最新ビルドを利用してください。
現行バージョンのWindows 10 ISOイメージは、Microsoft純正のMedia Creation Tool(メディア作成ツール)を使って簡単に作成できます。
- Microsoft公式サイトからMedia Creation Toolをダウンロードします(https://www.microsoft.com/en-us/software-download/windows10)。
- MediaCreationTool2004.exeを実行し、ウィザードで「別のPCのインストール メディアを作成する(USBフラッシュ ドライブ、DVD、またはISOファイル)」を選択します。
- 作成するWindows 10イメージの言語、エディション、アーキテクチャ(x64/x86)を選択します。
- 「ISOファイル」にチェックを入れ、保存先とファイル名を指定します。
- Media Creation ToolによるWindows 10インストールイメージのダウンロードと作成が完了するまで待ちます。
作成したISOイメージの内容は、ファイルサーバーなどの共有フォルダーに展開しておきましょう。こうすることで、複数台のPCからネットワーク経由でセットアップを実行できるようになります。
アップグレード前に行うWindows 10互換性チェックの方法
実際にOSをアップグレードする前に、新しいISOイメージのビルドへアップグレード可能かどうかを事前に確認できます。以下のコマンドを実行してください。
start /wait setup.exe /Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly
各パラメータの意味は次の通りです。
- /Auto Upgrade – 自動アップグレードモードを指定
- /Quiet – アップグレードウィザードのダイアログ画面を非表示にする
- /NoReboot – チェック後のコンピューター再起動を無効化する
- /DynamicUpdate Disable – Windows Update経由での最新更新プログラムの自動ダウンロードを行わない(wuauservサービスで後から自動適用するか、手動でダウンロード可能)
- /Compat ScanOnly – 互換性チェックのみを実行する(実際のビルドアップグレードは行わない)
新しいWindows 10ビルドとの互換性スキャンにはある程度の時間がかかります。
互換性チェックの進行状況は、ログファイル C:\$Windows.~BT\Sources\Panther\setupact.log で確認できます。スキャンが完了すると、ログ末尾に次のような行が出力されます。
Info MOUPG **************** SetupHost Logging End ****************
互換性分析の結果は C:\$Windows.~BT\Sources\Panther\setuperr.log で確認できます。末尾に近い位置から、次のような形式の記録を探してください。
CSetupHost::Execute(xxx): Result = xxxxxxxx
この値がチェック結果のコードになります。
また、コマンドプロンプトからもエラーコード(終了コード)を直接取得できます。
echo %errorlevel%
返されたコードは、判定のために16進数へ変換する必要があります。例えば、setup.exeコマンドが -1047526896 を返した場合、この10進数の値を電卓アプリ(プログラマーモード)に貼り付けてHex表示の値をコピーし、先頭のFをすべて削除して代わりに「0x」を付ければ16進数のエラーコードになります。この例では 0xC1900210 となります。
代表的なWindows 10互換性チェックのエラーコードは以下の通りです。
- 0xC1900210 – 問題は検出されなかった
- 0xC1900208 – 互換性の問題を検出
- 0xC1900204 / 0xC190010E – 自動アップグレード不可(Windowsのエディションまたはアーキテクチャが不一致)
- 0xC1900200 – コンピューターがWindows 10の最小ハードウェア要件を満たしていない
- 0xC190020E – ディスクの空き容量不足
- 0xC1420127 – WIMイメージのマウント解除時に問題が発生
アップグレードできない具体的な原因を詳細に調査したい場合は、Microsoftが提供する診断ツール SetupDiag(setupdiag.exe) を使用すると便利です。
筆者の検証環境では、setuperr.logに次のエラーが記録されていました。
Error MOUPG CSetupHost::Execute(412): Result = 0xC1900208[gle=0x00000003]
SetupDiagが生成した SetupDiagResults.log を確認したところ、このPCのアップグレードを妨げている要因が2つ見つかりました。
- CompatBlockedApplicationAutoUninstall – 互換性のないアプリケーションが検出されたため、アップグレード前にアンインストールする必要がある。
- FindAbruptDownlevelFailure – ログへの書き込み中にエラー情報が突然途切れている。
Matching Profile found: CompatBlockedApplicationAutoUninstall, FindAbruptDownlevelFailure - BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5, 55882B1A-DA3E-408A-9076-23B22A0472BD SetupDiag version: 1.6.0.0
最終的に、アップグレードを続行する前にMcAfee製アンチウイルスをアンインストールするよう勧告されました。
You must uninstall "McAfee VirusScan Enterprise" before continuing with the installation/update.
SCCM環境をお使いの場合は、setup.exe /Compat ScanOnly コマンドだけを含むシンプルなパッケージとアドバタイズ(配信)を作成すれば、組織内の全クライアントPCから互換性チェックの終了コード(errorlevel)を一元的に収集し、アップグレード対応状況を把握できます。
コマンドプロンプトでWindows 10の一括アップグレード(In-Place Upgrade)を自動化する
互換性チェックでアップグレードを妨げる問題が検出されなければ、簡単なコマンドラインスクリプトでそのままアップグレードを実行できます。展開済みのWindows 10 ISOイメージを格納したネットワーク共有フォルダーに、以下のコードを書いたBATファイル run_win10_upgrade.bat を作成しましょう。
start /wait .\W102004\Windows10x64-2004\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable
/Auto:Upgradeモードでは、アップグレード後もすべてのアプリケーションとユーザーデータが保持されます。アプリを残さずユーザーデータのみを維持したい場合は、/auto:dataモードを使用してください。
また、/migratedrivers all パラメータを指定すると、すべてのデバイスドライバーを強制的に移行します。このパラメータを省略した場合は、セットアッププログラムがドライバーごとに移行の可否を自動判断します。
アップグレード実行時には、目的に応じてその他のsetup.exeオプションも自由に組み合わせられます。
さらに、Windows 10 1607以降では、インストールパラメータを Setupconfig.ini ファイルとしてまとめて定義できます。このファイルはsetup.exeと同じフォルダーに配置し、上記のコマンドと同等の内容を以下のように記述します。
[SetupConfig] NoReboot ShowOobe=None Telemetry=Disable DynamicUpdate=Disable
パラメータファイルを使ってWindows 10のアップグレードを実行するには、次のコマンドを使用します。
Setup.exe /ConfigFile setupconfig.ini
設定をINIファイルに外出しにしておけば、スクリプト本体を変更せずに展開ポリシーごとに挙動を切り替えられるため、大規模環境での運用管理がぐっと楽になります。
-
Windows 10でデュアルモニターを設定する方法|表示設定のカスタマイズとトラブル解決ガイド
デュアルモニター環境を整えると、マルチタスクの効率が格段に向上します。ゲーマー、コンテンツ制作者、プレゼン資料を作成する方、データアナリスト、プログラマーなど、複数の作業を同時に進めたい方にとって、Windows 10で複数モニターを簡単にセットアップする方法は必須の知識です。本記事では、モニターの接続・初期設定から、ディスプレイの配置調整、スケーリング、解像度と向きの設定、タスクバーのカスタマイズ、さらにブラックスクリーンなどのドライバー関連トラブルの対処法まで、詳しく解説します。 在宅ワークや新しいオフィス環境をより快適なものにするために、Windows 10でのデュアルモニター設定をマス
-
Windows 10 20H1ビルドの新機能徹底解説|進化したWindowsの全貌
進化し続けるWindowsに、2019年5月アップデート(19H2)に続く新たなビルドが登場しました。Windows Insiderプログラムに参加しているユーザーは、来年早々に20H1ビルドのプレビュー版を体験できる予定です。Microsoftは本日19H2を発表しており、スローリングのユーザーはレビュー済みのすべての機能を利用できるようになります。Windows 10でWindows Insiderプログラムに参加する方法はこちらの記事をご覧ください。現在お使いのWindowsバージョンが1903(OSビルド18362.175)の場合、開発中の最新機能アップデート「20H1」は来年のリリー