什么是PXE及PXE启动

什么是PXE及PXE启动,第1张

启动执行环境(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、准备CentOS5

2、安装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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7307381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存