我们有一个使用 ISC dhcpd 和 tftpd 的设置,以使 UEFI PXE 客户端安装其操作系统。系统启动并运行后,它会通过在服务器上的另一个 group {} 块中的 dhcpd.conf 中添加如下一行来自动“注册”节点:
host somehost { hardware ethernet 01:02:03:04:05:06; fixed-address 192.168.1.2; option host-name "somehost"; }
(当然,主机名、MAC 和 IP 的值要正确)
该组没有提供任何引导文件的配置。
其预期效果是系统不会启动到安装设置。相反,它会尝试通过 pxe 从网络启动,不会获取任何启动文件,最终从磁盘启动(这是 UEFI 启动列表中的下一个条目)。
多年来一直这样工作,并且仍然如此。
但是,有一个缺点:每次客户端启动时,它都会尝试 PXE,并且只有在达到 PXE 超时后才会从磁盘启动,这对于某些系统来说非常长。
我想修改 dhcpd.conf,使其立即告诉客户端的 PXE 代码中止 PXE 尝试并尝试下一个启动项。
有办法实现这个吗?
更新:我尝试使用此处描述的 PXE_BOOT_MENU 和 PXE_BOOT_PROMPT 选项:https://web.archive.org/web/20061114170438/download.intel.com/design/archives/wfm/downloads/pxespec.pdf(第 20/21 页)但看起来客户端忽略了这些:
# Set PXE options:
# 9 (PXE_BOOT_MENU; type 0 => local boot)
# 10 (PXE_BOOT-PROMPT; timeout 0 => immediate boot)
# see https://wiki.syslinux.org/wiki/index.php?title=PXE_native_boot_menu
option vendor-encapsulated-options
9:1:
0:
10:1:
0;
更新2:看来微软的abortpxe.com
(见https://learn.microsoft.com/en-us/troubleshoot/mem/configmgr/os-deployment/understand-pxe-boot) 可以用于此目的。但我还没有找到免费的替代品。有吗?