企業でWindowsを大量のクライアントPCに導入する場合は、OSのイメージ展開を採用するのが一般的です。イメージ展開のためのイメージは、Windowsインストールを「システム準備ツール」(Sysprep)で一般化して作成します。しかし、Windows 10では肝心のSysprepが失敗するという話をよく聞きます。そこで今回は、Windows 10でSysprepを成功させるポイントを紹介します。
実際問題として、Windows 8.1以前と同じように、Windows 10を「システム準備ツール(Sysprep)」で一般化しようとすると、失敗する可能性があります。失敗の原因は、Windows 10のバージョンによってさまざまなようですが、共通しているのはWindows Updateで品質更新プログラムをインストールしている間に、ユーザー環境にプリインストールされるビルトインのユニバーサルWindowsプラットフォーム(UWP)アプリ(ストアアプリとも呼ばれます)が更新されたり、Windows 10自身が追加で自動的にインストールしたりすることにあるようです(画面1)。
今回は、Windows 10 バージョン1803(2018年7月リリース版)をクリーンインストールして、Sysprepによる一般化を成功させるポイントを紹介します。これは筆者が実際に成功することを確認した手順であり、公式な手順とは異なります。また、無駄な(無意味な)手順を含んでいる可能性があります。その点はご了承ください。なお、同じ手順でWindows 10 バージョン1809の一般化も成功しました。
Windows 10のSysprepについては、公式ブログで紹介されている注意点についても、ぜひ一読しておいてください。
今回は、一般化したイメージのキャプチャー方法や展開方法(展開先の推奨パーティション構成については前回記事を参照)、「回復ツール(WinRE)」のセットアップ方法については説明しません。また、WinREのセットアップ方法については、以下のドキュメントで確認してください。
Windows 10は、「無人応答ファイル(Unattend.xml)」によるミニセットアップの自動化に加えて、本連載第16回で紹介した「プロビジョニングパッケージ」を組み合わせることもできるので活用してみてください。
本稿では、Windows 10 Enterprise バージョン1803をクリーンインストール後、品質更新プログラムを適用して最新状態にし、Sysprepを実行してイメージを一般化する手順を説明します。Windows 10 Educationも同様の手順になります。Windows 10 ProやPro Educationについては、同様の手順で成功するかどうか、確認していません。
Windows 10 バージョン1803をクリーンインストールします。このとき、ネットワーク接続は切断した状態でインストールを進め、ローカルアカウントを作成してセットアップを完了します(画面2)。
なお、仮想マシンにクリーンインストールして一般化し、仮想マシンのテンプレートにする場合は、前回記事の内容に従って推奨パーティション構成にインストールすることをお勧めします。物理マシン用にC:ドライブのイメージをキャプチャーする場合は、推奨パーティション構成にこだわる必要はありません。通常の方法でクリーンインストールしてください。
Windows 10のクリーンインストールが完了したら、ローカルアカウントでサインインします。
「タスクスケジューラ」(Taskschd.msc)を使用して、「\Microsoft\Windows\AppxDeploymentClient」にある「Pre-staged app cleanup」タスクを無効化します。または、コマンドプロンプトを管理者として開いて、次のコマンドラインを実行します。
Schtasks.exe /change /disable /tn "\Microsoft\Windows\AppxDeploymentClient\Pre-staged app cleanup"
「ローカルグループポリシーエディター」(Gpedit.msc)を開き、次の3つのポリシーを有効化します(画面3)。
コマンドプロンプトまたはWindows PowerShellを開いて「gpupdate」と入力して実行し、ポリシーの変更を反映させます。
ここでネットワークを接続し、インターネットと通信可能な状態にします。
「設定」アプリの「更新とセキュリティ」→「Windows Update」を開き、「更新プログラムのチェック」をクリックして、品質更新プログラムをインストールします(画面4)。インストールを完了するためには、PCの再起動が必要です。
展開用のイメージにデスクトップアプリケーションやツール(UWPアプリ以外で、Sysprepに対応しているもの)を含めたい場合は、この時点でインストールしておきます。
Windows 10の更新とアプリケーションの準備が完了したら、「コンピューターの管理」スナップイン(CompMgmt.msc)を開き、ビルトインの「Administrator」アカウントを有効化して、パスワードを設定します(画面5)。なお、Sysprepを実行して一般化すると、ビルトイン「Administrator」は再び無効化されます。
現在のユーザーをサインアウトさせ、有効化したビルトイン「Administrator」アカウントでサインインします。サインイン後、「コンピューターの管理」スナップイン(CompMgmt.msc)を開き、Windows 10のセットアップ時に作成したローカルアカウントを削除します。
また、コントロールパネルの「システムのプロパティ」(Sysdm.cpl)を開き、「詳細設定」タブの「ユーザープロファイル」にある「設定」をクリックして、削除したローカルアカウント(不明なアカウント)のユーザープロファイルを削除します(画面6)。
「ローカルグループポリシーエディター」(Gpedit.msc)を開き、手順(4)で有効化した3つのポリシー設定を「未構成」に戻します。
ここでネットワークを切断します。コマンドプロンプトまたはWindows PowerShellを開いて「gpupdate」と入力して実行し、ポリシーの変更を反映させます。
コマンドプロンプトまたはWindows PowerShellを管理者として開き、次のコマンドラインを実行して、Sysprepを実行します。仮想マシンで作成したイメージを仮想マシン環境に展開する場合は、さらに「/mode:vm」を追加することで、初回起動時のデバイスの検出をスキップさせて、セットアップの高速化を図ることができます。
C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /mode:vm
Sysprep実行時にエラーが発生せずに、シャットダウンしてPCの電源が切れたら成功です(画面7)。手順(9)と(10)を手順(2)の直後に行い、手順(3)〜(8)をAdministratorアカウントで実行しても問題はないはずです。
Windows 10 バージョン1809(ビルド17763.1および17763.55)のSysprepによる一般化はこの手順で確認し、成功しました。Windows 10 バージョン1809のインストールメディアは、Windows 10 バージョン1809でネットワークに未接続で新規インストールした場合、「PCが再起動したのはなぜですか?」など、ネットワーク(有線またはFi-Fi)への接続を促すメッセージが出てくるようになりましたが、全てスキップして進んでください。
なお、今回は動作確認のために配布が停止されたビルド17763.1ベースのインストールメディアを使用して確認しましたが、このインストールメディアの運用環境での使用は避けてください。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.