同一構成のサーバーを展開する時には sysprep を使用しますが、sysprep をしただけだと mini setup の対話処理が入ってしまい展開にひと手間かかってしまいます。
オンプレで数台の展開であれば、この mini setup の対話処理はあまり苦にならないのですが、クラウド環境とかでスケールアウトするためのイメージ作りの場合は、このオペレーションが致命的に邪魔です。
クラウドベンダーがスケールアウト用の OS 環境初期化ツールを準備している場合もありますが、パスワードが初期化されてしまったりと要件に合わないこともままあります。
そんな時は、syspre の自動応答ファイルを自作します。
自動応答ファイルは、xml です。xml をチマチマと書いても良いのですが、Windows ADK(Windows アセスメント & デプロイメント キット)の Windows SIM(Windows システム イメージ マネージャー)を使用して生成します。
Windows ADK、Windows SIM の詳細はこちらを見てください。
Windows アセスメント & デプロイメント キット (Windows ADK)
https://msdn.microsoft.com/ja-jp/library/hh825420.aspx
Windows システム イメージ マネージャー (Windows SIM) テクニカル リファレンス
https://msdn.microsoft.com/ja-jp/library/hh824929.aspx
「7 oobeSystem」とかの構成パスについてはこちら
構成パスのしくみ
https://technet.microsoft.com/ja-jp/library/cc749307(WS.10).aspx
自動応答ファイル作成に使う Windows ADK は、こちらから OS にあったバージョンを入手します。
Windows ADK のダウンロード - Windows ハードウェア デベロッパー センター
https://developer.microsoft.com/ja-jp/windows/hardware/windows-assessment-deployment-kit
ダウンロードした adksetup.exe を起動し、必要なモジュールをインストールします。
インストールオプションでは「Deployment Tool」だけで構いませんが、Bootable ISO イメージを作ることが近い将来想定されるのでしたら「Windows PE」も必要になるので、このタイミングインストールしても良いでしょう。
Windows SIM は Windowes Kits の中にある
自動応答ファイルを作る際に、対象 OS の カタログ (.clg) ファイルとインストールイメージ(install.wim)を使うので、これらが入っている OS インストールメディアが必要です。
インストールメディアをマウントし、\sources にある install.wim を適当なフォルダーにコピーします。
(Windows Server 2008 R2 のインストールメディアには .clg が入っているので、それを使っても構わないです)
Windows SIM を起動し、「Windows イメージ」ペインで Windows イメージを選択します。
install.wim を指定
対象エディションを指定
カタログファイルが生成された
自動応答ファイルには、mini setup で対話処理が必要なところを設定すればノンタッチで sysprep された OS が起動されるようになります。
新しい応答ファイル
応答ファイル設定に必要なコンポーネントをセットします
コンポーネントの先頭には以下のプレフィックスがついてます。
amd64 | x64 OS 用コンポーネント |
x86 | x86 OS 用コンポーネント |
wow64 | Wow 用コンポーネント(使わない) |
Windows Server であれば amd64 だけ設定すれば OK ですね。
コンポーネントを右クリックし、セット先(構成パス)を選択して以下のコンポーネントをセットします。
amd64_Microsoft-Windows-International-Core_xxxx_neutral | 7 oobeSystem |
amd64_Microsoft-Windows-PnpSysprep_xxxx_neutral | 3 generalize |
amd64_Microsoft-Windows-Security-SPP_xxxx_neutral | 3 generalize |
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral | 4 specialize |
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral | 7 oobeSystem |
amd64_Microsoft-Windows-International-Core_xxxx_neutral を 7 oobeSystem へ
amd64_Microsoft-Windows-PnpSysprep_xxxx_neutral を 3 generalize へ
amd64_Microsoft-Windows-Security-SPP_xxxx_neutral を 3 generalize へ
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral を 4 specialize へ
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral を 7 oobeSystem へ
まずは、システムロケールに関する設定です。
構成パス : 7 oobeSystem
コンポーネント名 :
amd64_Microsoft-Windows-International-Core_xxxx_neutral
ツリー : \
項目 :
オンプレの日本語環境と、Azure/AWS では設定値が違います
項目 | 日本語環境 | Azure/AWS |
InputLocale | 0411:E0010411 | 0409:00000409 |
SystemLocale | ja-JP | en-US |
UILanguage | ja-JP | en-US |
UserLocale | ja-JP | en-US |
システムロケールなので、タイムゾーンも指定します。
構成パス : 7 oobeSystem
コンポーネント名 :
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral
ツリー : \
項目 : オンプレの日本語環境と、Azure/AWS
では設定値が違います
項目 | 日本語環境 | Azure/AWS |
TimeZone | Tokyo Standard Time | UTC |
続いてプロダクトキー
構成パス : 4 specialize
コンポーネント名 :
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral
ツリー : \
項目 : ProductKey
値 : プロダクトキー
ちなみに、クラウド環境は ボリューム ライセンス認証サービス サーバーが使われているので、プロダクトキーの設定は不要です。(無入力)
あわせてコンピューター名もランダム生成されるように設定します。
ツリー : \
項目 : ComputerName
値 : *
構成パス : 7 oobeSystem
コンポーネント名 :
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral
ツリー : \OOBE
項目 : HideEULAPage
値 :
true
構成パス : 7 oobeSystem
コンポーネント名 :
amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral
ツリー : \UserAccounts\AdministratorPassword
項目 : Value
値 : パスワード
最後に GUI 設定ではないところを設定します。
■ sysprep実行回数をカウントしない
Windows Server 2012 R2 では sysprep 回数制限が1000回と事実上無制限になりましたが、Windows Server 2008 R2 以前では 3回と回数が少ないので、カウントしない設定を入れます。
構成パス : 3 generalize
コンポーネント名 :
amd64_Microsoft-Windows-Security-SPP_xxxx_neutral
ツリー : \
項目 : SkipRearm
値 : 1
■ ドライバー設定を保持する
sysprep時にドライバー構成情報を保持するようにします。
構成パス : 3 generalize
コンポーネント名 :
amd64_Microsoft-Windows-PnpSysprep_xxxx_neutral
ツリー : \
項目 | 値 |
DoNotCleanUpNonPresentDevices | true |
PersistAllDeviceInstalls | true |
設定が完了したら、自動応答ファイルを Untitled.xml へ出力します。
出力済みの Untitled.xml を読み込めば、再編集できます。
sysprep する際は、Untitled.xml を以下のフォルダーにコピーします。
C:\Windows\System32\sysprep
以下コマンドで sysprep すると、展開用のベースイメージが出来上がります。
sysprep /generalize /oobe /shutdown /unattend:untitled.xml |
sysprep 起動直後にスクリプトを自動実行する
http://www.vwnet.jp/Windows/WS12R2/AutoexecAfterSysprep.htm
Windows Server新規インストールの自動応答ファイルの作り方
http://www.vwnet.jp/Windows/WS12R2/2016072001/new_install__untitled.htm
Windows Server / Windows Client OS の sysprep をカスタマイズする
http://www.vwnet.jp/Windows/WS16/2017072301/EditSysprep.htm
Copyright © MURA All rights reserved.