IPXE

iPXEは、Preboot eXecution Environment（PXE）クライアントファームウェアおよびブートローダーのオープンソースによる実装で、2010年にgPXEからフォークして作成されたipxe.org - iPXE FAQs, 2011-12-02。iPXEは、内蔵PXEサポートがないコンピュータでネットワークからブート出来るようにするため、また、既存のPXEクライアントの実装を拡張するのに使用される。また、追加のプロトコルもサポートする。

標準のPXEクライアントはデータを転送するのにTFTPを使うのに対し、iPXEクライアントファームウェアは、HTTP、iSCSI、ATA over Ethernet (AoE)、ファイバチャネルover Ethernet (FCoE) を含む他のプロトコル経由でデータを受け取る機能を追加で有している。また、サポートされているハードウェアiPXEファームウェアは、Wi-Fiリンクを利用できるため、有線接続は必須ではない。iPXEファームウェアは、「ドロップイン」のPXEファームウェアの代替とみなすことはできない。

 PXEの実装 
iPXEは、サポートされているネットワークインターフェースカード（NIC）上に存在する標準PXE ROMを置き換え (re-flashing) るか、NICの標準PXE ROMでブートし、iPXEバイナリをチェーンロードすることによって起動できる。後者の場合、NICを再書き込みせずにiPXEを利用できる。なお、前者の場合、iPXEファームウェアはその構成スクリプトをファームウェアイメージに埋め込むことが出来るので、何らかの構成変更はNICの再書き込みを必要とする。

iPXEは、iPXEによって提供されるネットワークカードドライバを使うか、iPXEが標準PXE ROMからiPXEがチェーンロードされた場合、標準PXE UNDIドライバのどちらかを使う、固有のPXEスタックを実装する。独立したPXEスタックの実装は、NIC上に標準PXE ROMがないクライアントが、代替の媒体からロードすることにより、代替 iPXEスタックを使えるようにする。

 ブートマネージャ 
基本的な役割が、PXEスタックを実装することにもかかわらず、iPXEは、エンドユーザーがメニューベースで対話しながら操作する限定的な機能を持つ、ネットワークブートマネージャとして使用することができる。iPXEは、たとえばTFTP、NFS、HTTP、FTPのような複数のネットワークプロトコルを使ってブートファイルを読み出せる。 

iPXEは、マルチブートをサポートする、Linuxカーネル用のブートローダとして振る舞うことが出来る。他のOS向け、例えばWindows CEでは、iPXEは、適切なMicrosoftブートローダをチェーンロードする。更に、iPXEは、スクリプトによる設定が可能で、COMBOOTとCOM32 SYSLINUX拡張をロードできる。例えば、SYSLINUXベースのグラフィカルメニューにネットワークブートを有効にする。
 関連項目 
 PXE
 PXELINUX

 Coreboot

 参考文献 

 外部リンク 


 Introduction to Network Booting and Etherboot

Category:ブート