Windows/sysprep

Last-modified: 2023-05-25 (木) 10:49:51

sysprep(SystemPreparation Utility)

sysprepとは

  • sysprep(シスプレップ)とは、端末の展開用に用意されたツールの事です。
  • sysprepではマスタ端末の一般化をすることができます。
  • 一般化したイメージから端末を複製する事を再イメージングと言います。
  • 再イメージングするには、ボリュームライセンス契約などにより、再イメージング権を取得しなければなりません。
  • 再イメージング権を持っていない状態で再イメージングするとライセンス規約違反となります。
  • 実行ファイルは通常であれば下記のフォルダに最初から存在しています。
    C:\Windows\System32\Sysprep
  • sysprepはGUIとCUIのどちらからでも実行することができます。
  • GUIで使用する場合は以下のsysprep.exeをダブルクリック等で実行することができます。
  • しかしながら、Windows8.1以降ではGUIでの使用は非推奨とされており、予告なくGUIが使用できなくなる可能性があります。
    C:\Windows\System32\Sysprep\sysprep.exe

GUIからsysprepをした場合の画面

  • コマンドプロンプトからCUI(コマンド)で実行することができます。
  • 今後sysprepを学習していく人はコマンドからの実行(CUI操作)を推奨します。

sysprepが行う事

sysprepを実行すると大まかに以下の処理が行われます。

  • セキュリティ識別子(SID)などの、PC固有の情報の削除
  • PC固有のドライバのアンインストール

構成パスとは

Windowsのインストール処理にはいくつかのフェーズが有ります。このフェーズを構成パス(Configuration Pass)と言います。
構成パスは以下のものがあります。

  • windowsPE
  • offlineServicing
  • generalize
  • specialize
  • auditSystem
  • auditUser
  • oobeSystem

しかし、Windowsをインストールする際にこれらすべての構成パスが発生するわけではありません。sysprepを行うにあたってこの中で最も関係してくるのは、この中ではgeneralize、specialize、oobeSystemです。
※詳細はページ下部の参照ページを参照して下さい。

応答ファイル

上記で記載した構成パスでは、特にoobeSystem のタイミングで対話処理が発生します。
応答ファイルを用意しておくと、ミニセットアップ時のこの対話を自動で行ってくれます。
※このように、人が操作を行わずに自動でインストールする方法をサイレントインストールと言います。

そのため、単にsysprepのみを行なって端末の情報を削除する以外の設定を自動で行いたい場合は応答ファイルを作成しておくのがおすすめです。
応答ファイルはWindows System Image Manager(WSIM)を使用して作成する事ができます。

ただ、応答ファイルは初めて作成する際はとっつきにくいので、何度もトライ&エラーで試すのが良いでしょう。

コマンドライン引数

sysprepにはいくつかのコマンドラインオプションがあります。
実際には以下のように実行します。

C:\Windows\System32\Sysprep>sysprep /oobe /generalize /shutdown /unattend:Unattend.xml
/audit再起動して監査モード(audit mode)に入る
/generalizeイメージの一般化を行います。
/oobeイメージがoobeを実行するように指定します
/rebootsysprepを行った後に再起動します。
/shutdownsysprepを行った後にシャットダウンします。
/quitsysprepを行った後にsysprepツールを終了します。再起動もシャットダウンもしません。
/unattend:応答ファイル応答ファイルを使用したサイレントインストール時に使用する応答ファイルを指定します。
/mode:vmsysprepを行うのが仮想マシンの場合、VHDを一般化します。

コマンド実行例

sysprep /generalize /shutdown                              '一般化してシャットダウン
sysprep /oobe /generalize /shutdown /unattend:Unattend.xml 'oobeSystemパスを実施するよう指定&応答ファイルを指定してシャットダウン
sysprep /generalize /oobe /mode:vm                         '仮想マシン上で仮想マシンを一般化&oobeSystem構成パスを実施するよう指定
sysprep /audit /reboot /unattend:E:\AnswerFile.xml         '監査モードに入る&応答ファイルを指定して再起動

よくある失敗例

sysprepを利用していくとわかりますが、実は結構な頻度でエラーが出てしまいます。私の知る主な理由は以下があります。

  • 一部又は特定のWindowsストアアプリがインストールされている
  • BitLockerが有効になっている

エラーログとその対処

だいたいは全ての設定が終わって最終的にsysprepを行う為、sysprepが失敗すると絶望感が半端ないですが、一通り絶望を味わって落ち着いたら以下のログを確認しましょう。

C:\Windows\System32\Sysprep\Panther\setuperr.log

Sysprep失敗の理由はここに書いてあります。

sysprep失敗の悲劇を防ぐために

ひと通りマスタPCのセットアップが終わってから、「さぁsysprepだ!」と意気込んでも、失敗したら地獄を見るだけです。
一番最悪のケースとしては、最初から作り直しが必要になることもあります。
そこで、以下のようなタイミングでバックアップを取得しながらsysprepを実行してみるのがおすすめです。

  • OS開封直後
  • アプリインストール後
  • すべてのセットアップが終了した後

マスタ端末作成のおすすめフロー

以下は私が勝手に推奨しているマスタ端末作成の作業フローです。

  • ボリュームライセンス用メディアを用意する
  • マスタ端末にVLメディアでクリーンインストールする
  • デバイスドライバをインストールする
  • 1回目のイメージバックアップを取得する
  • そもそもsysprepができるかを試す
  • OS側の必要な設定を行う
  • 必要アプリのインストール
  • 必要アプリの設定
  • 2回目のバックアップ
  • sysprepができるか試す
  • 仕上げ作業(履歴削除、ライセンス除去、sysprepできなかった場合の対処等)
  • sysprep実行
  • イメージキャプチャ

参考ページ