HOWTO: 解决 WDS 自动化部署 Windows 时 PE 应答文件无法自动应用系统映像
在企业 IT 服务台,通常会部署一台 WDS 服务器用于桌面端的系统交付任务。WDS 的优势和特点相信了解的朋友都有了解,内置在 Windows Server 中的一个服务,提供了友好的 UI 管理界面,配置简单除了支持 AD 也可以在工作组环境下运行,除了可用来通过网络安装 Windows 操作系统,还支持 PXE 引导,最为重要的是它还支持全自动化部署的应用场景,并提供了简单的设备驱动管理功能。
今天,要分享的是在自动化部署场景下,应答文件无法自动应用系统映像的问题。我们知道要实现 WDS 的自动化部署,首先要解决 PE 引导进入 WDS 环境后的登录验证问题,之后才会执行 Windows Setup 过程,在这个 Setup 向导中会允许 IT 人员选择要安装的系统映像,以及目标设备的磁盘准备工作。为此我们需要创建一个应答文件,在“1 windowsPE”阶段添加“amd64_Microsoft-Windows-Setup_neutral”以配置相关的应答设置。
其中,使用“WindowsDeploymentServices”来指定验证登录到 WDS 的账户信息(Login),并通过“ImageSeclection”指定要安装哪个系统映像(InstallImage),以及要安装到哪个磁盘的分区(InstallTo)。
考虑到设备要重建系统分区和格式化,所以我们还应该添加“DiskConfiguration”对硬盘进行自动化配置,本例为 UEFI 设备创建了三个必要分区:EFI、MSR、Primary
到这里我们可以在 WDS 中加载这个应答文件,并做一下测试。WDS 为 PE Boot 加载 Unattend 的过程很简单,打开 WDS 控制台,进入其属性,找到客户端选项卡,勾选“启用无人参与安装”,为“x64 UEFI 体系结构”指定我们刚才创建的应答文件即可。
在实际测试中注意到部署过程并未自动化去安装预先配置的系统映像,我们复查一下应答文件,重点检查“ImageSelection”下的“InstallImage”,如下图所示:
我们可以很轻松的确认 ImageGroup和 ImageName,并没有什么不妥,那么 Filename 是应该填写完整的 UNC 路径还是仅填写 WIM 文件名呢?!其实这里只需要填写 WIM 文件名即可,但需要注意的是导入的 Install.wim 通常包含多个 SKU,在添加到 WDS 后会为每个 SKU 生成一个 WIM 文件,我们需要在映像属性中确认这个文件名。
可是确认了 Filename 后为什么还是不能自动应用系统映像?!且没有任何报错呢?!我们再来回顾一下 WDS 部署系统时的过程,引导进入 WDS Client Setup 环境后首先会要求我们配置语言,OK!这就是重点,还记得我们前面编制的应答文件并没有包含语言设置部分,但测试时也确实略过的语言选项,但由于缺失这部分就会导致应答文件无法完全匹配。现在,我们重新编辑应答文件,在 PE 阶段添加“amd64_Microsoft-Windows-International-Core-WinPE_neutral”,如果当前导入到 WDS 里的 PE Boot image 是中文版的,则将相关的语言配置为 zh-cn 即可,其中 InputLocale 的中文对应的是 0804:00000804。
现在,重新执行 WDS 部署,可以看到问题得到解决。