在现代化的IT运维与开发环境中,高效、批量地部署操作系统是一项核心技能,相较于传统的光盘或U盘安装方式,网络安装(PXE,Preboot Execution Environment)展现出无与伦比的便捷性与可扩展性,它允许管理员在没有任何物理介质的情况下,通过网络引导一台裸机服务器或虚拟机,并自动完成操作系统的安装流程,本文将详细介绍如何在Windows操作系统中搭建一套完整的网络安装环境,以实现CentOS的自动化部署。

核心原理与组件
要理解网络安装,首先需要了解其背后协同工作的几个关键服务,整个过程就像一个精心编排的链条,环环相扣:
- DHCP (Dynamic Host Configuration Protocol):当客户端计算机从网络启动时,它首先需要在网络中“自报家门”,获取一个IP地址,DHCP服务器负责分配这个IP地址,它会额外提供一个关键信息——下一阶段要访问的TFTP服务器地址以及需要下载的引导文件名。
- TFTP (Trivial File Transfer Protocol):这是一个简单、基于UDP的文件传输协议,客户端在获得DHCP信息后,会连接到指定的TFTP服务器,下载启动系统所需的最小内核文件(
vmlinuz)和初始内存盘(initrd.img)。 - HTTP/FTP/NFS Server:TFTP只负责传输启动初期的“火种”文件,当CentOS的安装程序(Anaconda)在内存中运行起来后,它需要访问完整的安装源文件,包括软件包、配置文件等,这些文件通常存放在一个HTTP、FTP或NFS服务器上,出于简单和通用性考虑,HTTP服务器是最佳选择。
在Windows环境下,我们可以借助一些轻量级的开源软件来模拟上述所有服务,从而构建一个功能完备的PXE服务器。
准备工作
在开始配置之前,请确保以下条件已就绪:
- 一台Windows主机:作为PXE服务器,建议使用Windows 10/11或Windows Server,这台机器需要有一个固定的静态IP地址。
- CentOS ISO镜像文件:从CentOS官方网站下载所需版本的DVD ISO文件。
- 网络环境:确保PXE服务器和待安装的客户端机器在同一个局域网内,且网络通畅。
- 必要软件:
- Tftpd64 (或 Tftpd32):一款集DHCP、TFTP、SNTP和Syslog于一体的绿色软件,非常适合我们的需求。
- HTTP服务器软件:可以选择XAMPP、WampServer等集成环境,或者使用Windows自带的IIS,甚至更轻量的HFS(HTTP File Server),本文以通用HTTP服务器为例进行说明。
详细配置步骤
第一步:配置Windows主机的网络
为你的PXE服务器(Windows主机)设置一个静态IP地址,可以设置为 168.1.10,子网掩码 255.255.0,网关 168.1.1(通常是你的路由器地址),静态IP是确保DHCP服务稳定运行的基础。
第二步:安装与配置Tftpd64
- 下载并解压Tftpd64,运行主程序
tftpd64.exe。 - 在主界面中,进行如下配置:
- TFTP Server:
- Current Directory:设置一个文件夹路径,
D:PXETFTP-Root,这个目录将存放所有PXE引导文件。 - 勾选 PXE Compatibility。
- Current Directory:设置一个文件夹路径,
- DHCP Server:
- 勾选 DHCP Server 选项卡。
- IP Pool Starting Address:设置DHCP地址池的起始地址,
168.1.100。 - Size of Pool:设置地址池大小,
50。 - Boot File:这是PXE引导的关键,填写
pxelinux.0。 - Mask:填写子网掩码
255.255.0。 - Gateway/DNS:填写网关和DNS服务器地址(通常与网关相同)。
- TFTP Server IP:填写你Windows主机的静态IP,即
168.1.10。
- 点击 Save 按钮保存设置,Tftpd64已经开始提供DHCP和TFTP服务。
- TFTP Server:
第三步:准备CentOS安装源文件
- 挂载并提取ISO文件:使用虚拟光驱软件(如Windows 10/11自带的挂载功能)加载下载好的CentOS ISO文件。
- 复制PXE引导文件:进入虚拟光驱目录,找到
images/pxeboot/文件夹,将vmlinuz和initrd.img这两个文件复制到TFTP根目录(D:PXETFTP-Root)。 - 复制PXE引导程序:从网上下载
syslinux软件包,从中找到pxelinux.0文件,并将其同样复制到TFTP根目录。 - 创建PXE菜单配置:在TFTP根目录下创建一个名为
pxelinux.cfg的文件夹,并在其中创建一个名为default的文本文件,这个文件定义了客户端启动时看到的菜单。 - 准备HTTP安装源:将整个CentOS ISO镜像中的所有内容复制到你的HTTP服务器的根目录(如果你使用XAMPP,则可能是
D:xampphtdocscentos),确保网络中的其他机器可以通过http://192.168.1.10/centos访问到这些文件。
第四步:配置PXE引导菜单
编辑上一步创建的 default 文件,内容如下:

