TFTPD64とPXEBoot(UEFI版)

今回の記事は、キッティングの際に使用するツール「TFTP64」を用いてPEXBoot(UEFI)を行う、設定方法を掲載したいと思います。

はじめに

今回使用するツール類は以下になります。

  • TFTDP64
  • Windows ADK

TFTPD64のインストール

まず、TFTPD64とは何かといいますと、以下の機能を有したサーバーツールとなります。簡単な設定で利用することができ、スタンドアロンで稼働しますので、アンインストールも簡単です。

  • TFTPサーバー
  • TFTPクライアント
  • SNTPサーバー
  • Syslogサーバー
  • DHCPサーバー
  • DNSサーバー

1.TFTPD64のダウンロード

公式サイトからダウンロードしてください。今回は「Tftpd64-4.64-setup.exe」をダウンロードし、インストール・設定を行っていきます。

2.Tftp64-4.64-setup.exeの実行

ライセンス規約が表示されますので、「I Agree」で次へ進みます。

次にコンポーネントの選択ですが、これは好きに設定していただいて構いません。一応上から説明すると

  • Tftpd64 Standalone Edition(required) TFTPD64の本体です。これは必須
  • Add Start Menu Shortcuts スタートメニューにTFTPD64を表示するか
  • Add desktop icon デスクトップにTFTPD64アイコンを表示するか
  • Start Tftpd64 インストール完了後にTFTPD64を起動するか

今回は一番上(必須)以外はチェックを外しました。「Next」をクリックします。

次にインストール先の設定ですが、デフォルトは「C:\Program Files\Tftpd64」となっておりますが、今回はCドライブ直下にインストールします。ブートイメージの変更をすることがあるので、わかりやすい場所としてCドライブ直下がおすすめです。「Install」をクリックします。

ものの数秒でインストールが完了し、以下の画面となります。「Close」をクリックし、インストール完了となります。

ブートイメージ類の取り出し

Windows ADKを用いて、ブートイメージ類を取り出します。Windows ADKのインストールについては割愛します。

「展開およびイメージングツール環境」でWindows PEをコピー

以下のコマンドでCドライブ直下へPEイメージをコピーします。

copype amd64 C:\pe

コピーしたPEからファイル類をコピー

上のコマンドでコピーしたPEフォルダから必要なファイルを「C:¥Tftpd64」へコピーします。以下に必要なファイルと保存先を掲載します。TFTPD64フォルダにはブートイメージ類を保存するために「EFI」フォルダを作り、そこに格納していきます。

元ファイル格納先
PE\media\Boot\boot.sdiTftpd64\EFI\Boot\boot.sdi
PE\media\Boot\BCDTftpd64\EFI\Boot\BCD
PE\media\Boot\bootx64.efiTftpd64\EFI\Boot\bootx64.efi
PE\media\EFI\Microsoft\Boot\FontsTftpd64\EFI\Boot\Fonts
※フォルダごと

ブートさせるイメージ(boot.wim)の格納

必要なファイルのコピーが完了したら、次は起動させるイメージ(boot.wim)の格納です。Windows PEイメージの作成方法は割愛します。今回は日本語化したPEイメージを使用しました。C:\TFTPD64\sourcesフォルダにboot.wimを格納します。

TFTPD64の設定

それでは、TPTFD64の設定を行っていきます。

TFTPD64の起動

インストールしたフォルダ「C:¥Tftpd64」にある「tftpd64.exe」をダブルクリックすれば、TPTFD64が起動します。インストール時にスタートメニューやデスクトップにアイコンを作成された場合はそちらからでも起動可能です。

TFTPD64の設定(Global)

「Settings」ボタンをクリックすると設定メニューが表示されます。まず、「Global」タブから設定してきます。今回はサーバー側ではTFTPとDHCPを使用しますので、二つにチェックをいれ、それ以外はチェックアウトします。

TFTPD64の設定(TFTP)

続いて、「TFTP」タブの設定です。Base DirectoryはTFTPD64をインストールしたフォルダにします。「TFTP Security」の項目は閉鎖されたローカル環境下なので、「None」とします。細かい設定については以下の通りです。

項目チェック内容
Option negotiationクライアントとサーバー間のネゴシエーションを有効にします(RFC 2347)
PEX Compatibilityファイルサイズネゴシエーションのみを有効にします
Show Progress bar転送ごとにプログレスバーを表示させる
Translate Unix file namesスラッシュ文字を円記号に変換させる
Bind TFTP to this address1つのインターフェイスでのみTFTPを有効する
Allow ‘\’ As virtual root‘\’で始まるファイル名は、ディスクのルートではなく、TFTPディレクトリを指すようにする
Use anticipation window of XXXX Bytes4096確認応答を受信する前にパケットを送信する機能。 この機能により、転送が大幅に高速化される場合があります。※この設定値は環境によって異なります。場合によっては遅くなる可能性もあるので、環境に合わせて変更してください。
Hide Window at startupメインウィンドウは非表示にする、タスクトレイのアイコンは引き続き表示
Create “dir.txt” files着信読み取り要求ごとに、Tftpd32はディレクトリの内容を一覧表示し、結果を「dir.txt」という名前のファイルに入れます。
Create md5 files正常な読み取り要求ごとに、Tftpd32は前のファイルのMD5署名であるファイルを作成します
Beep for long transferファイル転送が終了すると、ビープ音を発する
Reduce ‘//’ in file path二重スラッシュが見つかった場合、Tftpd32はそれを単一スラッシュに変換する

TFTPD64の設定(DHCP)

続いて、「DHCP」タブの設定です。PXE Bootした際のIPアドレスの払い出しや、ブートファイルの設定になります。IPアドレスの払い出しは、環境に合わせて変更してください。

項目設定値
IP pool start address192.168.0.1
IPアドレス払い出しのスタートです。
Size of pool10
何台払い出しするか設定します。
Lease(minutes)2880
リース期間です。(分)
Boot FileBoot\bootx64.efi
ブートファイルです。UEFIの場合は、こちらを使用します。
Def. router192.168.0.251
デフォルトゲートウェイです。設定しなくても問題はありませんが、エラーメッセージが表示されるので、仮で設定します。
Mask255.255.255.0
サブネットマスクです。

以上で、設定は完了となります。あとは、設定したパソコンとPEX Bootしたいパソコンをスイッチを介して接続し、PXE Bootを実施してみてください。