centos7 系统下安装PXE 网络启动协议-保姆及教程

centos7 系统下安装PXE 网络启动协议-保姆及教程

首页 » Linux分享 » centos7 系统下安装PXE 网络启动协议-保姆及教程

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服务

  1. 复制示例配置文件
  2. 修改配置文件,添加以下网络配置:
    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";
    }
  3. 启动并启用dhcp服务:
    systemctl start dhcpd
    systemctl enable dhcpd

5. HTTP服务配置

  1. 创建所需目录
  2. 挂载镜像并启动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服务

  1. 修改配置文件,设置disable = no
  2. 启动并启用相关服务:
    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

分享到:
切换注册

登录

忘记密码?

您也可以使用第三方帐号快捷登录

切换登录

注册

fee主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

网站公告

公告内容
我已阅读