「Windows Server 2008 実践ガイド」でカットした原稿です
PXE非対応PCを使用する場合(WAIK/Windows PE)
クライアントPCを展開する際に、都度必要アプリケーションをクライアントPCにインストールをするのは思いのほか手間のかかる作業だ。1台だけクライアントPCを作るのであれば大した手間ではないかもしれないが、これが10台100台となるとうんざりするような作業になってしまう。
クライアントPCにソフトウェアをインストールしている時に「このPCをコピーすることが出来たらいいのに」と思ったことはないだろうか?
ベースとなるPCをコピーして、同じ環境を作るのがWDS(Windows Deployment Service/Windows展開サービス)だ。
WDSはクライアントPCだけではなく、サーバも展開することが出来るので、共通設定をしたサーバのコピーをすればサーバ展開時の設定ミスと言った事故を防ぐことも出来る。
WDSは、ベースとなるPCのディスクイメージをネットワーク経由で配布するサービスだ。イメージを受け取るPC側はPXE(Pre-boot eXecution Environment)と呼ばれるネットワークブート機能を利用してイメージを受け取る。このためPXEに対応していないPCやサーバではブートメディアを別途作成する必要がある。
WDSへのイメージ登録の流れを説明すると、ベースとなるPCに必要なアプリケーションをインストールし、ベースPCのディスクイメージをWDSサーバに登録する手順になる。
ディスクイメージは複数登録できるので、導入に必要なパターンをいくつか登録しておけば展開が楽にできる。
WDSのイメージ
なんかのはずみでクライアントPCが初期化されてしまう事故を防ぐために、必要な時だけWDSを稼働させるのが良いだろう。
WDSには、ActiveDirectory、DHCP、DNSが必要であるが、本書ではすでに環境の準備ができているので、ディスクに余裕があるファイルサーバにWDSをインストールする事にする。インストール自体は他のサービス同様至って簡単だ。
Windows展開サービスを選択
すべてのコンポーネントをチェック
インストール後にWDSサーバを見ると、まだ構成が完了していないで、サーバの構成をする。まずは、リモートインストールイメージを格納するフォルダの作成だ。リモートインストールイメージを格納するフォルダは、OSボリューム以外への作成が推奨されているので、データボリュームを指定する。フォルダそのものは自動作成されるので、デフォルト表示のドライブレターを変更すれば良いだろう。
展開イメージをセットする前にPXEが反応するのは望ましくないので、セットアップ段階では無反応設定をしておくことをお勧めする。
サーバの構成
必要サービス
リモートインストールイメージを格納するフォルダ指定
WDSセットアップ中にPXEが反応しないようにする
イメージは後でセットするのでチェックボックスをクリア
ブートイメージは、Windows Server 2008のインストールDVDに格納されているブートイメージを使用する。
ブートイメージにはx64メディアに格納されている64ビット版のブートイメージと、x86メディアに格納されている32ビット版のブートイメージがある。
ブートイメージは、展開するOSの種類に依存しており、x64 OSを展開するにはx64ブートイメージ、x86 OSを展開するにはx86ブートイメージが必要だ。
ブートイメージは、インストールメディアの「\sources\boot.wim」である。
ブートイメージの追加
Windows Server 2008インストールメディアの\sources\boot.wimを選択
ブートイメージの指定
ブートイメージにわかりやすい名前を付ける
x64とx86のブートイメージを登録した
WDSでは展開用に作成したベースPCのイメージをキャプチャし、WDSに登録する。このキャプチャ用のブートイメージもWDSから配布することが可能だ。
キャプチャイメージはブートイメージから作成する。キャプチャイメージの配置場所は、リモートインストールフォルダにある「Boot\x64\ja-JP」と「Boot\x86\ja-JP」だ。
作成したキャプチャイメージをブートイメージに登録する。
ブートイメージからキャプチャイメージを作成
ブートイメージ名と配置場所を指定
作成したキャプチャイメージをブートイメージに登録
キャプチャイメージを指定
キャプチャイメージの登録完了
ベースPCのディスクイメージはインストールイメージとして登録をするのだが、インストールイメージはクライアントでの表示数に限りがあるので、グループに登録する。本書ではインストールイメージを手動配置ではなくアップロードするので、受け入れをするグループを先に作成する。
イメージグループの追加
グループ名の指定
グループ作成完了
サーバ側の準備が出来たので、インストール段階で停止していたPXE応答を有効にすればサーバ側の準備は終了だ。
WDSサーバのプロパティを開く
全てのクライアントコンピュータに対する応答を許可する
ベースとなるPCのセットアップであるが、普通にOSをインストールしてアプリケーションをインストールするだけだ。展開するイメージはsysprep処理をするので、ベースPCはドメインに参加させず、ワークグループ環境で構築する。
展開後のWindows Updateを最小限にするために、フルアップデートしておいた方が良いだろう。
展開後のセキュリティを考えると、初期セットアップ時に登録するアカウントは必ずパスワードを設定しておくことを推奨する。
可能であれば、ハードディスクを増設しておくことを推奨する。なぜならば、WDSにアップロードするディスクイメージは一旦ディスク上に保存する必要があるからだ。デフォルトドライバで認識できるUSBメモリやUSBハードディスクにも保存することが可能なので、物理的にハードディスクが増設できないPCの場合はこれらのデバイスを準備しておくのがお勧めだ。
【注意】
ベースとなるPCは必ずボリュームライセンスのOSとアプリケーションをインストールした環境を使う必要がある。お手軽だからと言ってOSやアプリケーションが「プレインストール」されているPCは使ってはならない。
これは、プレインストールのライセンスが、プレイントールされているPCに縛られているからだ。プレインストールされているOSやアプリケーションを、他のPCに展開するとライセンス違反になるので注意していただきたい。
ただし、この制限はWindows Vista Businessだけは例外的に緩和されている。詳しくはKB945472(http://support.microsoft.com/kb/945472)を参照していただきたい。
セットアップしたPCのイメージを展開をするのだが、WindowsPCの場合SIDと呼ばれる内部識別子とコンピュータ名が重複することが許されないので、この情報を消去しなくてはならない。これらの情報を消去するのがsysprep.exeだ。
sysprepをかける前に、ゴミ箱や不要なアカウント等のごみを掃除しておかないと、ゴミごと配布されてしまうので、出来るだけクリーンナップしておこう。インストールに使用したアカウントも、sysprepをかける直前に削除してしまえば、アカウントもクリーンナップすることが出来る。
Windows Vistaの場合は、C:\Windows\system32\sysprepにsysprep.exeがある。
sysprepをする場合は、「一般化する」にチェックを入れないとSIDが消去されない。sysprep後はシャットダウンするだけなのでシャットダウンを指定すれば良い。
蛇足だが、仮想環境上ではシャットダウン指定をしても再起動になってしまうので、「終了」を指定して、手動シャットダウンをする。
sysprep
一般化にチェックを入れる
ベースPCのsysprepが完了したら、キャプチャーイメージを使ってディスクイメージの抽出とWDSへの登録をするのだが、このまま再起動してしまうとハードディスクから起動してしまい、折角sysprepしたPCがインストールモードで起動してしまう。
この問題を回避するには、ベースPCをBIOS設定を変更してPXEブートの優先度をハードディスクより上げる必要がある。BIOSによっては、起動時にブートメディアを選択できるタイプのものもあるので、その場合はBIOSの設定変更は不要だ。
BIOS設定は各PCごとに違うのでPCのマニュアルを参照していただきたい。
一般的には、起動時にBIOSセットアップに入るキーを押すことになるが、表示が一瞬しかされず、BIOS設定モードに移行しにくい場合は、空のフロッピーをセットするなどしてハードディスクからのOSの起動を止めるのもいいだろう。
通常のDHCPリレーだけではPXEブートが出来ないことがあるので、WDSでPCをPXEブートするには、DHCPサーバと同一セグメントにPCを接続する。
PXEブートをすると、WDSから初期ブートイメージがダウンロードされF12でネットワークサービスブートが出来るようになる。
ブートマネージャが起動したら、キャプチャーイメージを選択すると、イメージキャプチャウィザードが起動するので、イメージのローカル保存場所と、WDSのグループを指定してイメージの抽出とWDSのアップロードをする。
BIOS設定でPXEブートの優先度を上げる
F12でネットワークサービスブートをする
キャプチャイメージを選択
イメージキャプチャウィザードが起動
イメージを抽出するボリュームとイメージ名を指定
イメージの保存場所とアップロードするWDSサーバとグループを指定
アップロードにはドメイン管理アカウントが必要
イメージキャプチャ後にWDSへのアップロードが自動処理される
イメージをクライアントに展開するときにはキャプチャイメージは不要なので、キャプチャイメージは無効にしておくといいだろう。
キャプチャイメージは展開時に不要なので無効にする
何らかの理由でWDSサーバにディスクイメージがアップロードできない時は、wimファイルをWDSサーバの適当なフォルダにコピーをして、手動登録すれば良い。
イメージを手動登録する
登録するイメージを指定
余談であるが、ディスクイメージの .wim ファイルは、WAIK(後述)に含まれている ImageX.exe を使って様々なメンテナンスをすることが出来る。
クライアントへの展開もキャプチャ時と同様にWDSサーバと同一セグメントでセットアップをするのが良いだろう。
ハードディスクに何も入っていないPCにセットアップする場合は、PXEブートしか反応できないので、そのまま起動すればF12の要求が来る。キャプチャイメージを無効にしたので、展開時に必要なブートイメージだけが表示されている。
ブートイメージを選択すると、Windows展開サービスが起動するのでロケール等必要な情報を指定すると、イメージをアクセスするのに必要なアカウントが要求される。デフォルトではドメイン管理者のアカウントを指定するが、インストールイメージのACLにDomain
Usersを追加(読み取りと実行)しておけば、ドメインユーザでの展開も可能だ。
WDSにセットしているイメージを選択すると、あとは通常の初期セットアップと同じオペレーションだ。本書ではVistaでのオペレーションを解説したが、Windows
Server 2008も同様の操作で展開することが可能だ。
ブートイメージの選択
ロケール等必要な情報を指定
インストールイメージをアクセスできるアカウントを指定
インストールイメージを選択
後は通常の初期セットアップと同様
PXE非対応のPCを使う場合には、ブートイメージのCDまたはDVDのメディアを作成する。
メディアを作成するには、ブートイメージから検出イメージを作成すればいいのだが、作成できるイメージは.wimなので、このままではブート可能なメディアにする事が出来ない。
ブート可能なメディアを作成するにはWAIK(Windows Auto Install
Kit/自動インストールキット)と呼ばれるユーティリティを使用してISOイメージを作成し、ISOイメージを市販ツールを使用してCDまたはDVDに焼く必要がある。
まずはWAIKのダウンロードしよう。WAIKは最新版を使う必要があるが、執筆時点の最新版は「http://www.microsoft.com/downloads/details.aspx?FamilyID=94bb6e34-d890-4932-81a5-5b50c657de08&DisplayLang=ja」となっている。
手順をざっと説明すると、WDSでブートイメージから「検出ブートイメージ」を作成し、WAIKでPEイメージを作成し、これらをマージして検出ブートメディアのペースを作成する。
このベースからISOイメージへ変換し、これをDVDに焼き付けてメディアの完成だ。
PXEが使えない場合のメディア作成手順
WAIKはイメージを操作する専用のクライアントPC(Vista)にインストールするのが望ましいが、本書ではWDSサーバにインストールしてイメージを操作する。
ダウンロードしたWAIKはISOイメージなので、ISOイメージからDVDのライティングが出来るPCでを作成し、WDSサーバにインストールする。インストール自体は一般的なインストールなので解説は割愛する。
蛇足ではあるが、WAIKの一部のツールはターゲットOSと同じ環境でないとエラーを起こすことがあるで、例えばVista x64 をターゲットにするのであれば、WAIK も Vista x64環境にインストールするのがお勧めだ。
WAIKのインストール
まずは、ブートイメージから検出ブートイメージを作成し、適当なフォルダにboot.wimとして出力する。
出力したファイルに隠しファイル属性がついていることがあるので、隠しファイル属性がついている場合は解除しておく。
検出ブートイメージにするブートイメージを選択し検出ブートイメージを作成
必要情報をセットして、boot.wimを作成
Windows PE とは、ミニマムセットのWindowsだ。デフォルトではコマンドラインツールがセットされているが、これ以外のツールも追加可能だ。本書ではWindows PE自体の解説は割愛するので、詳しい事はWAIKに入っているWindows PEのヘルプを参照していただきたい。
Windows PEのイメージを作成するには、スタートメニューに追加された「Windows PE Tools コマンド プロンプト」でコマンドプロンプトを開いて、copype コマンドを使用する。copypeコマンドの引数は以下の通りだ。出力先のフォルダはコマンド使用時に作成されるのであらかじめ準備しておく必要はない。
copype <アーキテクチャ> <出力先> |
アーキテクチャ: x86の場合は「x86」、x64の場合は「amd64」を指定する
Windows PEイメージの作成
検出ブートイメージをWindows PEイメージにマージするには、検出ブートイメージで作成したboot.wimでWindows PE イメージにあるISO\sourcesにboot.wimを上書きする。
Windows PEのイメージからISOファイルをを作成するには、Windows PEイメージの作成の時と同様に「Windows PE Tools コマンド プロンプト」でコマンドプロンプトを開いて、oscdimg コマンドを使用する。oscdimgコマンドの引数は以下の通りだ。
出力先のフォルダはコマンド使用時に作成されるのであらかじめ準備しておく必要はない。
oscdimg -n -b<Windows PEフォルダ>\etfsboot.com <Windows PEフォルダ>\ISO <出力先フォルダとファイル名> |
出力先フォルダとファイル名: フルパスを指定し、ファイル名の拡張子は.isoにする。
ISOイメージの作成
出力された .iso
ファイルをサードパーティ製のライティングソフトを使ってCDまたはDVDに焼き付ければ検出ブートイメージメディアの作成完了だ。
PXEブートが出来ないPCはこのメディアを使って起動すれば良い。
VistaとWindows Server
2008は元々インストール時のオペレーション介入が少ないので、WDS展開をする場合でもあまり苦労はしないが、インストール台数が多い時には完全自動応答ができると展開が楽に出来る。
WDSおよび、Vista/Windows Server 2008の自動応答ファイルサンプルは、Windows展開サービスの「無人セットアップ
ファイルの例」にもあるが、このサンプルでは自動応答に失敗するので問題を修正した自動応答ファイルを付録に添付した。
自動応答を実現するには、以下の3点を自動化する必要がある。
PXEブート時のF12オペレーション
WDSそのもののオペレーション
各イメージのオペレーション
PXEブート時には、F12入力を促す「pxeboot.com」がダウンロードされているので、これをF12を要求しないブートプログラムである「PXEboot.n12」に変更すれば応答オペレーションが不要になる。
WDSサーバのプロパティを開く
x86とx64のブートプログラムをPXEboot.n12へ変更する
ブートプログラム変更完了
自動応答ファイルはWDSのデータフォルダのWdsClientUnattendにセットし、WDSの自動応答に関連付ける。
WDSの自動応答ファイルを関連付ける
自動応答ファイルはWDSのデータフォルダにWdsClientUnattendにセットし、インストールイメージに関連付ける。
インストールイメージのプロパティを開く
自動応答ファイルの設定
自動応答ファイルの指定
自動応答ファイルの設定完了
以上の設定でブートマネージャはタイムアウトを待つ必要があるが、自動セットアップが出来るようになる。
Vistaの場合は、インストールアカウントの入力とタイムゾーンの選択がマニュアル操作になるが、このあたりの設定はWindows Server
2008と異なる部分になるので本書では自動応答とはしなかった。完全自動応答を目指すのであれば、WAIKのヘルプである「Windows
自動インストールキットユーザーズガイド」と「Unattended Windows Setup
Reference」に自動化のヒントがあるので、そちらを参照していただきたい。
大量のPCを一度に作成する必要がある場合は、マルチキャストを使って展開することも可能だ。
マルチキャストを使用する場合は、マルチキャストをサポートしているルータ等のL3中継装置でIGMP(Internet Group Management
Protocol/インターネット
グループ管理プロトコル)を使用する必要がある。IGMPをサポートしていないL3中継機器ではマルチキャスト展開をすることはできない。
余談ではあるが、本書ではWindows Server
2008のブートイメージ(boot.wim)を使っているが、これはマルチキャスト対応のブートイメージだからだ。Windows Vista
RTMのブートイメージはマルチキャストに対応していないが、Vista SP1でマルチキャスト対応をした。SP1のWindows
Vistaインストールメディアがあれば、このブートイメージを代用することも可能である。
マルチキャスト展開を設定するのは簡単で、展開するインストールイメージに対してマルチキャスト転送を作成するだけだ。マルチキャストが有効になっているインストールイメージが転送される時にマルチキャストが使用される。
インストールイメージに対してマルチキャスト転送を作成
フレンドり名にわかりやすい名前を設定
自動キャスト
マルチキャスト配布が開始されると接続しているクライアント情報が表示される
ここまでの説明は、Windows VistaとWindows Server 2008に対して解説で、Windows XP及びWindows Server 2003をターゲットにした場合は一部手順が異なる。
XPの場合は、sysprepはハードディスク上にはなく、インストールCD上の\SUPPORT\TOOLS\DEPLOY.CABに格納されている。.cab ファイルはフォルダとして扱うことが出来るので、XPにC:\sysprepフォルダを作成し、CABの中にあるファイルをコピーし、sysprep.exeを実行する。
deploy.cabに入っているsysprepツール群をコピー
sysprepツール群をc:\sysprepにコピーし、sysprep.exeを起動
Mini-Setupをチェックし再シールする
sysprepするのでOK
Windows
XPの自動応答は、sysprepに対する応答ファイルとして作成するので、sysprepをかける前に作成しておく必要がある。
応答ファイルの作成はsysprepフォルダにコピーしたsetupmgr.exeで作成する。
新しい応答ファイルを作成
sysprepの応答ファイルを作成
ターゲットOSを指定
完全自動化
名前と組織名
ディスプレイの設定はデフォルトのまま
タイムゾーンはGMT+9:00の日本を選択
プロダクトキー
コンピュータ名は自動生成
Administratorのパスワードは指定しない
ネットワークコンポーネント
取り敢えずワークグループ構成にし、以降の設定はすべてデフォルトのままにする
ID文字列を指定して完了
出力先はデフォルトのまま
キャンセルで終了
出力されたsysprep.infはテキストファイルなので、必要に応じてテキストエディタで直接編集することも可能だ。
筆者の環境に依存しているのかもしれないが、XPはWDSのキャプチャイメージではうまくイメージが作れなかった。このため、WAIKに含まれているImageX.exeをWindows PEの物理メディア(CD)に追加し、CDブートした環境でwimファイルを作成し、WDSへ手動登録する。
copypeコマンドを使って新たなWindows PE イメージを作成し、ISOフォルダにImageX.exeを追加し、ImageX.exeをコピーしたフォルダに、不要ファイルの除外指示であるWimscript.iniを作成した後にISOイメージとして出力する。
「Wimscript.ini」 [ExclusionList] ntfs.log hiberfil.sys pagefile.sys "System Volume Information" RECYCLER Windows\CSC [CompressionExclusionList] *.mp3 *.zip *.cab \WINDOWS\inf\*.pnf |
ImageX.exeはC:\Program Files\Windows
AIK\Tools\x86あるいはC:\Program Files\Windows
AIK\Tools\amd64にあるimagex.exeをISO\toolsにコピーする。
ISOイメージから作成したCDでベースイメージのXPマシンを起動し、imagexコマンドでwimファイルを作成し、WDSサーバに登録する。
imagex /compress fast /capture <キャプチャドライブ> <出力イメージ> <イメージ名> /verify |
本書でのwimファイルの出力は、キャプチャしたドライブ上に出力し、net useコマンドでファイルサーバの共有をマウントし、コピーをしているが、デフォルトドライバで認識できるUSBメモリかUSBハードディスクを使った方が簡単かもしれない。
余談だが、VMware
Workstation(6.04)の仮想ディスクとWAIKは相性が悪く、ImageX等のツールがエラーを起こすので、仮想環境上でイメージキャプチャをするのであれば、VMware
Workstation以外の仮想環境で実施することをお勧めする。ちなみに、筆者はHyper-Vを使用した。
Hyper-V上でイメージキャプチャをするのであれば、Hyper-VネイティブのネットワークアダプタではなくPXEプートと標準ドライバに対応している「レガシネットワークアダプタ」を使用する必要がある。
copypeコマンドでWindows PEイメージを作成
キャプチャに不要なファイルを除去するWimsctipr.iniを作成
imagex.exeとWimsctipr.iniをISOにコピー
oscdimgコマンドでISOイメージに変換
ISOイメージから作成したCDで起動
CDはDドライブに割当たっているので、Dドライブでimagexを使用してディスクイメージをキャプチャする
キャプチャ中
net useコマンドでファイルサーバの共有をYドライブにマウント
copyコマンドでキャプチャしたイメージをファイルサーバにアップロード
net useコマンドでYドライブをアンマウント
ディスクイメージをキャプチャしたPCをシャットダウンする場合は、電源ボタンを OFF にしても良いが、コマンドでシャットダウンするのであれば「wpeutil shutdown」を使用する。
イメージをアップロードしたら、WDSのインストールイメージに追加すれば完了だ。展開時はWindows Server 2008のブートイメージを使用してインストールすることが出来る。
Copyright © MURA All rights reserved.