在企业环境或实验室中,PXE(Preboot Execution Environment,无盘启动)被广泛用于大规模批量部署操作系统。通过 PXE,无需 U 盘或 CD,就能远程启动和安装 Linux。本教程将介绍如何在 Linux 服务器上搭建 PXE 无盘启动环境,实现网络安装 Linux。
2. 了解 PXE 无盘启动原理
PXE 启动的核心流程:
1. DHCP 服务器 分配 IP 地址,并告知 PXE 客户端 TFTP 服务器的地址。
2. TFTP 服务器 提供 PXE 引导文件,如 pxelinux.0。
3. PXE 引导 加载 pxelinux.cfg 配置文件,选择引导内核。
4. NFS 或 HTTP 服务器 提供 Linux 安装文件,进行系统安装。
3. 搭建 PXE 服务器
3.1 安装必要软件
在 PXE 服务器(CentOS/Ubuntu)上安装以下组件:
# 安装 DHCP、TFTP 和 NFS 服务器
sudo apt install isc-dhcp-server tftpd-hpa nfs-kernel-server -y # Ubuntu
sudo yum install dhcp-server tftp-server nfs-utils -y # CentOS
3.2 配置 DHCP 服务器
编辑 DHCP 配置文件:
sudo nano /etc/dhcp/dhcpd.conf
添加 PXE 相关配置:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
next-server 192.168.1.10;
filename "pxelinux.0";
}
启动 DHCP:
sudo systemctl restart isc-dhcp-server
3.3 配置 TFTP 服务器
sudo mkdir -p /var/lib/tftpboot
sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/
sudo systemctl restart tftpd-hpa
3.4 配置 PXE 引导文件
创建 PXE 引导配置:
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
添加以下内容:
DEFAULT linux
LABEL linux
KERNEL vmlinuz
APPEND initrd=initrd.img
3.5 配置 NFS/HTTP 服务器提供 Linux 安装文件
sudo mkdir -p /var/www/html/centos
sudo mount -o loop CentOS-7-x86_64-Minimal.iso /mnt
sudo cp -r /mnt/* /var/www/html/centos/
sudo systemctl restart apache2 # Ubuntu
sudo systemctl restart httpd # CentOS
4. 让客户端 PXE 启动
在 BIOS 中启用网络启动(PXE Boot),重启客户端,即可进入 PXE 安装界面。
5. 总结
本教程介绍了如何在 Linux 上搭建 PXE 服务器,实现无盘启动与自动安装 Linux。PXE 技术适用于大规模操作系统部署,提高了运维效率。
你是否考虑在企业环境或实验室中部署 PXE?欢迎留言交流!