|
这两者的功能各不相同,不可能弄成一样的内容。grldr 内置菜单是原版菜单,不是我写的。内容如下:
title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
errorcheck off
configfile /boot/grub/menu.lst
configfile /grub/menu.lst
if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
if "%@root:~1,1%"=="f" && find --set-root --devices=f /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
configfile http://b.chenall.net/menu.lst
errorcheck on
commandline
目的只有一个,找出放在各处的 menu.lst 菜单来,它最先找到和执行的自然就是放在根目录的 menu.lst 菜单。根目录的 menu.lst 菜单才是重头戏,它会分类寻找真正的启动菜单。如果启动介质是U盘,它就会寻找 WAIPE 目录的 U 盘菜单: f "%@root%"=="(ud)" set grmenu=PEHDMENU.LST 。下面是这个菜单的主要内容:
#默认启动菜单
set grmenu=PEHDMENU.LST
#PXE网络启动菜单
if "%?_BOOT%"=="(pd)" pxe keep && set grmenu=PXEMENU.LST
#UD启动菜单
if "%@root%"=="(ud)" set grmenu=PEHDMENU.LST
#光盘启动菜单
if "%?_BOOT%"=="(cd)" set grmenu=PECDMENU.LST
#ISO整体启动菜单
#UD启动
if "%?_BOOT%"=="(ud)" if exist (ud)/WAIGOPE root (ud)
if exist ()/WAIGOPE timeout 15 || configfile ()/WAIPE/%grmenu%
if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
if "%@root:~1,1%"=="f" && find --set-root --devices=f ()/WAIPE/%grmenu%
find --set-root --ignore-floppies --ignore-cd /WAIPE/%grmenu% && configfile ()/WAIPE/%grmenu%
pause --wait=10 NO MENU FOUND
boot
|
|