PXE-preboot execute environment-预启动执行环境

  • 是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。pxe可以引导多种操作系统。

1、PXE需要的最基础组件或服务
(1)PXE: 服务器或主机需要支持PXE启动(放心,一般都支持)。可以简单的认为,自动化刷机服务器(以下简称PXE服务器)为PXE服务端,需要安装系统的主机为PXE客户端
(2)DHCP: 搭建DHCP服务器,主要是给PXE客户端分配IP地址并且指向网络上的启动资源,比如TFTP服务器上的vmlinuz文件和initrd文件。
(3)TFTP: 搭建TFTP服务器,主要是提供网络上的启动资源,比如pxelinux.0、vmlinuz文件和initrd文件
上面三个是最基础的的组件,却一不可! 下面介绍一下辅助服务器。
这些服务器主要是文件服务器,用来存放和管理iso镜像。比如 nfs,ftp,http等

2、PXE启动过程
首先,PXE client端(BIOS里面的PXE固件)广播一个DHCPDISCOVER的包,它询问所需的网络配置以及网络启动的参数。标准DHCP服务器(非PXE enabled)将回复一个普通的DHCPOFFER包,其中包含网络信息(如IP地址),但并不能提供PXE相关参数,因此PXE Client并不能启动。而PXE enabled的DHCP服务器所回复的DHCPOFFER包里则包含PXE相关信息。
在解析一个PXE enabled的DHCP服务器返回的DHCPOFFER包后,PXE client就能够设置自己的IP地址、IP Mask等等,并且指向网络上的启动资源,比如TFTP服务器上的vmlinuz文件和initrd文件。
然后PXE client就通过TFTP下载这些启动资源到自己的内存中;如果是UEFI Secure Boot(而不是Legacy的BIOS)则还会检验一下这些启动资源。下载完成后就会用这些资源来启动了。
这些启动资源其实就是最小的操作系统(比如WindowsPE,又比如一个basic Linux kernel+initrd)。这个最小操作系统在装载了网络驱动和TCP/IP协议栈之后,就会开始boot或者install完整的操作系统了。而这个boot或install的过程,就不再通过TFTP来做,而是通过更加健壮的网络传输协议(如HTTP、CIFS、iSCSI或NFS)来做。而boot或者install所用到的实体,比如磁盘或者CD-ROM,是位于远端的,因此需要通过网络传输协议来做。

Linux ❀ PXE-预启动执行环境_预启动执行环境

创作者:Eric· Charles