在做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;
comments powered by Disqus