PXE(Preboot eXecution Environment,预启动执行环境)是一种网络启动协议,它允许计算机在没有本地存储设备(如硬盘、U盘、光驱)的情况下,直接从网络服务器加载操作系统镜像、安装程序或诊断工具来启动。
启动时,网卡会广播请求,寻找PXE服务器。
废话不多说直接开始操作
1. 关闭selinux
编辑selinux配置文件,将SELINUX=disabled
,然后执行临时禁用命令:
vim /etc/sysconfig/selinux
setenforce 0
2. 关闭防火墙
查看防火墙状态,关闭防火墙并设置开机不启动:
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl is-enabled firewalld
3. 安装软件
安装所需软件包并验证安装:
yum install -y httpd dhcp tftp-server xinetd syslinux system-config-kickstart
rpm -q httpd dhcp tftp-server xinetd syslinux system-config-kickstart
4. 配置DHCP服务
- 复制示例配置文件
- 修改配置文件,添加以下网络配置:
subnet 192.168.153.0 netmask 255.255.255.0 { range 192.168.153.2 192.168.153.250; option subnet-mask 255.255.255.0; option routers 192.168.153.1; default-lease-time 600; max-lease-time 7200; next-server 192.168.153.133; filename "/pxelinux.0"; }
- 启动并启用dhcp服务:
systemctl start dhcpd systemctl enable dhcpd
5. HTTP服务配置
- 创建所需目录
- 挂载镜像并启动httpd服务:
mkdir -pv /var/www/html/centos7 mkdir /mnt/cdrom mount -0 loop /dev/sr0 /mnt/cdrom mount --bind /mnt/cdrom /var/www/html/centos7 systemctl start httpd systemctl enable httpd
6. 配置TFTP服务
- 修改配置文件,设置
disable = no
- 启动并启用相关服务:
systemctl restart tftp.socket systemctl restart tftp.service systemctl restart xinetd systemctl enable tftp.socket systemctl enable tftp.service systemctl enable xinetd
7. 配置文件准备
复制PXE启动所需文件:
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /mnt/cdrom/isolinux/{vesamenu.c32,boot.msg,splash.png} /var/lib/tftpboot/
cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
创建kickstart目录:mkdir -pv /var/www/html/ksdir
8. 安装引导文件
运行kickstart配置工具进行系统安装配置:
system-config-kickstart
复制配置文件并编辑PXE启动菜单:
cp /root/CentOS7.cfg /var/www/html/ksdir/ks.cfg
chmod +r /var/www/html/ksdir/ks.cfg
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
启动菜单内容:
default vesamenu.c32
timeout 60
default linux
label linux
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.153.133/CentOS7 inst.ks=http://192.168.153.133/ksdir/ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth0
9. 新建虚拟机测试
创建新虚拟机进行测试,注意:
- 硬盘空间需大于ks文件中指定的空间总和
- 内存需大于2GB
总结
PXE是一个强大的网络启动协议,它通过在客户端网卡固件、DHCP服务器、TFTP服务器和文件服务器的协同工作下,实现了计算机从网络加载和启动操作系统的能力。它在企业IT环境中扮演着至关重要的角色,特别是在自动化、大规模操作系统部署、集中化管理、系统恢复和无盘计算等场景中,极大地提高了效率和灵活性。
常见的实现PXE服务的工具包括:
- Linux系统:dnsmasq (集成DHCP/TFTP)、ISC DHCP + tftpd-hpa、Cobbler、Foreman
- Windows系统:Windows部署服务
如需了解特定操作系统上搭建PXE服务器的详细步骤,或解决PXE启动常见问题,可获取进一步指导。
未经允许不得转载作者:
一个流浪的码农,
转载或复制请以
超链接形式
并注明出处
。
原文地址:
《
centos7 系统下安装PXE 网络启动协议-保姆及教程》
发布于
2025-6-21
微语
在铺天盖地的“买它!”声浪中,按下了取消订单的按钮。购物车清空的瞬间,竟有种奇异的轻松感。占有欲退潮,理智的礁石才显露出来。 #反消费主义 #清醒购物
旧钢笔的笔尖有些干涩了,在纸上摩擦出沙沙的声响。它记得多少被划掉的句子,多少未寄出的心事?沉默的书写工具,是最忠实的秘密保管员。 #老物件 #书写时光
空白的文档像一片寂静的雪原。敲下第一个字,如同踩出第一行足迹。不知它会通向何方,但出发本身就是意义。 #写作札记 #创作进行时
冰箱里冰着早上买的西瓜,等待傍晚被切开时那一声清脆的“咔嚓”。生活里最朴素的期待,往往带来最清甜的满足。 #小期待 #夏日滋味
不小心打翻了咖啡杯,深褐色的液体在木桌上蔓延,像一幅即兴创作的抽象画。手忙脚乱的擦拭间,竟也品出几分生活的荒诞与可爱。 #生活小意外 #咖啡事故
地铁站里,穿碎花裙的女孩踮着脚尖看路线图,阳光穿过玻璃顶棚,在她发梢跳跃。这匆忙都市里,总有不期而遇的生动剪影。 #城市速写 #瞬间
信誓旦旦要早睡,结果又在深夜与手机“难舍难分”。人类的计划啊,在温暖的被窝和刷不完的信息流面前,总是显得那么…不堪一击。 #晚安失败 #当代生活实录
夏至已至,白昼最长。时间像无声的河流,冲刷着岸边的痕迹。我们努力留下些什么?或许,一个真诚的念头,一次会心的微笑,就足以证明此刻的存在。 #时间札记 #夏至
我们总在追逐远处的风景,却常常忽略脚下泥土的芬芳。今天驻足,看一朵云如何缓慢地改变形状,听风穿过树叶的低语。原来,生活的诗意,就藏在最不经意的驻足里。 #生活随想 #慢下来