传统安装操作系统通常依赖于U盘或光盘。当需要部署的主机数量庞大时,这种方式的效率和便利性便会大打折扣。在如今的网络时代,通过网络批量安装系统成为了更优的选择。对于Windows环境而言,利用PXE(预启动执行环境) 结合Windows Server自带的 WDS(Windows部署服务) ,可以高效地实现无人值守的系统部署。
其基本原理采用C/S架构:需要一台安装了WDS的Windows Server作为PXE服务器,待安装系统的主机作为客户端。当客户端启动时,会通过DHCP获取IP地址,并从DHCP的选项(Option)中获取PXE服务器的地址和引导文件信息,继而通过TFTP协议下载启动文件和安装映像,最终完成系统安装。想要更深入地了解DHCP的各种扩展选项,可以参考社区内关于DHCP配置的详细讨论。
1、安装与配置WDS服务
Windows Server通过 WDS(Windows Deployment Services) 服务来实现PXE功能。我们以Windows Server 2019为例,演示其安装与配置流程。
首先,通过 “服务器管理器” 中的 “添加角色和功能” 向导来安装WDS服务。
在选择服务器角色界面,勾选 “Windows部署服务”,在弹出的对话框中点击 “添加功能”。

查看WDS服务介绍,其中提到了部署对DNS服务的依赖。之前的文章中我们已经介绍过相关服务的配置,此处不再赘述。

在选择角色服务页面,需要用到 “部署服务器” 和 “传输服务器”(即内置的TFTP服务),两者一并勾选。

确认安装所选内容,点击 “安装” 开始部署。

安装完成后,打开WDS管理控制台。此时服务默认处于未配置状态。右击服务器名称,选择 “配置服务器”,启动配置向导。

配置向导开始前会列出先决条件,包括需要加入域、网络中需有活动的DHCP和DNS服务器,以及需要一个NTFS分区存储映像。

在安装选项页面,根据你的环境选择 “与Active Directory集成” 或 “独立服务器”。本次演示选择 “独立服务器”。

接下来,设置远程安装文件夹的位置。该文件夹用于存储操作系统镜像、驱动程序等文件,因此需要选择容量足够大且非系统盘的NTFS分区。演示环境中直接使用了C盘。

在PXE服务器初始设置页面,定义服务器响应哪些客户端。通常为了部署方便,可以选择 “响应所有客户端计算机(已知和未知)”。你也可以根据安全要求,勾选“要求管理员审核未知计算机”。

点击 “下一步” 开始配置WDS服务。配置完成后,建议勾选 “立即向服务器中添加映像”,以便后续快速添加系统镜像。

添加映像时,首先需要指定包含boot.wim(启动映像)和install.wim(安装映像)的源路径,通常位于Windows安装ISO镜像解压后的sources目录下。

接着,为这组映像创建一个映像组,用于管理和区分不同系列的镜像。

向导会显示复核信息。例如,使用Windows Server 2019安装镜像时,通常会识别出多个系统版本(如标准版、数据中心版等)。

确认无误后,向导会自动复制镜像文件到远程安装文件夹。

完成后,可以在文件资源管理器中查看已复制的文件。在C:\RemoteInstall\Images\Windows目录下,会看到多个install.wim文件和一个资源文件。

回到WDS管理控制台,可以在 “启动映像” 节点下看到已成功导入的启动映像。

按照同样的方法,我们可以继续添加其他系统镜像,如Windows 7和Windows 10。最终,在 “安装映像” 节点下会列出所有可部署的操作系统。

2、配置DHCP服务器以支持PXE
PXE启动的第一步是客户端通过网络获取IP地址,这依赖于DHCP服务器。更重要的是,DHCP需要通过特定选项(Option)告知客户端PXE服务器的位置和引导文件。
首先,需要在DHCP服务器上创建一个作用域,并指定分配的IP地址范围(例如10.3.2.66 - 10.3.2.166)。

然后,配置该作用域的选项。右击 “作用域选项”,选择 “配置选项”。

在可用选项中,找到并勾选:
- 066 启动服务器主机名:其值应设置为WDS/PXE服务器的IP地址(例如
10.3.2.1)。
- 067 启动文件名:其值应设置为WDS远程安装文件夹的引导路径(例如
C:\RemoteInstall)。

配置完成后,作用域选项列表应包含常规的路由器(003)、DNS服务器(006)以及刚刚添加的PXE相关选项(066, 067)。

3、通过PXE部署操作系统实战
配置好服务器端后,就可以进行客户端部署测试了。我们创建一台不挂载任何安装介质的虚拟机,并将其网络连接到与PXE服务器相同的网络中。

启动虚拟机,可以看到它成功从DHCP获取了IP,并联系到了PXE服务器。但默认设置下,屏幕提示需要按F12键才能继续网络启动。

为了简化部署(尤其是在批量环境中),我们可以修改WDS的启动策略。在WDS控制台中右击服务器,进入 “属性”,切换到 “启动” 页签。将 “已知客户机” 和 “未知客户机” 的PXE启动策略均修改为 “始终继续PXE启动”。

还可以在 “客户端” 页签中,勾选 “启用客户端日志记录”,便于后续排查问题。无人参与安装(自动应答文件)的配置较为复杂,此处暂不启用。

修改后重启客户端,会自动进入启动菜单。但默认的启动项名称可能完全相同,不易区分。

我们可以在WDS控制台的 “启动映像” 列表中,右键点击映像选择 “重命名”,为其设置更友好的名称。

再次启动客户端,现在可以选择清晰命名的启动项了。选择后,开始加载Windows安装环境。

之后会进入熟悉的Windows安装界面。在选择要安装的操作系统页面,会列出WDS服务器中所有可用的安装映像,而不仅限于当前启动映像对应的系统。这意味着你可以用一个通用的WinPE启动环境,来部署任意版本的系统。

接下来的安装过程就与本地安装无异了。确保服务器网络稳定,因为所有系统文件都需要通过网络传输。在千兆局域网内,传输速度通常能够接受。

一个注意事项:除非在同时向大量客户端部署完全相同的系统,否则不要轻易启用“多播传输”功能。对于零星或不同系统的部署,多播反而可能因为等待会话合并而变得异常缓慢。

至此,一个基于Windows Server 2019 WDS服务的PXE网络部署环境就搭建完成了。通过上述步骤,你可以将系统安装从繁琐的物理介质操作中解放出来,实现高效、集中的批量部署。如果在其他网络/系统运维场景中遇到问题,也欢迎在云栈社区与大家交流探讨。