预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的 *** 作系统。
PXE启动是指联系启动服务,和一个正在启动系统的启动服务联系必须有一个IP地址(可能来自DHCP服务)。通过多播或单播一个带有特殊的PXE选项的 DHCPREQUEST 包(扩展DHCPREQUEST包)到 4011/UDP端口,或者广播(网路)这种包到 67/UDP端口。
这种包包含有PXE启动服务类型和PXE启动层,一个守护进程允许运行多个启动服务类型。 一个扩展 DHCPREQUEST包可能是一个DHCPINFORM包。
扩展资料:
优点
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服务忽略。
参考资料来源:百度百科-预启动执行环境
1、准备CentOS52、安装tftp/dhcp/vsftp
yum -y install tftp-server dhcp vsftpd
3、禁用防火墙或者开通相应的端口
设置/etc/sysconfig/selinux
SELINUX=disabled
重启或执行setenforce 0
service iptables stop
4、配置tftp-server
vi /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot 这里如果不修改默认是/tftpboot 会提示
PXE-T01:File not found
PXE-E3B:TFTP Error – file not found
PXE……………..
#设置disable的值由yes变为no
disable = no
/etc/init.d/xinetd restart重启xinetd服务
netstat -nulp检查tftp启动是否成功
udp0 0 0.0.0.0:69 0.0.0.0:*
5、配置dhcp
vi /etc/dhcp/dhcpd.conf或者vi /etc/dhcpd.conf
option domain-name-servers 8.8.8.8, 202.106.0.20
default-lease-time 86400
max-lease-time 604800
authoritative
ddns-update-style ad-hoc
filename “pxelinux.0″
subnet 192.168.209.0 netmask 255.255.255.0 {
range 192.168.209.15 192.168.209.17
next-server 192.168.209.18
option subnet-mask 255.255.255.0
option broadcast-address 192.168.209.255
option routers 192.168.209.18
}
#启动dhcp
/etc/init.d/dhcpd start
#检查dhcp是否启动成功:
netstat -nulp
udp0 0 0.0.0.0:67 0.0.0.0:* 4741/dhcpd
6、默认配置vsftp即可
/etc/init.d/vsftpd start
netstat -ntlp
tcp0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4680/vsftpd
7、设置ftp数据源
mount /dev/cdrom /var/ftp/pub
mount -o loop /opt/CentOS-5.9-x86_64-bin-DVD-1of2.iso /var/ftp/pub
8、PXE Boot loader (PXE引导加载程序)
pxelinux.0是syslinux套件提供的,如果没有请安装
yum install syslinux
用以下命令查看系统是否已安装和存放的目录,
rpm -ql syslinux | grep pxelinux.0
发现pxelinux.0存放在
/usr/share/syslinux/pxelinux.0 或者/usr/lib/syslinux/pxelinux.0
mkdir /var/lib/tftpboot
把pxelinux.0复制到tftpboot
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot
9、copy 需要引导文件
cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot
cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /var/ftp/pub/isolinux/*.msg /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /var/ftp/pub/isolinux/isolinux.cfg /var/lib//tftpboot/pxelinux.cfg/default
10、设置开机自启动tftp-server/dhcp/vsftp
chkconfig xinetd on
chkconfig dhcpd on
chkconfig vsftpd on
service xinetd start(或者/etc/init.d/xinetd start)
service dhcpd start(或者/etc/init.d/dhcpd start)
service vsftpd start(或者/etc/init.d/vsftpd start)
11、netstat -ntul 检查服务是否正确启动
tcp0 0 0.0.0.0:21 0.0.0.0:* LISTEN
udp0 0 0.0.0.0:67 0.0.0.0:*
udp0 0 0.0.0.0:69 0.0.0.0:*
12、访问ftp://ip/pub 检查ftp是否生效
13、在其他电脑用网卡引导检查是否可以通过PXE安装CentOS/RHEL
14、无人干预安装CentOS/RHEL,这不是必须的:
用system-config-kickstart 配置ks.cfg
15、配置default文件
vi /var/lib//tftpboot/pxelinux.cfg/default
label linux
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.209.18/ks.cfg
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)