在做pxelinux启动的过程中,不可避免的会用到menu。有两个选择,menu.c32 和 vesamenu.c32。
效果如下:
menu.c32
vesamenu.c32
区别就是一个地方,我们看一下配置文件:
default vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
TIMEOUT 200
MENU TITLE Boot Menu
LABEL Ghost_Client_UNDI
MENU LABEL ^1. Ghost Client UNDI
MENU DEFAULT
kernel memdisk
append keeppxe initrd=imz/Client_undi.imz
LABEL Ghost_Client_NDIS
MENU LABEL ^2. Ghost Client NDIS
kernel memdisk
APPEND keeppxe initrd=imz/Client_ndis.IMZ
LABEL WinPE
MENU LABEL ^3. WinPE 2.0
KERNEL boot/pxeboot.0
LABEL PartedMagic
MENU LABEL ^4. Parted Magic
kernel utils/pmagic/bzImage
LABEL Local_Drive
MENU LABEL ^5. Boot Local Drive
# localboot 0
KERNEL chain.c32
APPEND hd0 0
区别就是第一行:
menu.c32 是 UI menu.c32
vesamenu.c32 是 default vesamenu.c32
个人还是觉得menu.c32比较好,习惯了这种蓝色。
那么,我们如果想把pxelinux.0、menu.c32、vesamenu.c32都扔到/ks/pxelinux的子目录下,而不是扔在/ks的根目录下,那么配一下dnsmasq的209和210即可,看一下boot2.php文件:
case '\52:54:00:7f:65:bb':
echo "set 209:string vesamenu.conf\n";
echo "set 210:string http://172.16.8.1/ks/pxelinux/\n";
echo "chain http://172.16.8.1/ks/pxelinux/pxelinux.0\n";
break;