なんちゃあ難しいことはないがやきですが、めもっておくの巻ぜよ。サーバは Windows + TFTPD32 でありんす。
- INDEX
【追記】3. のisoブートは ケモノミチ オーニタ 邪道 な香りが漂ってますが、Linuxサーバでもそのまま使える手だったりしますYO!
尚、クライアントPC(PEを起動させるPC)側に必要なメモリ (RAM) について、PE 基本イメージでは 256MB でギリギリ可能かも(※ ビデオRAM共有の場合はだめかも)しれませんが、システム回復オプションを含む RE イメージでは起動してもメニューのアプリケーションが実行できなかったりします。なので、安全を期すには 512MB 以上必要かと愚考いたします。
まずはPE(RE)のみで設定
TFTPルートディレクトリ作成
D:\TFTP
とか適当なディレクトリ作成- PE/RE のCD(iso) の内容をコピー
※ Windows 7 なら「システム修復ディスク」の内容そのままでもよろしおま。
x86 (32bit) では、CD内で最低限必要なのはこんだけですけど。(CD内丸ごとコピーの方がいいかと)
D:\TFTP | +---BOOT | BCD | BOOT.SDI | \---SOURCES BOOT.WIM
ファイル追加
下記2点のファイルを追加します。
- bootmgr.exe
- pxeboot.n12
このファイルは、boot.wim を展開(※ 7-Zipとかで可能)、1\Windows\Boot\PXE
にあります。または、PEのiso作成時の mount\Windows\Boot\PXE
にもあるはずです。
D:\TFTP | bootmgr.exe | +---BOOT | BCD | BOOT.SDI | pxeboot.n12 | \---SOURCES BOOT.WIM
- コマンド プロンプトにて取り出し
-
【追記】Windows AIK のインストールが必要です。
- Windows Vista SP1 および Windows Server 2008 用の自動インストール キット (AIK)(※ XP/Vista用)
- Windows 7 用の Windows AIK
※ 7/Vista では「管理者として実行」すること!
X:\TFTP の所を展開したパスに置換えませう。下記をコピーして窓に貼付するべし。
set target=X:\TFTP path=%ProgramFiles%\Windows AIK\Tools\%PROCESSOR_ARCHITECTURE%;%path% pushd %target% mkdir tmp imagex /mount sources\boot.wim 1 tmp copy /y tmp\Windows\Boot\PXE\bootmgr.exe . copy /y tmp\Windows\Boot\PXE\pxeboot.n12 .\boot imagex /unmount tmp rmdir tmp echo ===== 尾張マスター エラーないか確認したら閉じませう =====
※ MS Essentials とかwimイメージの内部スキャン対応ソフトがインストールされてる環境では数分かかるかも。Nortonは非対応なので数秒でしたが(w。
DHCP/TFTPサーバを設定
※ 【注意】ルーターなど別のDHCPサーバは止めておくのが無難ですよ。
tftpd32 standard edition (zip)
をダウンロード- 展開してTFTPルートへコピー
D:\TFTP | bootmgr.exe | tftpd32.chm | tftpd32.exe | tftpd32.ini | +---BOOT | BCD | BOOT.SDI | pxeboot.n12 | \---SOURCES BOOT.WIM
TFTPD32を起動 →「Settings」ボタンを押してサーバー設定。
- GLOBAL タブで下記にチェック
TFTP Server
DHCP Server
- TFTP タブで下記をチェック
- 【Base Directory】確認 - ドット (
.
) または フルパス - 【Option Negotiation】
- 【Allow '\' As virtual root】
- 【Base Directory】確認 - ドット (
※ 尚、PE 2.1 (Vista SP1), PE 3.0 (7) では、TFTPD32の設定で Option Negotiation
をオン(PXE Compatibility
はオフ)にしないと起動できないようなので注意。PE 2.0 ではどちらでもおkでした。
DHCPタブでDHCPサーバを設定
- IP pool starting address - 割り当て用(開始)IPアドレス
- 重複しないように!PCのアドレスが
192.168.11.2
とかなら、とりあえず192.168.11.200
とかに
- 重複しないように!PCのアドレスが
- Size of pool - アドレスを割り当てる台数
- Boot File -
/boot/pxeboot.n12
を指定 - WINS/DNS Server - DNSサーバアドレス(ルーター or プロバイダのDNSサーバ)
- Default router - ゲートウェイ(ルーター)アドレス
- Mask - サブネットマスク(家庭内使用だと殆ど、255.255.255.0 でいいかと)
- Domain Name - ドメイン(workgroup)名。Windowsネットワークを使うなら指定(無指定でも使える)
起動確認するべし。
起動に成功するとこんな画面が出るのじゃった。
PXELINUXからチェインロード設定
PXELINUXは便利ですよねー
SYSLINUXのファイル追加
- SYSLINUXのzip版をダウンロード
- 展開して下記ファイルをTFTPルートへコピー
\com32\menu\menu.c32
\core\pxelinux.0
\com32\modules\reboot.c32
\modules\poweroff.com
SYSLINUX 5.01 では下記も必要
\com32\elflink\ldlinux\ldlinux.c32
(SYSLINUX 5.x 以降では必須)\com32\libutil\libutil.c32
(SYSLINUX 5.x 以降で menu.c32 使うには必須)\com32\lib\libcom32.c32
(SYSLINUX 5.x 以降で reboot.c32 使うには必須)
設定ファイル作成
pxelinux.cfg
ディレクトリ作成- その中に
default
ファイルを作成
pxelinux.cfg\default
DEFAULT /menu.c32 PROMPT 0 MENU TITLE Windows PE/RE PXE LABEL winre MENU LABEL Windows RE === chainload pxeboot.n12 PXE /boot/pxeboot.n12 LABEL reboot MENU LABEL * Reboot COM32 /reboot.c32 LABEL poweroff MENU LABEL * Poweroff COMBOOT /poweroff.com
- ファイル一覧
D:\TFTP | bootmgr.exe | menu.c32 | poweroff.com | pxelinux.0 | reboot.c32 | tftpd32.chm | tftpd32.exe | tftpd32.ini | +---BOOT | BCD | BOOT.SDI | pxeboot.n12 | +---pxelinux.cfg ディレクトリ | default ファイル | ---SOURCES BOOT.WIM
DHCPサーバ設定
- Boot Fileを
pxelinux.0
に変更
起動するとメニュー画面が出るぜよ。
isoイメージからブート
isoをTFTPサーバからメモリ(RAM)にダウンロードしてからブートする方法は2つありますな。
SYSLINUXのMEMDISK
- SYSLINUXの
\memdisk\memdisk
をTFTPルートへコピー
GRUB for DOS
- GRUB for DOSのzip版をダウンロード
- 展開して
grub.exe
をTFTPルートへコピー
D:\TFTP | bootmgr.exe | grub.exe | memdisk | menu.c32 | poweroff.com | pxelinux.0 | reboot.c32 | tftpd32.chm | tftpd32.exe | tftpd32.ini | +---BOOT | BCD | BOOT.SDI | pxeboot.n12 | +---pxelinux.cfg | default | \---SOURCES BOOT.WIM
pxelinux.cfg\default の編集
isoファイル名は実際のものに合わせてつかーさい。TFTPルートに置きませう。
pxelinux.cfg\default
DEFAULT /menu.c32 PROMPT 0 MENU TITLE Windows PE/RE PXE LABEL winre MENU LABEL ^1. Windows RE === chainload pxeboot.n12 PXE /boot/pxeboot.n12 LABEL winre_grub4dos MENU LABEL ^2. WinREx86.iso === grub4dos LINUX /grub.exe APPEND keeppxe --config-file="pxe basedir /;map --mem (pd)/WinREx86.iso (0xff);map --hook;chainloader (0xff)" LABEL winre64_grub4dos MENU LABEL ^3. WinREamd64.iso === grub4dos LINUX /grub.exe APPEND keeppxe --config-file="pxe basedir /;map --mem (pd)/WinREamd64.iso (0xff);map --hook;chainloader (0xff)" LABEL winre_memdisk MENU LABEL ^4. WinREx86.iso === memdisk LINUX /memdisk INITRD /WinREx86.iso APPEND raw iso LABEL winre64_memdisk MENU LABEL ^5. WinREamd64.iso === memdisk LINUX /memdisk INITRD /WinREamd64.iso APPEND raw iso LABEL reboot MENU LABEL * Reboot COM32 /reboot.c32 LABEL poweroff MENU LABEL * Poweroff COMBOOT /poweroff.com
メニューが増えますた。
- 【追記】「
Press any key to boot from CD or DVD
...」 -
isoイメージ内の
boot\bootfix.bin
を削除していない場合は、isoダウンロード直後に何かキーを押さないと起動がスルーされてしまうので注意。※ UltraISO とかでiso内から簡単に削除できます。
めも
... 後で書くかも ...