Home > Windows にまつわる e.t.c.

sysprep の自動応答ファイルの作り方


同一構成のサーバーを展開する時には 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 SIM のインストール

自動応答ファイル作成に使う 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

 

 

Administrator パスワード

構成パス : 7 oobeSystem
コンポーネント名 : amd64_Microsoft-Windows-Shell-Setup_xxxx_neutral
ツリー : \UserAccounts\AdministratorPassword
項目 : Value
値 : パスワード

 

GUI 設定ではないところ

最後に 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 を読み込めば、再編集できます。

 

 

sysperp

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

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.