|
GRLDR 内置菜单
pxe detect
指定 pxe 服务器上的 pxe 包大小及配置文件,这里命令不带任何参数,那么 menu.lst 子目录中的标准配置文件将获得控制。
configfile
加载指定的配置文件,这里命令后面不带任何参数(文件名),那么控制将转到启动设备上的 menu.lst 文件
default 0
设置默认引导菜单号为0
timeout 1
启动默认菜单的等待时间为1秒。
title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
菜单标题 “查找 /menu.lst, /boot/grub/menu.lst, /grub/menu.lst”
errorcheck off
关闭错误检查,执行中遇到错误将忽略,直至执行完毕,参数为 on 时打开错误检查,遇到错误将终止执行
configfile /menu.lst || configfile /MENU.LST
加载配置文件 menu.lst,如果失败就加载 MENU.LST
configfile /boot/grub/menu.lst || configfile /BOOT/GRUB/MENU.LST
configfile /grub/menu.lst || configfile /GRUB/MENU.LST
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
查找 menu.lst 并将此目录设置为根分区,忽略软驱、光驱,如果成功就加载配置文件 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
errorcheck on
打开错误检查,遇到错误将终止执行
commandline
命令行
title commandline
菜单标题“命令行”
commandline
命令行
title reboot
菜单标题“重新启动”
reboot
重新启动命令
title halt
菜单标题“关机”
halt
关机命令
该 GRLDR 菜单对应的界面为:
由上面观察可以看到,一个基本特征是,一条 title 下面紧跟着一条或多条命令。
GRLDR 外置菜单
GRLDR 的外置菜单是 menu.lst 。
# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux. - color blue/green yellow/red white/magenta white/magenta
复制代码
指定 菜单 未选中时的前景/背景(蓝色/绿色) 选中时的前景/背景(黄色/红色) 帮助文本前景/背景(白色/粉红) 标题前景/背景(白色/粉红)
启动默认菜单的等待时间为 30 秒。
设置默认菜单项预设文件,其值由 savedefault 设定,第一项为0、依次为1,2……
- title find and load NTLDR of Windows NT/2K/XP
复制代码
第 0 项菜单标题 “查找并加载NTLDR of Windows NT/2K/XP”
如果调用当前的菜单项时出现错误,则转移到第“1”项菜单后重试。
- find --set-root --ignore-floppies --ignore-cd /ntldr
复制代码
查找第一个“ntldr”,并将此目录设置为根分区,忽略软驱、光驱。
- map () (hd0)
- map (hd0) ()
- map --rehook
复制代码
改变驱动器映射后,使映射(仿真)重新生效。
- find --set-root --ignore-floppies --ignore-cd /ntldr
复制代码
查找第一个“ntldr”,并将此分区设置为根分区,忽略软驱、光驱
加载“ntldr”,并引导,在命令行下必须添加 boot 命令,菜单下可以省略, chainloader 可以直接加载 MBR、DBR、ntldr、bootmgr等。
保存此菜单项“编号”到 default 设置的引导菜单项预设文件中,提示时间为2秒
- title find and load BOOTMGR of Windows VISTA
- fallback 2
- find --set-root --ignore-floppies --ignore-cd /bootmgr
- map () (hd0)
- map (hd0) ()
- map --rehook
- find --set-root --ignore-floppies --ignore-cd /bootmgr
- chainloader /bootmgr
- savedefault --wait=2
- title find and load CMLDR, the Recovery Console of Windows NT/2K/XP
- fallback 3
- find --set-root --ignore-floppies --ignore-cd /cmldr
- map () (hd0)
- map (hd0) ()
- map --rehook
- find --set-root --ignore-floppies --ignore-cd /cmldr
- chainloader /cmldr
复制代码
#####################################################################
# write string "cmdcons" to memory 0000:7C03 in 2 steps:
#####################################################################
# step 1. Write 4 chars "cmdc" at 0000:7C03 - write 0x7C03 0x63646D63
- # step 2. Write 3 chars "ons" and an ending null at 0000:7C07
- write 0x7C07 0x00736E6F
- savedefault --wait=2
- title find and load IO.SYS of Windows 9x/Me
- fallback 4
- find --set-root /io.sys
- chainloader /io.sys
- savedefault --wait=2
- title find and boot 0PE.ISO
复制代码
菜单标题“查找并启动0PE.ISO镜像”
如果调用当前的菜单项时出现错误,则转移到第“5项菜单后重试
- find --set-root /0PE/0PE.ISO
复制代码
查找“/0PE/0PE.ISO”,并将此分区设置为根分区
- map /0PE/0PE.ISO (0xff) || map --mem /0PE/0PE.ISO (0xff)
复制代码
# 仿真0PE.ISO镜像为“0xff”号光驱,如果失败就先加载到内存再仿真
仿真的驱动器可以为fd(软驱)、hd(硬盘)、cd(光驱),设备的BIOS标识号fd0对应0x00,hd0对应0x80,
cd0对应0xA0(也就是hd32,光驱号直到0xff)
使仿真立即生效
# 加载0xff”号光驱,并引导,在命令行下必须添加boot命令,菜单下可以省略
保存此菜单项“编号”到 default 设置的菜单项预设文件中,提示时间为2秒。
- title find and boot MicroPE.ISO
- fallback 6
- find --set-root /boot/MicroPE.ISO
- map /boot/MicroPE.ISO (0xff) || map --mem /boot/MicroPE.ISO (0xff)
- map --hook
- chainloader (0xff)
- savedefault --wait=2
- title Parted Magic ISO
- fallback 7
- find --set-root /pmagic.iso
- map /pmagic.iso (0xff) || map --mem /pmagic.iso (0xff)
- map --hook
- chainloader (0xff)
- savedefault --wait=2
- title Ultimate Boot CD ISO
- fallback 8
- find --set-root /ubcd.iso
- map /ubcd.iso (0xff) || map --mem /ubcd.iso (0xff)
- map --hook
- chainloader (0xff)
- savedefault --wait=2
- title commandline
- commandline
- title floppy (fd0)
复制代码
菜单标题“软驱(启动)”
加载第一个软驱的从0开始的“1”个扇区,即软盘的主引导扇区,并引导,在命令行下必须添加boot命令,菜单下可以省略
指定根分区为第一个软驱
菜单标题“返回到dos”
退出命令
标题 “重新启动”
重新启动命令
菜单标题 “关机”
关机命令
菜单标题“MAXDOS”
- find --set-root --ignore-floppies /boot/MAXDOS.IMG
复制代码
查找“/boot/MAXDOS.IMG”,并将此分区设置为根分区,忽略软驱
- map --mem /boot/MAXDOS.IMG (fd0)
复制代码
加载MAXDOS软盘镜像到内存在仿真为第一个软驱
仿真立即生效
加载第一个软驱的从0开始的“1”个扇区,即软盘的主引导扇区,并引导,
指定根分区为第一个软驱
菜单示意图:
GRUB4DOS中有实现了简单的脚本支持。目前实现了 && 和 || 两种操作:
command1 && command2 只有当 command1 的返回值是真时,command2 才被执行
command1 || command2 只有当 command1 的返回值是假时,command2 才被执行
GRUB4DOS 发布有中文版,大大方便了中文用户。 可选三种方式加载中文支持:
A,使用(0.4.5b以前)中文版grldr配合内置命令 fontfile 加载中文字库来显示中文菜单(菜单文件需使用 ANSI 文本编码模式,否则中文会显示为乱码);
B,使用(0.4.6a以后)英文版grldr配合内置命令 font 加载中文字库来显示中文菜单(菜单文件需使用 UTF-8 文本编码模式,否则中文会显示为乱码);
C,使用内置命令 gfxmenu 加载 message 文件来显示中文菜单(菜单文件需使用 UTF-8 文本编码模式,否则中文会显示为乱码);
(正常情况下方式C显示效果最好,但有可能出错)。
英文版grldr在文件包根目录下,中文版grldr在文件包根目录下的chinsee目录下。
grub4dos 的项目的老主页: https://code.google.com/p/grub4dos-chenall/downloads/list
新项目主页: https://github.com/chenall/grub4dos
上面的菜单代码就是从包中解压缩得来。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|