pxe 启动 http 检索失败

pxe booting http retrieval failures

我正在尝试使用 http 下载进行 pxe 链引导。我遇到的问题是文件检索总是停在下面的随机文件之一上,随机完成百分比。通常它是 boot.wim,但我认为这只是因为它是最大的。它也停止在一个简单的字体文件上。

是什么导致了这种零星的下载行为?

如果我尝试 windows 从这些文件所在的 samba 共享下载,下载需要 1-2 秒。如果我从 nix 主机上得到它,它大致相同。只有当 pxe 试图检索它们时,它似乎才会出现问题。我对这一切还很陌生,所以希望我能提供很好的信息。 Samba 服务器是 运行 通过 apache。

我已经尝试过无数次内核构建和boot.wim。说实话,我很茫然。

<%#
kind: PXELinux
name: Windows PXELinux
oses:
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
%>

DEFAULT linux
LABEL linux
KERNEL ipxe.lkrn
APPEND dhcp && chain <%= foreman_url('iPXE') %>
IPAPPEND 2

链然后转到:

#!ipxe


kernel http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/wimboot gui
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot/fonts/segmono_boot.ttf  segmono_boot.ttf
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot/fonts/segoe_slboot.ttf  segoe_slboot.ttf
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot/fonts/wgl4_boot.ttf     wgl4_boot.ttf
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/bootmgr              bootmgr.exe
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot/BCD         BCD
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot/boot.sdi    boot.sdi
initrd http://puppet.lab.beer.town:717/sources/Microsoft/Windows/6.3/../boot/boot.wim boot.wim

imgstat
boot

编辑 1:
这是显示连接刚刚冻结的屏幕截图。所有已建立的@ 0,都是工作正常的文件。卡在这里的是 boot wim(这次)

这里的问题是服务器上的 ipxe 版本已经有 3 年历史了。我们 git 克隆了它,并重新制作了 ipxe.lkrn。现在文件下载好了。