サーバ大量構築時のキモ ~Sysprepの使い方~
Pocket

サーバの大量構築時において、一台一台をインストールして構築することは少ないと思う(無いわけではない)。

一台にOSをインストールしてそのイメージを各サーバに配布する事が多いと思うんだけど、Windows系OSをクローンする時に役に立つのがSysprepという機能だ。

これはWindows系OSに標準で備わっている機能で、簡単に言うと、「設定を消して初期化する」機能である。
以下のようなイメージを持って貰えればわかりやすいと思う。

Sponsored Links

上記のように、OSに設定していたコンピュータ名やユーザを全て削除して初期化し、再度OSが起動された際に初期設定が行われるようにしてくれるのがSysprepである。
(あれ?図でIPアドレス入れちゃったけど、初期化されなかったような気が…まぁいいか)
ただデフォルトのまま実行をしてしまうと、インストールしてあるデバイスドライバが読み込まれなかったり、再起動時に初期セットアップ画面(「Windowsへようこそ」の画面)が開始されてしまうなど、細かいところで不便。

で、このあたりで重要になるのが「応答ファイル」と呼ばれるxmlファイル。これをSysprepを実行する際に読み込ませる事でSysprep実行後の状態をある程度コントロールできる。

この応答ファイルを使用し、Sysprepを実行したOSイメージを配布することでWindowsの大量構築を効率よく行う事が出来る。

応答ファイルはxmlで出来ているので、テキストエディタなどでも作成が可能ではある。とはいえ、手で作成するなんて現実的ではない。
そこで、Microsoftから応答ファイルを作成するためのツールとして「Windows システム イメージ マネージャー」というものが用意されている。

これはWindows AIKツールというものに含まれているので、ここからダウンロードし作業用のPCにインストールする。(Windows 8/Windows Server 2012以降は「Windows ADK」というツールに含まれている方を使う必要がある。)

実際の使い方、応答ファイルの作り方についてはまた後日記述するとして、ここではSysprepの実行方法を記述していく。

Sysprepの実行方法はGUIからの実行とコマンドラインからの実行の2通りあるが、応答ファイルを適用させてSysprepを実行するにはコマンドラインから行う必要がある。

Sysprepを行うOSでコマンドプロンプトを管理者権限で立ち上げ、以下のコマンドを実行する。

sysprep.exe /oobe /generalize /shutdown /quiet /unattend:応答ファイルの相対パス

上記コマンド実行後自動的にシャットダウンされるので、その後OSイメージをクローンすればいい。
なお、普通に再起動されると初期設定が行われてしまうので、以降クローン完了までWindowsが立ち上がらないように注意すること。

また、実際にクローンを行う際には「oobe」は必須として、「generalize」オプションはつけることをおすすめする。
このオプションをつけないと、Windows固有のSIDがリセットされず、KMSやWSUSで利用する際にうまく動かなくなるからだ。

※なお、WindowsにSysprepを行うのであれば事前にWindows Updateを行った後で行う事を推奨する。Windows 7等の場合、初期状態だと最初のハードウェア情報やローカルエリア接続のデータがレジストリに保持された状態でクローンされるため、クローン先のローカルエリア接続の番号が以降の連番(1個目のローカルエリア接続なのに「ローカルエリア接続 2」とか)になってしまい、レジストリをいじらないと手動で変更出来ない事がある。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。