みなさんはメーカー製PCを新品で買ってきたこと、ありますか?
初回電源投入のときを思い出してください。
WiondowsOSの場合は初回起動時はウィザードが起動して、いろいろ聞かれますよね。
あれって、ないと駄目なもんなんでしょうか。
あなたは社内の営業部のメンバーに渡すPCを200台作って欲しいと言われました。
必要なアプリの一覧、設定はこれこれこの通り。
壁紙は企業のロゴの入った指定のものに変更。
省電力設定はこう、スクリーンセイバーは何分で起動。
かなり細かく決められています。
これをあなたひとりで200回繰り返すの、イヤじゃないですか?
こんなときに使用するツールが「クローニングツール」です。
クローニングツールには古くはSymantecGhost、Altiris、Acronisなどいろいろな製品がありますが、マイクロソフト純正でその機能は用意されています。
Windows2000Serverで登場したRemote Install Serverがそれですね。
いまではWindows Deployment Service と改められています。
それで、このサービスをそのまま使うことはかなり稀だと思うのですが(各社、便利なツールを出していてそちらを使うことが多い)主にクライアント側の動きについて少しお話しておいたほうが理解が深まるかと思いまして、今回はこの話をしていきます。
内容は少し古いのですけれども、それが発展していまの形となっているので参考にはなるかと思います。概念だけでも覚えていただければいいかなと。
それでは200台のキッティングを始めていきましょう。
まずは雛形を作成します。
1台を箱から出して、初期設定を済ませます。
OSの設定を済ませてアプリケーションをインストールし、設定を実施します。
その後、新規のユーザを仮に作成してログオンさせ、正常動作するを確認します。
アプリの設定についてはユーザごとに違う場所に格納されるために新規ユーザでログオンするごとに初期値に戻されることがあります。
そのPCにとって初めてのユーザ(プロファイルが未作成)がログオンしてくるとOSはデフォルトプロファイルというものをコピーしてそのユーザに割り当てます。
つまりこのデフォルトプロファイルを設定する必要があります。
次に、設定上作成したり残ったゴミファイルをきれいに削除します。
デフォルトプロファイル上にも無駄ファイルが残らないようにするのと、そのユーザの情報(Cookieやパスワード情報など)を残さないように注意してください。
すべての設定が完了したと仮定して進みます。
マイクロソフトの教科書では、ここで「Sysprep」を起動させます。
これは「一般化」などという用語が使われます。
これを使うとどうなるのでしょうか。
Sysprepを起動すると、まずホスト名などの「固有情報」が消えます。
PCにはSIDという固有の識別情報がありますが、これがSysprepによって消されます。
SIDのないPCは起動していることはできません。
「固有の識別情報」なのですから、そのPCのアイデンティティなのです。
アイデンティティのないPCは起動していられなくなると思ってください。
ではどうなるかといいますと、Sysprepが動作を完了するとPCはシステムシャットダウンします。
シャットダウンしたPCの電源をいれると、購入時と同じ、初回セットアップウィザードが立ち上がります。
つまり初回セットアップウィザードではいろいろな情報をユーザに書き込ませるとともに、SIDを生成していたわけですね。
このまま起動して初回セットアップウィザードを進ませると、なんのために作業したのでしょう。
このウィザードが終わってしまっては元も子もありませんね。
正解は、PCがシャットダウンしたら起動フロッピーディスクやブータブルCD、ブータブルUSBメディアを差し込みHDDから起動させないようにするわけです。
もちろんHDDを引っこ抜いてデュプリケータ(複製装置)にかけてもいいでしょう。
多くの場合はネットプートさせる方法を使いました。(そのためにほとんどのビジネスPCのNICはPXEに対応しています。)
Netboot/PXEbootだとサーバ上に準備されたOSのイメージを使用してPCを起動します。
蛇足ですがこのときに必要なのがDHCPオプション66/67(BootServer/BootFileName)ですね。
とにかくあなたが苦労して設定してSysprepをかけた上でシャットダウンしたローカルのHDD以外から起動し、共有資源やポータブルHDDなどに対してイメージ吸い上げを開始します。
200台の規模であればサーバ上に保管するのが良いでしょう。
こうして吸い上げたHDDイメージは同様の手段を持って起動した未設定クライアントに対してクローニングされます。
それでは200台のPCを一同に並べてクローニングが完了したPCの電源を投入してみましょう。
残念ですがこの方法だと200台全てのPCはに対して初回セットアップウィザードを完遂しなければなりません。
それはちょっと御免蒙りたいですね。
そのために「応答ファイル」を作成することが可能です。
初回セットアップウィザードに対して応答してくれるファイルが作成できるようになっているのです。
ただ、200台あるPCのどれもが同じ応答ファイルを使用することになるので、これもうまくいかないですね。
このあたりでだんだんとMSツールだけでは難しくなってきます。
Windows2000/XPくらいまでの環境だと、クライアントはDHCPサーバを参照するように構成しておき、クライアントはサーバ上に保管された自分のMACアドレスと同じ名前のファイルを参照し、自ホスト名などを構成しながら起動するようなVBSを書いて置くこともよくありました。
(Sysprepによりアイデンディディが削除されているため、この段階のPCをNW上で識別するためにはMACアドレスしかないのですね。)
いろいろとMS純正ツールだけでやれることはやれそうなのですが、どうにも手順が難しかったり柔軟性に欠ける部分があったりだとかで、フルに純正機能だけでのクローニングはなかなかやっていないと思います。
そのためAcronisほか様々なクローニングツールがあり、それらを導入している案件がほとんどだと思いますがそれらツールは上述したマイクロソフトの提供した機能を利用し、さらに便利に拡充したものがほどんどだと思います。
PCキッティングなどの案件でAltirisなどを使う際にも上記の概念を頭に入れておけば理解が深まるのではないでしょうか。