前段时间我为我的 Raspberry Pi 配置了网络启动,以便它们从我的主服务器启动。由于 Pi 的工作方式略有不同,我认为让 PXE Boot 在 x86 测试机上运行可能会很有趣。我找到了一些我通读的指南,它与 Pi 设置并没有什么不同,只是它还涉及 DHCP 上的选项 67,而 Pi 仅使用选项 66。
我在服务器上配置了一切,但我无法真正测试它,因为机器似乎没有从 DHCP 读取选项 66。我在我的测试机、我自己的工作站上试过,我什至设置了一个虚拟机。他们读 Option 67 没问题,但服务器地址以网关 (DHCP) 本身为目标。
我通过 Omada 使用 TP-Link ER605 路由器。 DHCP 上的选项 66 设置为
192.168.69.59
的 PXE 服务器,而网关为 192.168.69.254
。选项 67 设置为 syslinux.efi
.
这是启动时的输出
>>Start PXE over IPv4.
Station IP address is 192.168.69.101
Server IP address is 192.168.69.254
NBP filename is syslinux.efi
NBP filesize is 0 bytes
PXE-E99: Unexpected network error.
我知道 Option 66 在 DHCP 上正常工作,因为我的 RPI 仍在正常启动。
我花了一天时间搜索这个问题。我无法用这个问题对任何人进行罚款,据我所知,它应该将选项 66 和 67 组合到 syslinux 引导文件的完整 TFTP 路径中。但是,我发现的每个指南都在 PXE 服务器本身上安装了一个单独的 DHCP,因此如果它们在这些指南中错误地定位服务器,那并不意味着任何东西,因为 IP 无论如何都是正确的。