曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3000|回复: 0
打印 上一主题 下一主题

GRUB4DOS GRLDR 示例菜单命令解释

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2014-9-29 18:47:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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.
  1. color blue/green yellow/red white/magenta white/magenta
复制代码

指定 菜单 未选中时的前景/背景(蓝色/绿色) 选中时的前景/背景(黄色/红色) 帮助文本前景/背景(白色/粉红)  标题前景/背景(白色/粉红)

  1. timeout 30
复制代码

启动默认菜单的等待时间为 30 秒。

  1. default /default
复制代码

设置默认菜单项预设文件,其值由 savedefault 设定,第一项为0、依次为1,2……

  1. title find and load NTLDR of Windows NT/2K/XP
复制代码

第 0 项菜单标题 “查找并加载NTLDR of Windows NT/2K/XP”

  1. fallback 1
复制代码

如果调用当前的菜单项时出现错误,则转移到第“1”项菜单后重试。

  1. find --set-root --ignore-floppies --ignore-cd /ntldr
复制代码

查找第一个“ntldr”,并将此目录设置为根分区,忽略软驱、光驱。

  1. map () (hd0)
  2. map (hd0) ()
  3. map --rehook
复制代码

改变驱动器映射后,使映射(仿真)重新生效。

  1. find --set-root --ignore-floppies --ignore-cd /ntldr
复制代码

查找第一个“ntldr”,并将此分区设置为根分区,忽略软驱、光驱


  1. chainloader /ntldr
复制代码

加载“ntldr”,并引导,在命令行下必须添加 boot 命令,菜单下可以省略, chainloader 可以直接加载 MBR、DBR、ntldr、bootmgr等。

  1. savedefault --wait=2
复制代码

保存此菜单项“编号”到 default 设置的引导菜单项预设文件中,提示时间为2秒

  1. title find and load BOOTMGR of Windows VISTA
  2. fallback 2
  3. find --set-root --ignore-floppies --ignore-cd /bootmgr
  4. map () (hd0)
  5. map (hd0) ()
  6. map --rehook
  7. find --set-root --ignore-floppies --ignore-cd /bootmgr
  8. chainloader /bootmgr
  9. savedefault --wait=2

  10. title find and load CMLDR, the Recovery Console of Windows NT/2K/XP
  11. fallback 3
  12. find --set-root --ignore-floppies --ignore-cd /cmldr
  13. map () (hd0)
  14. map (hd0) ()
  15. map --rehook
  16. find --set-root --ignore-floppies --ignore-cd /cmldr
  17. chainloader /cmldr
复制代码

#####################################################################
# write string "cmdcons" to memory 0000:7C03 in 2 steps:
#####################################################################
# step 1. Write 4 chars "cmdc" at 0000:7C03
  1. write 0x7C03 0x63646D63
  2. # step 2. Write 3 chars "ons" and an ending null at 0000:7C07
  3. write 0x7C07 0x00736E6F
  4. savedefault --wait=2

  5. title find and load IO.SYS of Windows 9x/Me
  6. fallback 4
  7. find --set-root /io.sys
  8. chainloader /io.sys
  9. savedefault --wait=2

  10. title find and boot 0PE.ISO
复制代码

菜单标题“查找并启动0PE.ISO镜像”

  1. fallback 5
复制代码

如果调用当前的菜单项时出现错误,则转移到第“5项菜单后重试

  1. find --set-root /0PE/0PE.ISO
复制代码

查找“/0PE/0PE.ISO”,并将此分区设置为根分区

  1. 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)

  1. map --hook
复制代码

使仿真立即生效

  1. chainloader (0xff)
复制代码

# 加载0xff”号光驱,并引导,在命令行下必须添加boot命令,菜单下可以省略

  1. savedefault --wait=2
复制代码

保存此菜单项“编号”到 default 设置的菜单项预设文件中,提示时间为2秒。

  1. title find and boot MicroPE.ISO
  2. fallback 6
  3. find --set-root /boot/MicroPE.ISO
  4. map /boot/MicroPE.ISO (0xff) || map --mem /boot/MicroPE.ISO (0xff)
  5. map --hook
  6. chainloader (0xff)
  7. savedefault --wait=2

  8. title Parted Magic ISO
  9. fallback 7
  10. find --set-root /pmagic.iso
  11. map /pmagic.iso (0xff) || map --mem /pmagic.iso (0xff)
  12. map --hook
  13. chainloader (0xff)
  14. savedefault --wait=2

  15. title Ultimate Boot CD ISO
  16. fallback 8
  17. find --set-root /ubcd.iso
  18. map /ubcd.iso (0xff) || map --mem /ubcd.iso (0xff)
  19. map --hook
  20. chainloader (0xff)
  21. savedefault --wait=2

  22. title commandline
  23. commandline

  24. title floppy (fd0)
复制代码

菜单标题“软驱(启动)”

  1. chainloader (fd0)+1
复制代码

加载第一个软驱的从0开始的“1”个扇区,即软盘的主引导扇区,并引导,在命令行下必须添加boot命令,菜单下可以省略

  1. rootnoverify (fd0)
复制代码

指定根分区为第一个软驱

  1. title back to dos
复制代码

菜单标题“返回到dos”

  1. quit
复制代码

退出命令

  1. title reboot
复制代码

标题 “重新启动”

  1. reboot
复制代码

重新启动命令

  1. title halt
复制代码

菜单标题 “关机”

  1. halt
复制代码

关机命令

  1. title MAXDOS.IMG
复制代码

菜单标题“MAXDOS”

  1. find --set-root --ignore-floppies /boot/MAXDOS.IMG
复制代码

查找“/boot/MAXDOS.IMG”,并将此分区设置为根分区,忽略软驱

  1. map --mem /boot/MAXDOS.IMG (fd0)
复制代码

加载MAXDOS软盘镜像到内存在仿真为第一个软驱

  1. map --hook
复制代码

仿真立即生效

  1. chainloader (fd0)+1
复制代码

加载第一个软驱的从0开始的“1”个扇区,即软盘的主引导扇区,并引导,

  1. rootnoverify (fd0)
复制代码

指定根分区为第一个软驱

菜单示意图:


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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 06:46 , Processed in 0.065505 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表