PXE 启动无法找到 syslinux 配置文件,它在哪里?

PXE 启动无法找到 syslinux 配置文件,它在哪里?

我在 VMware Workstation 中运行 PXE 服务器模拟。我的 DHCP 和 TFTP 服务器正在运行,我可以获取 IP 地址并启动其平台的固件。

我遇到的麻烦似乎是所有客户端都无法找到 syslinux 的配​​置文件。我打算使用多个平台,因此每个平台都有自己的文件夹。

这是我的结构; 文件树

这是我从客户端收到的错误; PXE 错误

从我在 syslinux wiki 上读到的内容来看,它说引导加载程序将尝试按照特定顺序寻找配置文件。

配置文件顺序

我很确定是配置问题导致了失败。我不知道问题是什么。由于每个平台都有自己的文件夹,我认为“/mybootdir”的上下文已经改变。问题是改变什么了?您可以在文件树中看到我尝试创建符号链接作为解决方法,但似乎没有任何区别。

知道哪里出了问题吗?

更新

这是我的 DHCP 配置的样子;我从一些关于如何从同一 DHCP 范围启动不同平台的示例中复制了一些内容,并将其变成我自己的。

DHCP 配置

答案1

我的工作设置是:

tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6_32
│   ├── initrd.img
│   └── vmlinuz
├── centos6_64
│   ├── initrd.img
│   └── vmlinuz
├── centos7
│   ├── initrd.img
│   └── vmlinuz
├── chain.c32
├── mboot.c32
├── memdisk
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
    └── default

菜单位于 pxelinux.cfg/default

了解启动文件名的 dhcp 配置非常重要,因为它与 tftp 服务器根目录相关。

相关内容