Windows-11-logo

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”以配置相关的应答设置。

image

        其中,使用“WindowsDeploymentServices”来指定验证登录到 WDS 的账户信息(Login),并通过“ImageSeclection”指定要安装哪个系统映像(InstallImage),以及要安装到哪个磁盘的分区(InstallTo)。

image

        考虑到设备要重建系统分区和格式化,所以我们还应该添加“DiskConfiguration”对硬盘进行自动化配置,本例为 UEFI 设备创建了三个必要分区:EFI、MSR、Primary

image

        到这里我们可以在 WDS 中加载这个应答文件,并做一下测试。WDS 为 PE Boot 加载 Unattend 的过程很简单,打开 WDS 控制台,进入其属性,找到客户端选项卡,勾选“启用无人参与安装”,为“x64 UEFI 体系结构”指定我们刚才创建的应答文件即可。

image

        在实际测试中注意到部署过程并未自动化去安装预先配置的系统映像,我们复查一下应答文件,重点检查“ImageSelection”下的“InstallImage”,如下图所示:

image

        我们可以很轻松的确认 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。

image

        现在,重新执行 WDS 部署,可以看到问题得到解决。

image

MDT FinalSummery 发生 Wizard 空白页面问题

        动态部署和现代部署大行其道,传统部署貌似正逐渐没落,好久没有分享 MDT 相关的内容,今天就最近遇到的一个问题做一下经验分享。在执行 MDT Media 部署时 FinalSummery 发生异常,Wizard.hta 页面出现空白内容,导致无法看到部署结果摘要。具体现象如下图所示:

Snipaste_2022-02-09_14-33-32

        从图中可以看到 Wizard.hta 是一个空白页面,如果进行测试会发现它并不会影响后续的任务序列,例如我们添加一个 FinishAction 是不会受到这个问题影响的,当初 gOxiA 打算通过 SkipFinalSummary 略过这个页面,但发现事与愿违。进一步排查,注意到在实际路径中并未发现这个文件,说明 Wizard.hta 未能成功生成或拷贝到指定的目录中。

        检查了 CustomSettings、任务序列,以及应答文件,还做了可疑的测试也都未能完全验证,对于相关日志也是看了又看进行了多例对比,也没发现什么线索,期间当然也用上了 YYDS 的 Bing Search,无济于事……

        在测试中,由于要快速测试获得结果页面,精简了 Install Applications,测试中竟然没有再出现 Wizard 空白页面的问题。反复验证确认 Apps 中因为包含安全软件,而默认加载了禁用外部驱动器的策略,导致在安全软件安装完毕后,外部驱动器被直接禁掉,导致无法正常读取 MDT Media 数据,至此真相大白……

        虽然谜底揭开,但目前也没有更好的 Workaround 以规避这个问题,或者可以考虑使用 LiteTouch OEM Task Sequence 模板。

        最后针对此类问题做一下总结分享:

  • 排查应用,避免影响访问数据源的应用
  • 确保 Domain Join 正常
  • 确保 网卡驱动 正常加载

HOWTO: 解决 USMT 迁移应用时发生 EdgeMigrationPlugin 失败问题

        基于 Chromium 内核的 Microsoft Edge 浏览器已内置于较新的 Windows 系统中,微软对于早期版本的 Windows 在后续的 KB 补丁中也都集成了新版 Edge,这无疑方便了 IT人员和最终用户。但在 Windows 10 21H2 上进行 USMT 迁移时却遇到了与 Edge 有关的问题,具体如下图所示,在应用 USMT 迁移时发生错误,导致部署失败。查阅 Setuperr.log 发生了载入 Session 失败的问题,原因是未找到文件,再往下看应该与 Edge 有关,“Microsoft-Edge-Migration-PluginEdgeMigrationPlugin.dll”访问被拒绝,回忆执行 Capture 阶段并未发生错误!疑似在 Apply SPP 时此文件被占用导致发生错误。

Snipaste_2022-01-17_09-41-21

Snipaste_2022-01-17_09-46-39

image

        由于相关的文档内容太少,目前获取到的解决方案是在捕获时将“Microsoft-Edge-Migration-Plugin”排除在外。为此需要修改 Config_AppsAndSettings.xml 文件,添加“Microsoft-Edge-Migration-Plugin”例外,如下所示。

image

        利用此方法我们可以排除那些会导致应用 USMT 失败的组件,至于本案中涉及的组件失败的具体原因恐怕只有微软方面能解了。

分页: 5/49 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]