PXE/PXEブート環境の構築

Top / PXE / PXEブート環境の構築

概要

Deploy CenterにもGhost SolutionにもPXEサービスはくっついているっぽいけど、よくわからないのでWindows Serverの標準機能でつくる。

リカバリに必要なのは[Ghost32.exe]だけだが、Ghost Solution Suiteを使うことで面倒なPEイメージの構築をGUIから行える。AIKから行う場合はドライバやGhost32.exeの組み込み、bcdファイルの編集などすべて手動で行わなければならないが、GhostブートウィザードからPEイメージを作れば全部自動で楽。

目的

  • PXEを使ってWindows PEを起動してネットワーク越しのリカバリができるようにする
  • リカバリにはGhostを使用する

必要な環境

  • Windows Server 2003
  • Symantec Norton Ghost Solution Suite 2.5

ざっくりとした手順

  1. Symantec Norton Ghost Solution Suite 2.5のインストール
  2. tftpdの設定
  3. DHCPの設定
  4. ブートイメージの作成

手順

Symantec Norton Ghost Solution 2.5のインストール

インストール

  • ふつうにインストールする。
  • 展開したインストーラ群は取っておくと便利。[C:\Symantec Ghost Installer]とか。
  • 所属とユーザ名は漢字は入れられない。

設定

  1. コンソールの登録
    1. ゴーストコンソールを起動する
    2. ヘルプメニューから『コンソールの登録』を選択、ファイル参照でライセンスファイルを選んで登録する
  2. サービスの停止
    1. サービスメニューで以下を停止させ、スタートアップを無効にする
      • Symantec Ghost Configuration Server
      • Symantec Ghost データベースサービスラッパー
    2. Deploy Center の残骸が動いていたららこれも停止させ、スタートアップを無効にする
      • Symantec PXE MTFTP Server
      • Symantec PXE Services

NDISドライバの準備

  1. [6irv21wj_v32.exe]を展開する。場所はどこでもいいけど覚えておく。
  2. 最後の画面の [Install Intel PRO/1000 LAN Adapter Software for Windows Vista 32-bit now] は不要なのでチェックを外して終了させる。

tftpdの設定

  1. [tftpd.exe]を[C:\WINDOWS\system32\dllcache\tftpd.exe]からコピーして使いやすいところにおく。[C:\WINDOWS\system32]とか。
  2. [tftpd.exe]をサービスに登録する。以下のコマンドを実行
    1
    2
    3
    4
    5
    6
    
    > sc create tftpd binPath= C:\WINDOWS\system32\tftpd.exe start= auto
    [SC] CreateService SUCCESS
    
    > net start tftpd
    tftpd サービスを開始します。
    tftpd サービスは正常に開始されました。
    • 正常に開始されなかったら何かおかしいのでどうにかして直す
  3. 作ったサービス[tftpd]の設定を変更する。レジストリで以下を追加。すべて文字列値。
    1
    2
    3
    
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tftpd\Parameters
    "masters"=0
    "directory"=C:\TFTProot
  4. サービス[tftpd]を再起動する。管理ツールの『サービス』からか、以下のコマンドで。
    1
    2
    3
    4
    5
    6
    
    > net stop tftpd
    tftpd サービスは正常に停止されました。
    
    > net start tftpd
    tftpd サービスを開始します。
    tftpd サービスは正常に開始されました。