default pxeboot
prompt 0
timeout 60
label pxeboot
menu label ^Install CentOS Stream 9
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.1.10/centos 关键参数解释:
default pxeboot:默认启动的标签。prompt 0:不显示“boot:”提示符,直接进入菜单。timeout 60:60秒后自动选择默认选项。kernel vmlinuz:指定内核文件。append initrd=initrd.img ...:传递给内核的参数。-
initrd=initrd.img:指定初始内存盘。 -
inst.repo=http://...:这是最重要的参数,它告诉Anaconda安装程序从哪里获取完整的软件包,请务必将URL修改为你自己的HTTP服务器地址。
-
第五步:启动网络安装
- 将待安装的客户端机器开机,并进入BIOS/UEFI设置。
- 将启动顺序(Boot Order)设置为 Network Boot 或 PXE Boot,并保存退出。
- 客户端重启后,会通过DHCP获取IP,并从TFTP服务器下载
pxelinux.0,随后显示出我们配置的安装菜单。 - 选择 “Install CentOS Stream 9” 并回车,系统将加载
vmlinuz和initrd.img,之后CentOS的图形化或文本化安装界面就会出现,接下来的步骤与常规安装完全相同。
服务组件功能小编总结
为了更清晰地理解各组件的职责,下表进行了小编总结:
| 服务组件 | 主要功能 | 在Windows下的实现工具 | 关键配置文件/目录 |
|---|---|---|---|
| DHCP Server | 分配IP地址,提供TFTP服务器地址和引导文件名 | Tftpd64 | Tftpd64的DHCP Server选项卡 |
| TFTP Server | 传输初始引导文件(pxelinux.0, vmlinuz, initrd.img) | Tftpd64 | TFTP根目录 (e.g., D:PXETFTP-Root) |
| HTTP Server | 提供完整的CentOS安装源(软件包等) | XAMPP, IIS, HFS等 | HTTP根目录 (e.g., D:xampphtdocscentos) |
| PXE Menu | 定义客户端看到的启动选项和内核参数 | 文本编辑器 | pxelinux.cfg/default |
通过以上步骤,你便成功地在Windows环境中搭建了一个强大的CentOS网络安装平台,这种方法不仅适用于单台机器的快速部署,更是在需要大规模部署服务器集群时的标准操作,极大地提升了工作效率。
相关问答FAQs
问题1:客户端启动后提示“PXE-E53: No boot filename received”或“TFTP open timeout”,是什么原因造成的?
解答:这是最常见的PXE故障之一,通常指向TFTP服务或DHCP配置问题,请按以下顺序排查:

- 防火墙:检查Windows主机的防火墙,确保UDP端口67(DHCP)、68(DHCP客户端)和69(TFTP)已被允许入站,检查杀毒软件是否拦截了Tftpd64。
- 网络连接:确保服务器和客户端在同一个物理或虚拟网络中,且没有网络策略阻止通信。
- Tftpd64配置:确认TFTP服务已启动,Current Directory”路径正确,
pxelinux.0文件确实存在于该目录下。 - DHCP配置:在Tftpd64的DHCP设置中,再次核对“Boot File”是否为
pxelinux.0,“TFTP Server IP”是否为你Windows主机的静态IP。
问题2:我的网络中已经有一个路由器在提供DHCP服务,还能在Windows主机上再运行一个DHCP服务器吗?
解答:不建议这样做,在同一个局域网内同时运行两个DHCP服务器会导致IP地址分配冲突,引发不可预测的网络问题,最佳解决方案有两种:
- 禁用路由器DHCP:如果网络环境允许,登录路由器管理界面,关闭其DHCP功能,然后完全由Tftpd64来接管。
- 配置路由器DHCP选项:这是更优雅的方案,许多企业级或高级家用路由器支持“DHCP选项”或“网络启动”设置,你可以在路由器的DHCP配置中,保留其原有的地址分配功能,但手动指定以下选项:
- Option 66 (TFTP Server Name):填写你的Windows主机IP(如
168.1.10)。 - Option 67 (Bootfile Name):填写
pxelinux.0。
通过这种方式,路由器会告诉客户端去哪里找引导文件,而你只需要在Windows主机上运行TFTP和HTTP服务即可,无需再运行DHCP服务。
- Option 66 (TFTP Server Name):填写你的Windows主机IP(如
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复