预启动执行环境
预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。
PXE当初是作为Intel的有线管理体系的一部分,Intel 和 Systemsoft于1999年9月20日公布其规格(版本2.1)[1]。通过使用像网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)、小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID)、通用网络驱动接口(UNDI)、通用唯一识别码(UUID)的概念并通过对客户机(通过PXE自检的电脑)固件扩展预设的API来实现目的。
PXE 客户机(client)这个术语是指机器在PXE启动过程中的角色。一个PXE 客户机(client)可以是一台服务器、桌面级电脑、笔记本电脑或者其他装有PXE启动代码的机器。
目录 |
通路 [编辑]
客户机的固件为接受到可用的PXE启动服务器,要在网络中尝试找出PXE重定向服务(DHCP代理)。在分析返回的包后,固件会向合适的启动服务器询问网络自检程序(NBP)的路径,并且通过TFTP协议下载到电脑的内存中,有可能会去校验它,最后执行它。当只有全部的PXE 客户机(client)只使用一个NBP时,全部的PXE 客户机可能会被指定是用BOOTP协议,从而不需要DHCP代理,但是仍然需要TFTP启动服务。
优点 [编辑]
PXE被设计成适合各种计算机体系。2.1版的描述中确定了6种系统规格,包括IA-64和DEC Alpha。可是只有IA-32的完全表述.Intel 在IA-64 的 扩展固件接口中包括了PXE,落实了标准。
協議 [编辑]
PXE 協議大致上結合了DHCP和TFTP,雖然都有在兩者上面有改進。DHCP用於查找合適的啟動服務器,TFTP用於下載初始引導程序和附加文件。
為了開始一個PXE自檢會話,PXE固件廣播一個帶有明確的PXE選項DHCPDISCOVER包(擴展DHCPDISCOVER)到67/UDP端口(DHCP服務器端口)。PXE選項是PXE固件有PXE能力的鑑定,但是會一般的DHCP服務忽略。當固件受到從這樣的服務受到DHCPOFFER包時,它會通過要求其提供配置信息來自我配置。
DHCP代理 [编辑]
当 PXE 重定向服务 (DHCP代理) 收到一个 扩展DHCPDISCOVER 包时,它会通过发送一个带有明确的PXE选项DHCPDISCOVER包到PXE客户机的68/UDP端口 (DHCP 客户机端口)来回答。 一个扩展DHCPDISCOVER包主要包含:
- 一个PXE发现控制领域,以决定是使用多播,广播(网路)或单播来联系PXE启动服务器。
- 一个列出可用的PXE启动服务器类型的地址表。
- 一个代表每个一个PXE启动服务器类型的条目单。
- 一个带有带有提示用户按下哪一个键来看到启动菜单的PXE启动菜单/
- 一个超过多长时间就启动第一启动菜单的超时数值。
一个DHCP代理服务可能在相同的主机上运行一个标准的DHCP服务器。尽管两个服务不可以共享67/UDP 端口,DHCP代理服务在4011/UDP 端口上运行,要求从客户端来的DHCPDISCOVER 包变成DHCPREQUEST 包。标准DHCP服务在其发送的DHCPOFFER 包中加入特殊的PXE 选项组合,这样PXE客户端知道可以在同一个主机的 4011/UDP 端口找到一个DHCP代理服务。
联系启动服务 [编辑]
和一个正在启动系统的启动服务联系必须有一个IP地址(可能来自DHCP服务)。
通过多播或单播一个带有特殊的PXE选项的 DHCPREQUEST 包(扩展DHCPREQUEST包)到 4011/UDP端口,或者广播(网路)这种包到 67/UDP端口。这种包包含有PXE启动服务类型和PXE启动层,一个守护进程允许运行多个启动服务类型。 一个扩展 DHCPREQUEST包可能是一个DHCPINFORM包。
参见 [编辑]
- Remote Initial Program Load (RIPL)
- System Deployment Image (SDI)
- gPXE - 无需 PXE-ROM的 的 PXE启动
- Cobbler (软件) - 一个协助 PXE 部署的 Linux 自由软件
- Windows Deployment Services - 一个基于 PXE的Microsoft Windows部署方案
- 无盘系统
资源 [编辑]
Specifications, RFCs and other documents about PXE:
- PXE specification - The Preboot Execution Environment specification v2.1 published by Intel & Systemsoft.
- BIS specification - The Boot Integrity Services specification v1.0 published by Intel.
- Remote Boot Protocol Draft - draft of the PXE Client/Server Protocol included in the PXE specification.
- LTSP - Linux Terminal Server Project
- Lan Core - Open Source Thin Client solution.
引用 [编辑]
- ^ Preboot Execution Environment (PXE) Specification (PDF). [2009-02-18].
外部链接 [编辑]
- PXE error codes - A catalogue of PXE error codes
- PXE, aka Pre-Execution Environment - How to boot from Network - Part 1
- PXE, aka Pre-Execution Environment - How to boot from Network - Part 2