DHCPサーバの設定

  • 以下の設定をする
    オプション名タイプ
    043ベンダ固有情報binary01 04 00 00 00 00 ff
    060PXEClientstringPXEClient
    066ブートサーバホスト名stringサーバ名かサーバIP
    067ブートファイル名stringboot/pxeboot.n12
  1. 具体的には以下の通り。サーバIPは192.168.0.1を想定。他のサーバの設定をする場合は適宜置き換えて実行。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    >netsh
    netsh>dhcp
    netsh dhcp>server 192.168.0.1
    netsh dhcp server>add optiondef 60 PXEClient String 0
    コマンドを正しく完了しました。
    
    netsh dhcp server>set optionvalue 60 STRING PXEClient
    コマンドを正しく完了しました。
    
    netsh dhcp server>set optionvalue 43 binary 010400000000ff
    コマンドを正しく完了しました。
    
    rem 次の一行はレプリケーションされてるどっか一箇所でやればいいだけかもしれない。
    rem よくわからない。0.0に対してやったあと0.1に対してもやっておいた。
    rem 0.2と0.3で操作したときは0.0には何もしてない。
    netsh dhcp server>scope 192.168.0.0
    
    netsh dhcp server scope>set optionvalue 66 STRING 192.168.0.1
    コマンドを正しく完了しました。
    
    netsh dhcp server scope>set optionvalue 67 STRING boot/pxeboot.n12
    コマンドを正しく完了しました。

ブートイメージの作成

ドライバの更新

  • 有線LANデバイスのドライバをブートイメージに組み込む設定をする。
  • 汎用ドライバで動くデバイスの場合は行う必要はないが、T510の場合はこれを行わないとネットワークにアクセスできない。
  1. スタートメニューから[Ghost ブートウィザード]を起動する
  2. [Windows PE]を選択した状態で[編集]をクリック
  3. 末尾が[512]ではない方を選択した状態で[編集]をクリック
  4. [新しいドライバの追加]をクリックし、[場所]には先にドライバを解凍したディレクトリ、[フレンドリ名]はわかりやすい名前、[OS]は2000, XP, Vista, 2008にチェックし完了。
  5. ドライバリストに今追加したものが表示されるようになるので、チェックボックスにチェックを入れてOKを押す。
  6. イメージの再構築が始まるので待つ。途中でドライバ更新のエラーが表示されることがあるが、今追加したもののエラーではなければ無視して良い。
  7. 終わったら閉じる。

ブートイメージの作成

  1. スタートメニューから[Ghost ブートウィザード]を起動する
  2. [Windows PE[デフォルト]]を選択して次へ
  3. [TCP/IPネットワークブートイメージ]を選択して次へ
  4. サーバの管理者のアカウント情報を入力する。クライアントはこのアカウント情報を用いてサーバにアクセスするので、充分な権限を持っているアカウントの情報を入力すること。ドメイン名は[RS]。
  5. マウントドライブは[Z:]、ターゲットは[\\サーバ名\IMAGES]
  6. TFTPの情報では[C:\TFTProot]を指定し、名前は適当に。例では[Windows PE on サーバ名]
  7. [見直し]の画面で右下の[編集を開始]をクリックし、[START.BAT]を以下のように書き換える。
    1
    2
    3
    4
    5
    6
    7
    8
    
    @echo off
    set path=%path%,x:\ghost
    
    net use Z: \\[サーバ名]\IMAGES /user:[ユーザ名] [パスワード]
    
    z:
    cd boot
    call run.bat
    • 最後の三行が重要。クライアント側でPEが起動したあとに行われる作業を、[\\[サーバ名]\IMAGES\boot]上にrun.batとして外部ファイル化しておくことで、PE起動後の自動処理内容の変更を容易にしている。
    • START.BATに直接処理内容を記述してもいいが、この場合処理内容を変更するたびにイメメージを作り直さなければならず非常に面倒。
  8. イメージができるまで待つ。

ファイルのコピー

  • PXEブートのためにファイルを配置、確認する
  1. [C:\TFTProot\boot\bootmgr.exe]を[C:\TFTProot\bootmgr.exe]にコピーする。
  2. [C:\TFTProot\boot]の中に以下のファイルがあることを確認する。
    • [bcd]
    • [boot.sdi]
    • [pxeboot.n12]
    • [hoge.wim]

確認

  • ここまでで環境はできたはずなので、クライアントをLANからブートしてチェックする。
  • run.batを書き換えれば自由を手に入れられる。

Last-modified: 2011-10-12 (水) 20:14:14 (2291d)