マスターPCで作成し、「システム準備ツール」で一般化したイメージをベアメタルPCに展開する作業は、大量のクライアントPCをキッティングする作業を効率化するために古くから用いられてきました。この方法は、最新のWindows 11でも利用可能です。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Windows 10」以降、プロビジョニングパッケージや「Windows Autopilot」といった新しい選択肢が増え、Windows UpdateやWindows Server Update Services(WSUS)経由でのインプレースアップグレード(機能更新プログラムのインストール)が可能になったことで、「システム準備ツール(Sysprep.exe)」で一般化したイメージを使用したクライアントPCの大量展開というニーズは以前よりも少なくなっていると思います。ですが、現在でも、仮想デスクトップインフラストラクチャ(VDI)用の仮想マシンイメージの作成作業には必須の手順です。
「Windows 11」でのその手順を実機(仮想マシン)で筆者が確認した限り、本連載第35回と第47回で説明した、Windows 10におけるSysprepの手順と応答ファイル(Unattend.xml)と同じ手順で実施することができました。
本連載第47回とほとんど同じ内容の繰り返しになりますが、Windows 11で筆者が成功したSysprepの手順を示します(Windows 10のときとは少し順番を入れ替えていますが、やっていることは変わりません)。
Windows 11のシステム要件を満たすハードウェア(または仮想マシン)に、Windows 11 Enterpriseをクリーンインストールします。Hyper-V仮想マシンの場合は、「第2世代仮想マシン」として作成し、セキュアブートとTPM(Trusted Platform Module)を有効にして、4GB以上のメモリ、2個以上のプロセッサを割り当てます。このとき、ネットワークは切断した状態でインストールを進め、ローカルアカウントを作成してセットアップを完了します(画面1、画面2)。
Windows 11のクリーンインストールが完了したら、インストール時に作成したローカルアカウントでサインインします。
「コンピューターの管理」スナップイン(CompMgmt.msc)を開き、ビルトインの「Administrator」アカウントにパスワードを設定して、アカウントを有効にします。なお、Sysprepを実行して一般化すると、ビルトイン「Administrator」は再び無効化されます。
現在のユーザーをサインアウトし、有効化したビルトイン「Administrator」アカウントでサインインし直します。サインイン後、コントロールパネルの「システムのプロパティ」(Sysdm.cpl)を開き、「詳細設定」タブの「ユーザープロファイル」にある「設定」をクリックして、インストール時に作成したローカルアカウントのユーザープロファイルを削除します。また、「コンピューターの管理」スナップインを開き、Windows 11のインストール時に作成したローカルアカウントを削除します(画面3)。
「タスクスケジューラ」(Taskschd.msc)を使用して、「\Microsoft\Windows\AppxDeploymentClient」にある「Pre-staged app cleanup」タスクを無効化します。または、コマンドプロンプトを管理者として開いて、次のコマンドラインを実行します。
Schtasks.exe /change /disable /tn "\Microsoft\Windows\AppxDeploymentClient\Pre-staged app cleanup"
「ローカルグループポリシーエディター」(Gpedit.msc)を開き、次の3つのポリシーを有効化します(画面4)。
コマンドプロンプトまたはWindows PowerShellを開いて「gpupdate」と入力して実行し、ポリシーの変更を反映します。
ここでネットワークを接続し、インターネットと通信可能な状態にします。
「設定」アプリの「Windows Update」を開き、「更新プログラムのチェック」をクリックして、利用可能な品質更新プログラムをインストールし、最新状態に更新します(画面5)。インストールを完了するには、PCの再起動が必要です。また、「Microsoft Edge」を起動して、サインインなしでセットアップを完了し、「…」メニューから「ヘルプとフィードバック」→「Microsoft Edgeについて」を開き(またはアドレスバーに「edge://settings/help」と入力して)、最新バージョンに更新します。
展開用のイメージにデスクトップアプリケーションやツール(UWP《ユニバーサルWindowsプラットフォーム》アプリ以外で、Sysprepに対応しているもの)を含めたい場合は、この時点でインストールしておきます。
「ローカルグループポリシーエディター」を開き、手順(4)で有効化した3つのポリシー設定を「未構成」に戻します。
ここでネットワークを切断します。コマンドプロンプトまたはWindows PowerShellを開いて「gpupdate」と入力して実行し、ポリシーの変更を反映します。
コマンドプロンプトまたはWindows PowerShellを管理者として開き、次のコマンドラインを実行して、Sysprepを実行します。仮想マシンで作成したイメージを仮想マシン環境に展開する場合は、さらに「/mode:vm」を追加することで、初回起動時のデバイス検出をスキップさせて、セットアップの高速化を図ることができます。
C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /mode:vm
Sysprep実行時にエラーが発生せずに、シャットダウンしてPCの電源が切れたら成功です。
筆者の環境では、「ストア」のポリシー設定によりUWPアプリが自動的にインストールや更新されることをブロックしているはずですが、何らかの理由でAdministratorアカウントに「Microsoft.OneDriveSync」アプリがインストールされたことが原因で、Sysprepがエラーを報告しました(C:\Windows\System32\Sysprep\Panther\setupact.log」で確認)。
このアプリを「Remove-AppxPackage」コマンドレットでアンインストールしてから(「Get-AppxPackage *Microsoft.OneDriveSync*|Remove-AppxPackage」など)、Sysprepを再実行したところ、問題なく処理は続行され、シャットダウンされました(画面6、画面7)。
作成した一般化イメージをベアメタルPCに展開するか、仮想マシンに割り当て、電源をオンにすれば最小限の時間と対話でカスタマイズされたWindows 11環境を準備することができます。
また、応答ファイルを指定(sysprep実行時に「/unattend」パラメーターに渡すか、ブートボリュームのルートに「C:\Unattend.xml」として配置)することで、セットアップを完全に自動化することもできます。
例えば、ローカルアカウントの作成を含むワークグループ構成や、Active Directoryドメイン参加構成のための応答ファイルは、64bit(x64)版のWindows 10 Enterprise(またはPro)用のものをそのまま使用できました(Windows 11は32bit《x86》版はありません)。
Windows 11のセットアッププログラム(Setup.exe)は、システム要件をチェックし、要件を満たさない場合、インストールを続行することができません(画面8)。
一方、Sysprepで一般化したイメージは、システム要件をチェックするパスを通らないことになるため、Windows 11のシステム要件を満たさないハードウェア(例えば、セキュアブートやTPMが無効、4GBより少ないメモリ、1CPUなど)にも展開でき、おそらく通常通り起動できてしまいます(画面9)。
システム要件を満たさない環境でのWindows 11の利用は、Microsoftによるサポート外となります。一見、問題なく使用できるようであっても、重要なセキュリティ機能(セキュアブートやTPM、ハイパーバイザーを必要とする仮想化ベースのセキュリティ《VBS》、仮想分離モード《VSM》など)が利用できませんし、次の機能更新プログラムを受け取れない可能性もあります。
岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.