<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/2049.htm</link>
<title><![CDATA[HOWTO: 解决 Windows Server 2022 的 WDS PXE-E16 问题]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Deployment]]></category>
<pubDate>Fri, 15 Jul 2022 21:55:00 +0000</pubDate> 
<guid>https://maytide.net/read.php/2049.htm</guid> 
<description>
<![CDATA[ 
	<p><img width="400" height="89" alt="Windows-11-logo" src="http://goxia.maytide.net/ftpup/2018/Windows-11-_7ED2/Windows-11-logo_thumb.png"></p><p><strong><font color="#fd3f0d" size="4">HOWTO: 解决 WDS PXE-E16 问题</font></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一台基于 Windows Server 2022 的 WDS 服务器已加入到 AD，并使用 AD 集成模式进行了初始化的配置，跟随向导同时导入了 WinSvr 2022 的 Boot.wim 和 Install.wim，但是在使用 Hyper-V Gen2 VM 执行首次网络引导时是正常的，但是在通过实体机进行 PXE 网络引导时，发生了 PXE-E16 故障；之后再用 VM 测试同样报错。</p><p><a href="http://goxia.maytide.net/ftpup/2022/0e4e48aa8ef3_C375/image.png"><img width="634" height="413" title="image" style="display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/0e4e48aa8ef3_C375/image_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从报错信息可见 PXE-E16: No valid offer received. 在 <a href="https://learn.microsoft.com/en-us/troubleshoot/mem/configmgr/os-deployment/advanced-troubleshooting-pxe-boot/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Configuration Manager 中 PXE 启动问题的高级故障排除 &#124; Microsoft Learn</a> 文档中提供了一些排查的思路。尝试创建一个 Gen1 VM 引导发现是可以正常工作的，说明 WDS 服务和发现均没有问题，看来是有其他原因。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 网上曾有文章介绍使用 WDS 的独立模式进行配置，但在本案中并不适合，回过头来分析客户端的特征，并结合 WDS 事件日志做了分析，才恍然大悟。</p><ol><li>客户端使用 UEFI 模式启动</li><li>查阅 WDS 事件日志，可看到设备已从 PXE 启动，但并未执行后续启动步骤。在日志中可以看到一个重要的提示“客户端体系结构: 4”<br/><a href="http://goxia.maytide.net/ftpup/2022/0e4e48aa8ef3_C375/image_3.png"><img width="452" height="311" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/0e4e48aa8ef3_C375/image_thumb_3.png" border="0"></a></li><li>如果使用 Gen1 VM 执行 PXE 启动，日志中记录其客户端体系结构为1，之后会创建 Non-Shared 缓冲区来读取文件“\boot\x86\wdsnbp.com”，之后当 gOxiA 按下 F12 确认从网络引导后，WDS 又为其过程创建了“\bootx64\pxeboot.n12”，随后 TFTP 获取到 x64 的 Boot.wim 成功引导加载 PE 环境。在 <a href="https://learn.microsoft.com/en-us/troubleshoot/mem/configmgr/os-deployment/understand-pxe-boot/?WT.mc_id=WDIT-MVP-4000544" target="_blank">Configuration Manager 中的 PXE 启动 &#124; Microsoft Learn</a> 这篇文档中我们可以获取到很多有用的信息。</li></ol><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由于 WDS 初始提供 wdsnbp.com 来引导客户端启动，而其特性仅支持 x86 和 x64 BIOS，所以最终导致 Gen2 VM 和实体设备发生引导故障，因为两者均为 UEFI。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为了确保 UEFI 这类的 Modern PC 能够通过 WDS 提供的 PXE 进行网络引导，我们需要强制 WDS 为客户端提供 UEFI 支持，即使用 Bootmgfw.efi 或 Wdsmgfw.efi，为此我们需要配置 DHCP，添加 067 选项，强制默认使用 UEFI 引导。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后再次执行启动验证，Gen2 VM 和 实体机均能够正常通过 PXE 引导。在 WDS 事件日志中，可跟踪到设备初始便会使用 067 指定的 efi 文件加载引导，之后会成功加载 x64uefi 下的 bcd 并顺利完成后续的 Boot.wim 加载任务。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需要注意，当通过 DHCP 强制支持 UEFI 后，在使用 Gen1 VM 执行 PXE 网络引导，则会发生 PXE-E79 故障。</p><p><a href="http://goxia.maytide.net/ftpup/2022/0e4e48aa8ef3_C375/image_4.png"><img width="634" height="136" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/0e4e48aa8ef3_C375/image_thumb_4.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果在企业环境中同时存在 BIOS 和 UEFI 固件类型的设备，IT 管理员可以考虑配置 DHCP 服务器，定义供应商类别（DHCP Vendor Classes），添加 UEFI x86/x64 以及 BIOS x86&amp;x64 的支持。</p>
]]>
</description>
</item>
</channel>
</rss>