我在 VMware Workstation 中运行 PXE 服务器模拟。我的 DHCP 和 TFTP 服务器正在运行,我可以获取 IP 地址并启动其平台的固件。
我遇到的麻烦似乎是所有客户端都无法找到 syslinux 的配置文件。我打算使用多个平台,因此每个平台都有自己的文件夹。
从我在 syslinux wiki 上读到的内容来看,它说引导加载程序将尝试按照特定顺序寻找配置文件。
我很确定是配置问题导致了失败。我不知道问题是什么。由于每个平台都有自己的文件夹,我认为“/mybootdir”的上下文已经改变。问题是改变什么了?您可以在文件树中看到我尝试创建符号链接作为解决方法,但似乎没有任何区别。
知道哪里出了问题吗?
更新
这是我的 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 服务器根目录相关。