PXE安装CentOS详细指南
一、前言
PXE(Preboot eXecution Environment)是由Intel公司开发的一种技术,允许计算机通过网络启动操作系统,本文将详细介绍如何通过PXE方式在CentOS环境下进行系统安装,包括必要的服务配置和实际操作步骤。

二、基本概念与原理
PXE的工作原理是通过DHCP服务器分配IP地址,然后通过TFTP(Trivial File Transfer Protocol)或MTFTP协议下载一个启动软件包到本地内存中执行,由这个启动软件包完成终端的基本软件设置,从而引导预先安装在服务器中的操作系统。
三、环境准备
1. 硬件要求:
两台虚拟机,一台作为服务端,一台作为客户端。
每台虚拟机内存至少4GB,确保PXE安装过程中不会出现黑屏或无法安装的情况。
2. 软件要求:
CentOS 7.6的ISO镜像文件。

确保两台虚拟机在同一局域网内,并且网络连接正常。
四、服务端环境搭建
1. 配置网络接口:
- vim /etc/sysconfig/networkscripts/ifcfgens33
设置静态IP地址,并确保网口开机自动启动。
2. 关闭防火墙和SELinux:
- systemctl stop firewalld.service
- systemctl disable firewalld.service
- sed i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
- setenforce 0
3. 安装必要软件包:
- yum install y dhcp xinetd tftpserver httpd syslinux
4. 配置DHCP服务:

创建DHCP配置文件/etc/dhcp/dhcpd.conf
如下:
- subnet 192.168.1.0 netmask 255.255.255.0 {
- range 192.168.1.10 192.168.1.100;
- option routers 192.168.1.1;
- nextserver 192.168.1.100;
- filename "pxelinux.0";
- }
启动DHCP服务:
- systemctl start dhcpd
- systemctl enable dhcpd
5. 配置TFTP服务:
编辑/etc/xinetd.d/tftp
文件,确保以下内容:
- disable = no
- per_source = 11
- cps = 100 2
- flags = IPv4
启动TFTP服务:
- systemctl start tftp
- systemctl enable tftp
将CentOS 7的ISO文件挂载到/tmp/iso
目录,并将必要的文件复制到TFTP的根目录/var/lib/tftpboot
:
- mount o loop /path/to/CentOS7x86_64DVD1511.iso /tmp/iso
- cp /tmp/iso/images/pxeboot/vmlinuz /var/lib/tftpboot/
- cp /tmp/iso/images/pxeboot/initrd.img /var/lib/tftpboot/
- cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
6. 配置PXE引导文件:
创建默认引导文件/var/lib/tftpboot/pxelinux.cfg/default
如下:
- default Linux
- prompt 1
- label Linux
- kernel vmlinuz
- append initrd=initrd.img method=ftp://192.168.1.100/centos7
7. 配置HTTP服务:
安装并启动HTTP服务,用于提供安装源:
- yum install y httpd
- systemctl start httpd
- systemctl enable httpd
将ISO文件内容复制到HTTP服务器的根目录:
- cp r /tmp/iso/* /var/www/html/
修改PXE引导文件以使用HTTP作为安装源:
- default Linux
- prompt 1
- label Linux
- kernel vmlinuz
- append initrd=initrd.img method=http://192.168.1.100/centos7
五、客户端配置
确保客户端虚拟机的网络启动选项已启用,并连接到与服务端相同的网络,重启客户端虚拟机,它应通过网络启动,并从服务端获取IP地址和引导文件,最终进入CentOS安装界面。
通过以上步骤,我们成功配置了PXE环境,实现了通过网络安装CentOS系统,这种方法特别适用于没有光驱或者需要批量安装多台计算机的场景,PXE安装不仅简化了安装过程,还提高了效率和灵活性。
七、FAQs
Q1: PXE安装过程中出现“Could not find kernel image”错误怎么办?
A1: 确保TFTP服务器上存在正确的内核文件(如vmlinuz)和初始化文件(如initrd.img),并且PXE引导文件中正确引用了这些文件的路径,检查TFTP服务是否正常运行,以及DHCP配置是否正确指向TFTP服务器。
Q2: 为什么客户端无法通过网络启动?
A2: 确保以下几点:客户端的网络启动选项已启用;服务端的DHCP和TFTP服务正常运行;客户端和服务端在同一局域网内且网络连接正常;PXE引导文件配置正确。