前言:从单机封装到网络批量部署的跨越
在前面的文章中,我们探讨了如何通过 Sysprep 制作标准化的 Windows 母盘(WIM 镜像)。但在拥有几十甚至上百台设备的企业环境中,使用 U 盘逐台进行单机部署依然效率低下。为了实现真正的规模化交付,我们需要将部署方式从"物理介质引导"升级为"网络引导",并引入自动化任务序列来实现无人值守安装。
MDT(Microsoft Deployment Toolkit)结合 WDS(Windows Deployment Services)或现代 PXE 响应机制,正是微软官方推荐的企业级免费批量装机解决方案。
MDT 与网络部署的核心架构解析
在构建部署环境前,我们需要理解几个核心组件的作用:
- MDT (Microsoft Deployment Toolkit):部署的"大脑"。它负责管理操作系统镜像、驱动程序、应用程序,并生成控制安装流程的任务序列(Task Sequence)和应答文件(unattend.xml)。
- WDS (Windows Deployment Services):部署的"快递员"。它提供 PXE(预启动执行环境)服务,允许客户端计算机在没有本地操作系统的情况下,通过网卡从服务器下载 WinPE 引导镜像。
- Deployment Share (部署共享):MDT 的核心工作目录,存放所有部署所需的文件、脚本和配置,并通过 SMB 网络共享给客户端访问。
环境准备:ADK 与 MDT 的安装配置
搭建 MDT 服务器(通常部署在 Windows Server 上,也可在 Windows 10/11 专业版上测试)需要以下前置组件:
1. 安装 Windows ADK
Windows 评估和部署工具包(ADK)是 MDT 运行的基础,提供了 WinPE 构建工具和 DISM 等核心组件。
- 下载并安装对应 Windows 版本的 Windows ADK。
- 下载并安装 Windows PE add-on for the ADK(用于生成网络引导镜像)。
2. 安装 MDT 工具
从微软官方评估中心下载最新的 MDT 安装包并默认安装。安装完成后,打开 Deployment Workbench(部署工作台),这是 MDT 的图形化管理控制台。
创建部署共享与导入操作系统
1. 创建 Deployment Share
在 Deployment Workbench 中,右键"Deployment Shares"选择新建。
- 指定一个本地路径(如
D:\DeploymentShare)。 - 设置共享名称(如
DeploymentShare$)。 - 在选项设置中,建议勾选"Ask user to set a local Administrator password"(可选,自动化场景通常留空或在任务序列中指定)。
2. 导入操作系统或封装镜像
展开新建的部署共享,右键"Operating Systems"选择导入。
- 导入完整 ISO :选择 Windows 11 安装 ISO 中的
install.wim。 - 导入自定义镜像 :选择上一期文章中通过 Sysprep 封装并捕获的
GoldenImage.wim。这是企业批量装机最常用的方式。
配置任务序列与自动化应答文件
任务序列(Task Sequence)是 MDT 的灵魂,它定义了从格式化硬盘到安装软件的所有步骤。
1. 创建标准任务序列
右键"Task Sequences"新建,输入 ID(如 WIN11-ENT-X64)和名称。选择"Standard Client Task Sequence",并关联刚才导入的操作系统镜像。在设置管理员密码阶段,可以选择设置本地密码或留空。
2. 定制任务序列步骤
双击打开任务序列属性,在"Task Sequence"选项卡中,可以添加自定义步骤:
- Install Applications :在"State Restore"阶段添加静默安装参数(如
/S或/quiet)的常用软件。 - Add Drivers:使用"Inject Drivers"步骤,根据目标计算机的硬件型号(通过 WMI 筛选)自动注入对应驱动。
3. 配置 CustomSettings.ini
为了实现真正的"无人值守",需要编辑部署共享属性中的 Rules(即 CustomSettings.ini),跳过所有 OOBE 交互界面:
[Settings]
Priority=Default
Properties=MyCustomProperty
[Default]
OSInstall=Y
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerBackup=YES
SkipBitLocker=YES
SkipSummary=YES
SkipFinalSummary=YES
SkipLocaleSelection=YES
SkipTimeZone=YES
TimeZoneName=China Standard Time
KeyboardLocale=0804:00000804
集成 PXE 网络引导:让客户端裸机启动
为了让没有系统的裸机通过网络启动 MDT 的 WinPE,我们需要配置 PXE 引导。
传统 WDS 集成模式
在较老版本的 Windows Server 中,可以通过安装 WDS 角色,并在 MDT 部署共享属性中勾选"Add Windows PE images to WDS"。WDS 会自动将 MDT 生成的 LiteTouchPE_x64.wim 作为 PXE 引导镜像。
现代 DHCP/PXE 配置模式
在较新的网络环境中,如果未使用 WDS,可以通过配置 DHCP 服务器的选项(Option 66 和 67)或配置独立的 PXE 服务器,将客户端引导至 MDT 的 WinPE 环境。确保 DHCP 服务器与 MDT 服务器在同一网段,或配置了正确的 DHCP 中继(IP Helper)。
客户端批量装机实战与排错
1. 客户端 PXE 启动
将目标计算机接入网络,在 BIOS/UEFI 中开启"Network Boot"或"PXE Boot",并将其设置为第一启动项。开机后,客户端将获取 IP 地址并下载 WinPE 镜像。
2. 执行部署向导 (Deployment Wizard)
进入 WinPE 后,MDT 会自动弹出部署向导。由于我们配置了 CustomSettings.ini,大部分页面会被自动跳过。用户只需选择对应的任务序列,确认目标磁盘(DiskPart 会自动规划 GPT 和 ESP 分区),即可开始全自动安装。
3. 常见排错思路
- PXE 引导失败 (PXE-E53/PXE-E55):通常是 DHCP 未收到请求或未正确下发 Boot 文件名。检查 DHCP 作用域选项或网络交换机是否拦截了 UDP 67/68 端口。
- 部署中途报错并重启 :MDT 会将日志保存在
C:\MININT\SMSOSD\OSDLOGS或X:\Windows\Temp\DeploymentLogs下的BDD.log中。使用 CMTrace 工具打开日志,搜索"Return code"或"Error"即可定位失败的具体步骤。
结语
通过 MDT 与 PXE 网络引导的结合,我们将原本繁琐的单機装机工作,转化为了标准化的流水线作业。从导入 Sysprep 封装镜像,到配置无人值守任务序列,再到网络批量下发,这套体系不仅大幅降低了 IT 运维的人力成本,更保证了企业内所有终端环境的高度一致性。在下一阶段的进阶中,我们还可以引入 MDT 数据库(MDT DB)来实现基于计算机 MAC 地址的完全静默部署。