geek.conf.2

あるエンジニアの備忘録

無人インストールをきみに

新幹線移動も慣れてきた僕です。

Windows展開サービスは大量のクライアントにWindowsOSイメージを配布してインストールコストを抑えることが出来るよーっていうサービスです。

OSイメージを配布後はwdsおよびセットアップウィザードに対してwdsサーバへの接続やインストールイメージの選択、ディスクパーティション作成や言語やロケールといった各パラメータを手動で入力してインストールおよびセットアップを完了させなければなりません。

OSイメージ配布を大量のクライアントに行っても上記手動作業やってたら意味ないんでいわゆる無人インストールを今からここに書きます。

その各パラメータをあらかじめファイルに登録してwdsを使用してこれをクライアントに読ませて無人インストールを実現します。このファイルを応答ファイルと呼びます。

応答ファイルを作成するためWindows Auto Install Kit (AIK)を使用します。これはマイクロソフトのサイトからDL出来ます。

無人1

Windows AIKセットアップからインストールします。

無人2

インストール後、Windows システム イメージ マネージャを起動して画面左下よりWindowsイメージを追加します。まあWindowsインストールメディアから無人インストールしたいOSのカタログファイル(clg)を選択して追加します。

無線3

応答ファイル作成に使用するコンポーネントをさっき追加したWindowsイメージから取得します。
取得したコンポーネントに各パラメータ入力を行います。
以下にコンポーネントとその意味をまとめました。


構成パス:WindowsPE

?Microsoft-Windows-International-Core-WinPE

・InputLocale = ja-JP ・・・入力言語

・SystemLocale = ja-JP ・・・システムロケール

・UILanguage = ja-JP ・・・ウィザードの言語

・UserLocale = ja-JP ・・・ユーザロケール

?Microsoft-Windows-International-Core-WinPE\SetupUILanguage

・UILanguage = ja-JP ・・・ウィザードの言語

?Microsoft-Windows-Setup

・EnableFirewall = false ・・・ファイアウォールの無効化

?Microsoft-Windows-Setup\DiskConfiguration

・WillShowUI = OnError ・・・エラーがあった場合はウィザードを表示

?Microsoft-Windows-Setup\DiskConfiguration\Disk

・DiskID = 0・・・搭載ディスクにIDを振る(0から)

・WillWipeDisk = true ・・・ディスクを構成する前に全パーティションを削除

?Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

・Order = 1 ・・・作成するパーティションの順番(1から)

・Size = 100 ・・・パーティションサイズ(MB)

・Type = Primary ・・・パーティションタイプ

?Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

・Order = 2

・Size =30720

・Type = Primary

?Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

・Extend = true ・・・残り全領域を使用(Sizaとは併用不可)

・Order = 3

・Type = Primary

?Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

・Active = true ・・・システムで予約済み領域にはActiveフラグを付ける

・Format = NTFS ・・・フォーマット形式

・Label = System ・・・ボリュームラベル

・Order = 1 ・・・CreatePartitionのOrderとマッピングする

・PartitionID = 1 ・・・作成するパーティションのID(1から)

※『システムで予約済み領域』を応答ファイルで作成するには上記もしくは、あえて指定しないという説もあってよくわからんのです。

?Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

・Format = NTFS

・Label = Windows

・Order = 2

・PartitionID = 2

?Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

・Extend = (空) ・・・CreatePartitionでExtendをtrueにしてるのでここは空で良い

・Format = NTFS

・Order = 3

・PartitionID = 3

?Microsoft-Windows-Setup\ImageInstall\OSImage

・InstallToAvailablePartition = false ・・・最初にOSインストール可能な領域に自動でOSインストールすることを禁止

・WillShowUI = OnError

?Microsoft-Windows-Setup\ImageInstall\OSImage\InstallTo

・DiskID = 0 ・・・OSインストールするディスクID

・PartitionID = 2 ・・・OSインストールするパーティションID

※結局?から?はシステムで予約済み領域がインスト—ル後にボリュームE:として認識されてしまったため削除し、OSインストール選択画面は手動で行ったの。

構成パス:oobesystem
?Microsoft-Windows-Setup\UserData

・AcceptEula = true ・・・ライセンス条項に同意

?Microsoft-Windows-Setup\WindowsDeploymentServices\Credentials

・Domain = xxx ・・・Windows展開サービスサーバに接続できるドメイン

・Password = xxx ・・・Windows展開サービスサーバに接続できるドメインユーザパスワード

・Username = xxx ・・・Windows展開サービスサーバに接続できるドメインユーザ名

?Microsoft-Windows-Setup\WindowsDeploymentServices\ImageSelection\InstallImage

・Filename = capture_img.wim ・・・キャプチャイメージファイル名

・ImageGroup = gp ・・・インストールイメージのグループ名

・ImageName = image_C ・・・インストールイメージ名

?Microsoft-Windows-Shell-Setup\OOBE

・HideEULAPage = true ・・・OSインストール後、ライセンス条項ページを省略

・ProtectYourPC = 3 ・・・更新プログラムを確認しない

?Microsoft-Windows-Shell-Setup\UserAccounts\AdministratorPassword

・Value = xxx ・・・ローカルアドミニストレータのパスワード


無人4

コンポーネントの追加が終わったら応答ファイルを保存する。ファイル名はAutounattend.xmlとかにでもしとけや。

無人5

wdsのインストールイメージを右クリックして応答ファイルを登録します。この応答ファイルが登録されたインストールイメージを配布すれば無人インストール出来るっつーわけです。

おしまい。