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
ざっくりとした手順†
- Symantec Norton Ghost Solution Suite 2.5のインストール
- tftpdの設定
- DHCPの設定
- ブートイメージの作成
手順†
Symantec Norton Ghost Solution 2.5のインストール†
インストール†
- ふつうにインストールする。
- 展開したインストーラ群は取っておくと便利。[C:\Symantec Ghost Installer]とか。
- 所属とユーザ名は漢字は入れられない。
設定†
- コンソールの登録
- ゴーストコンソールを起動する
- ヘルプメニューから『コンソールの登録』を選択、ファイル参照でライセンスファイルを選んで登録する
- サービスの停止
- サービスメニューで以下を停止させ、スタートアップを無効にする
- Symantec Ghost Configuration Server
- Symantec Ghost データベースサービスラッパー
- Deploy Center の残骸が動いていたららこれも停止させ、スタートアップを無効にする
- Symantec PXE MTFTP Server
- Symantec PXE Services
- サービスメニューで以下を停止させ、スタートアップを無効にする
NDISドライバの準備†
- [6irv21wj_v32.exe]を展開する。場所はどこでもいいけど覚えておく。
- 最後の画面の [Install Intel PRO/1000 LAN Adapter Software for Windows Vista 32-bit now] は不要なのでチェックを外して終了させる。
tftpdの設定†
- [tftpd.exe]を[C:\WINDOWS\system32\dllcache\tftpd.exe]からコピーして使いやすいところにおく。[C:\WINDOWS\system32]とか。
- [tftpd.exe]をサービスに登録する。以下のコマンドを実行
> sc create tftpd binPath= C:\WINDOWS\system32\tftpd.exe start= auto [SC] CreateService SUCCESS > net start tftpd tftpd サービスを開始します。 tftpd サービスは正常に開始されました。
- 正常に開始されなかったら何かおかしいのでどうにかして直す
- 作ったサービス[tftpd]の設定を変更する。レジストリで以下を追加。すべて文字列値。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tftpd\Parameters "masters"=0 "directory"=C:\TFTProot
- サービス[tftpd]を再起動する。管理ツールの『サービス』からか、以下のコマンドで。
> net stop tftpd tftpd サービスは正常に停止されました。 > net start tftpd tftpd サービスを開始します。 tftpd サービスは正常に開始されました。
DHCPサーバの設定†
- 以下の設定をする
オプション名 タイプ 値 043 ベンダ固有情報 binary 01 04 00 00 00 00 ff 060 PXEClient string PXEClient 066 ブートサーバホスト名 string サーバ名かサーバIP 067 ブートファイル名 string boot/pxeboot.n12
- 具体的には以下の通り。サーバIPは192.168.0.1を想定。他のサーバの設定をする場合は適宜置き換えて実行。
>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の場合はこれを行わないとネットワークにアクセスできない。
- スタートメニューから[Ghost ブートウィザード]を起動する
- [Windows PE]を選択した状態で[編集]をクリック
- 末尾が[512]ではない方を選択した状態で[編集]をクリック
- [新しいドライバの追加]をクリックし、[場所]には先にドライバを解凍したディレクトリ、[フレンドリ名]はわかりやすい名前、[OS]は2000, XP, Vista, 2008にチェックし完了。
- ドライバリストに今追加したものが表示されるようになるので、チェックボックスにチェックを入れてOKを押す。
- イメージの再構築が始まるので待つ。途中でドライバ更新のエラーが表示されることがあるが、今追加したもののエラーではなければ無視して良い。
- 終わったら閉じる。
ブートイメージの作成†
- スタートメニューから[Ghost ブートウィザード]を起動する
- [Windows PE[デフォルト]]を選択して次へ
- [TCP/IPネットワークブートイメージ]を選択して次へ
- サーバの管理者のアカウント情報を入力する。クライアントはこのアカウント情報を用いてサーバにアクセスするので、充分な権限を持っているアカウントの情報を入力すること。ドメイン名は[RS]。
- マウントドライブは[Z:]、ターゲットは[\\サーバ名\IMAGES]
- TFTPの情報では[C:\TFTProot]を指定し、名前は適当に。例では[Windows PE on サーバ名]
- [見直し]の画面で右下の[編集を開始]をクリックし、[START.BAT]を以下のように書き換える。
@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に直接処理内容を記述してもいいが、この場合処理内容を変更するたびにイメメージを作り直さなければならず非常に面倒。
- イメージができるまで待つ。
ファイルのコピー†
- PXEブートのためにファイルを配置、確認する
- [C:\TFTProot\boot\bootmgr.exe]を[C:\TFTProot\bootmgr.exe]にコピーする。
- [C:\TFTProot\boot]の中に以下のファイルがあることを確認する。
- [bcd]
- [boot.sdi]
- [pxeboot.n12]
- [hoge.wim]
確認†
- ここまでで環境はできたはずなので、クライアントをLANからブートしてチェックする。
- run.batを書き換えれば自由を手に入れられる。
Last-modified: 2026-05-10 (日) 23:15:17