我已经在我的环境中成功地实现了,构建了x86和x64引导映像以支持UEFI和Legacy BIOS,使用(v8450),并且能够成功地启动物理机器(HP Z4)和虚拟机(运行在ESXi 6.5主机上的VM版本13 )。此外,我还创建了相关的DHCP类和策略,以确保向适当的PXEClient (即UEFI )提供正确的引导文件。
尽管如此,在使用UEFI启动时(启用了安全引导),我注意到了两件事(第二件事是值得关注的,因此我发布了这个问题):
为了排除故障,我确认WDS Server没有遇到任何会影响其NIC性能的技术问题。我确实检查了VM的NIC配置,发现它使用的是E1000E适配器类型,所以我将它改为使用VMXNET 3适配器类型。这一情况略有改善。
因此,我决定进行Wireshark数据包捕获,看看是否可以看到物理机器和VM与WDS Server通信的方式有什么不同。在我看来,唯一出类拔萃的是:
因此,有人知道在某个地方是否存在指示虚拟机更喜欢UDP协议而不是TFTP的设置吗?在VMware文档中,我发现除了一个声明之外,没有什么是确定的,那就是PXE引导VM是可能的,并且是受支持的。
任何帮助都是非常感谢的,谢谢,我对冗长的叙述表示歉意。
发布于 2019-05-13 11:11:40
因此,对于任何遇到此问题的人,我的解决方案是调整WDS RemoteInstall引导文件夹中各自体系结构(即x64或RemoteInstall)中的"ramdisktftpwindowsize“和”ramdisktftpwindowsize“文件中的启动配置数据(BCD)设置。之后,我重新启动了WDS服务。我现在看到的是大约10-15秒,虚拟机上的引导映像加载时间,物理机器上使用大约400 on引导映像的大约6-10秒。
我唯一注意到的是,这会产生支离破碎的IP包,但它们无论如何都是重新组装的,所以不会对我的终端用户或网络造成太大的影响,因为基于我将作为PXE启动系统进行成像的频率和时间,对最终用户或网络的影响很小。但是,如果这对你来说是个问题,那就去找另一个解决办法吧。
在我的环境中,路径如下(当然,您的路径可能不同,因此相应调整):
For 32-bit (x86): "F:\SCCM\RemoteInstall\Boot\x86\default.bcd"
For 64-bit (x64): "F:\SCCM\RemoteInstall\Boot\x64\default.bcd"注意:出于明显的原因(我希望),在进行更改之前对default.bcd文件进行备份。
bcdedit /enum all /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd- **Set the TFTP Windows Size to a value of 8:**
- `bcdedit /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpwindowsize 8`- **Set the TFTP Block Size to a value of 16384:**
- `bcdedit /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd /set {68d9e51c-a129-4ee1-9725-2ab00a957daf} ramdisktftpblocksize 16384`- **List the current boot store parameters again and verify your changes are there:**
- `bcdedit /enum all /store F:\SCCM\RemoteInstall\Boot\x86\default.bcd`就是这样。通过这些更改,我能够在PXE服务器上启动Wireshark,pxe启动了我的虚拟机。当我在Wireshark中观看时,我看到最初的对话以"TFTPWindowSize = 4“和"TFTPBlockSize = 1456”开始,但在引导加载程序开始下载后不久,我看到了重新协商我设置的值生效的位置--这时我看到VM在10-15秒内加载引导映像。
正如我前面提到的,我看到了大约8个“支离破碎的IP协议”数据包,但是它们都被重组了,而且最终目标也实现了--虚拟机和物理机器都快速启动并成功地安装了操作系统。
希望这个信息对某人有帮助--很抱歉写了一个book...lol。
以下帖子的学分:https://blog.uvm.edu/jgm/2010/11/04/tuning-microsoft-pxe-tftp/
https://serverfault.com/questions/966574
复制相似问题