lingqing 发表于 2017-12-30 15:01:39

pxe启动ipxegrldr如何加载menu.lst?

如题,pxe启动ipxegrldr如何加载menu.lst?
把menu.lst和ipxegrldr放在一起,结果找不到menu.lst。这是为什么?

chenall 发表于 2018-1-1 10:38:21

有没有更具体的信息,也可考虑使用undionly.kpxe+grldr来启动这样就可以自定义启动脚本

lingqing 发表于 2018-1-1 19:49:30

本帖最后由 lingqing 于 2018-1-1 19:51 编辑

用tftpd32做tftp服务器和dhcp服务器,用ipxegrldr做启动文件,在dell optiplex 3010上启动,结果无法启动同目录下的menu.lst文件.就像menu.lst文件不存在一样,最后进入grub4dos命令行.可是我在"qemu启动测试器 最终版"上测试确成功执行了menu.lst

不点 发表于 2018-1-2 09:22:14

我谈点看法。
qemu成功,说明你的设置没什么问题。而真实机失败,则可能是硬件制造商制造的不兼容性引起的。

try block size 1408 是很重要的一个探测信息。如果客户端主板制造商封杀了这个探测,让这个探测失败,那么,grub4dos 就会使用默认的 512 字节作为 block size。如果是这样,一切都还能正常进行,只不过会稍慢一点罢了。但如果客户端的主板制造商连默认的 512 字节块也不支持的话,那就没戏了。

块大小是最要紧的一件事,是头等大事。如果块大小不能协商妥当,根本就无法正确获得服务器上的任何文件。

grub4dos 默认只探测 1408 的块大小,不敢随便探测别的块大小,因为随便探测的话,很容易撞上恶意攻击 grub4dos 的客户端硬件,导致死机。

如果用户确认客户端主板支持别的 block size,比如 16384 字节,那很简单,修改 grldr 内置菜单的 pxe detect 一行,强制让它采用 16384 这样的块大小即可。


不点 发表于 2018-1-2 10:11:30

如何确定 block size。

你可以试着启动 syslinux,就是 pxelinux,看看能否正常启动。如果也不能启动,或者启动后不能正常访问服务器端的文件,那就麻烦了,你得花费更大的力气去寻找它的“机关”在哪里。

如果 pxeLinux 使用过程完全正常,那你就能继续研究 pxeLinux 所采用的 block size 的值了,确定了它,那么这个值用在 grub4dos,应该也会成功。

Dell 是 syslinux 项目的赞助商,因此,猜测 Dell 会对 syslinux 特别关照。就是说,即便非要封杀 grub4dos 或其它软件,它也有可能对 pxelinux 网开一面。只要它能网开一面,咱们就能找到它的“控制按钮”在哪里。
页: [1]
查看完整版本: pxe启动ipxegrldr如何加载menu.lst?