IPXE

"iPXE"は Preboot eXecution Environment (PXE)クライアントファームウェア、およびブートローダーの、 オープンソース による実装で、2010年に  gPXEからフォーク して作成された。 これは、内蔵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バイナリを chainloading するかでコンピュータによって起動出来るので、NICを再書き込みせずにその機能を使う事ができる。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ベースのグラフィカルメニューにネットワークブートを有効にする。