pxe启动失败并显示消息:未findDEFAULT或UIconfiguration指令

我试图pxe启动一台机器(客户端),并在这个过程中,我试图设置一台tftp服务器,这台机器可以启动。

在运行Ubuntu 10.10的服务器上,我设置了dhcp,dns,nfs和tftp-hpa服务器。 所有的服务器/守护进程都很好。 我使用tftp客户端testing了tftp服务器,并下载了服务器目录所在的文件。

我的/etc/xinet.d/tftp看起来像这样

service tftp { disable = no socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -v -s /var/lib/tftpboot only_from = 10.1.0.0/24 interface = 10.1.0.1 } 

我的/ etc / default / tftpd-hpa看起来像这样

 RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot" TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure" 

我的/var/lib/tftpboot/目录看起来像这样

  initrd.img-2.6.35-25-generic-pae vmlinuz-2.6.35-25-generic-pae pxelinux.0 pxelinux.cfg -- default 

我做了

  sudo chmod 644 /var/lib/tftpboot/pxelinux.cfg/default chmod 755 /var/lib/tftpboot/initrd.img-2.6.35-25-generic-pae chmod 755 /var/lib/tftpboot/vmlinuz-2.6.35-25-generic-pae 

/var/lib/tftpboot/pxelinux.cfg具有以下内容

  SERIAL 0 19200 0 LABEL linux KERNEL vmlinuz-2.6.35-25-generic-pae APPEND root=/dev/nfs initrd=initrd.img-2.6.35-25-generic-pae nfsroot=10.1.0.1:/nfsroot ip=dhcp console=ttyS0,19200n8 rw 

在安装包syslinux-common后,我从/usr/lib/syslinux/复制了/var/lib/tftpboot/pxelinux.0

另外为了完整/etc/dhcp3/dhcpd.conf ,/ /etc/dhcp3/dhcpd.conf下面的行(与这个接口有关)

 subnet 10.1.0.0 netmask 255.255.255.0 { range 10.1.0.100 10.1.0.240; option routers 10.1.0.1; option broadcast-address 10.1.0.255; option domain-name-servers 10.1.0.1; filename "pxelinux.0"; } 

当我启动客户机,并通过串口观看输出时,我注意到客户端从服务器请求一个IP地址,并得到它。 然后我看到TFTP正在显示 – 表示正在尝试连接到TFTP服务器。 这个成功了,我看到了TFTP.| ,它会立即返回显示以下消息

 PXELINUX 4.01 debian-20100714 Copyright (C) 1994-2010 H. Peter Anvin et al No DEFAULT or UI configuration directive found! boot: 

/var/log/syslog显示

 Feb 20 15:24:05 ch in.tftpd[2821]: tftp: client does not accept options 

它在syslog中讨论了什么选项? 我认为这是指OPTIONS或TFTP_OPTIONS,但是我做错了什么?

为“ 没有默认或uiconfiguration指令find ”尝试改变

 from KERNEL vmlinuz-2.6.35-25-generic-pae APPEND ....optopns... to DEFAULT vmlinuz-2.6.35-25-generic-pae ....options... 

或使用UI菜单。 它帮助我与Ubuntu 10.10 pxeboot.0

小心使用正确版本的menu.c32或vesamenu.c32。 否则,你会得到错误消息:“Menu.c32不是一个com32r文件”。 这些文件的正确版本可以从/ boot目录find。 另外,如果父系统是64位,则需要安装32位库。 在上面的例子中,“default menu.c32”不起作用,它应该保持:UI menu.c32或UI vesamenu.c32。

您缺less/var/lib/tftpboot/pxelinux.cfg/default的默认条目

我有同样的问题。

这里是我的默认文件的内容:

 DEFAULT menu.c32 prompt 0 timeout 5 LABEL linux menu default menu label Linux KERNEL fc1/vmlinuz-2.4.22-1.2115.nptl APPEND initrd=fc1/pxeboot.img.gz ramdisk=8192 

菜单默认是必要的。

这里是Syslinux wiki的条目

您缺lessDEFAULT文件中的默认设置 – 在您的情况下,/ /var/lib/tftpboot/pxelinux.cfg应该有

 "DEFAULT linux" 

在开始的行。