Grub4dos菜单文件menu.lst详解
以下是一个menu.lst的例子,我们通过这个例子来学习grub4dos菜单文件的编写与修改,然后我们就可以修改基于grub的工具(如一键ghost)。其中以#开始的行,表示注释,不执行 一、菜单实例
# 默认延迟时间(秒) timeout 10
# 第一项为默认值 default 0
# 设置图形背景文件 splashimage (hd0,0)/boot/grub/xp2008.gz
# 设置中文支持的字体文件 fontfile (hd0,0)/boot/grub/fonts
title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件 map (hd0,0)/boot/grub/rav.img (fd0) map –hook chainloader (fd0)+1 rootnoverify (fd0)
title 使用memdisk启动本地 Win98 软盘镜像文件 kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/win98.img
title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件 root (hd0,0) kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy initrd /boot/rav.zip
title 启动第一主分区(hd0,0)上的操作系统 rootnoverify (hd0,0) makeactive chainloader +1
title 启动第二主分区(hd0,1)上的操作系统 rootnoverify (hd0,1) makeactive chainloader +1
title 重启 reboot
title 关机 halt
二、菜单理解 1.timeout 10 —–菜单等待时间(秒) default 0 ——默认启动的项,从0开始计算,最大到6 fontfile (hd0,0)/boot/grub/fonts ——加载字体 2.可以用例子中的splashimage命令加载背景图,也可以用命令gfxmenu (hd0,0)/boot/grub/message加载背景图(加载背景图这句要放在timeout和default两句后面),后者加载的图片可以更美观,制作方法可用GfxMenu这款小软件.若要用gfxmenu命令加载图片,则需使用支持该命令的grldr文件,而且使用该方法时不能再编辑引导菜单,而且要进入grub.exe也只能事先在菜单中加入
注意:fontfile命令不可单独使用,需与splashimage一起使用。
3.title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件——实际显示出的菜单项 configfile (hd0,0)/boot/grub/dos.lst ——加载子菜单 map –mem (hd0,0)/boot/grub/xlybig.img (fd0) ——把xlybig.img仿真成软盘,(fd0)与前面的映像名称之间是有一个空格的,千万不要忘记。加了–mem参数表示把 xlybig.img加载到内存。不加此参数时要求xlybig.img存放在连续的扇区中。只有加了–mem参数才能使用firadisk驱动,而且map方式对软盘映像大小没有限制,但要求必须连续存放。改进的map –mem则无此限制 map –hook ——仿真确认生效 chainloader (fd0)+1 ——链式加载(fd0)的第一个扇区内容 rootnoverify (fd0) ——设置(fd0)为根设备,root在设置根设备前,先测试一下该分区的文件系统是否可以识别,而rootnoverify则省略这一测试。 rootnoverify (hd0) ——(hd0)表示第一个硬盘 chainloader +1 ——链式加载当前设备的第一个扇区内容 map (hd0,0)/grub/imgs/ztpe.img (hd0) || map –mem (hd0,0)/grub/imgs/ztpe.img (hd0) ——先尝试执行||前的句子,如果失败了,再执行||后面的句子,把ztpe.img(硬盘镜像)仿真为第一块硬盘,因为PE需要从第一块硬盘启动。 map (hd0) (hd1) ——把(hd0)(真实的硬盘)仿真为(hd1)(第二块硬盘) find –set-root /peldr ——先查找/peldr是否存在,如果找到,就设置peldr所在分区为根分区 4.另外,菜单文件中的文件路径可用相对路径(如:/boot/rav.zip)或绝对路径(如:(hd0,0)/boot/grub/xly.img)表示。在用绝对路径时,其中(hd0,0)表示第一硬盘的第一分区,fd0表示软盘,cd表示光盘。书写时应根据介质的不同而选择其一 三、深入了解 1.启动软盘镜象,有两种方式,即memdisk或map 各自的写法例子如下: memdisk方法: title 硬盘检测修复工具 效率源 (memdisk) kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/xly.img
map方法: title 硬盘检测修复工具 效率源 (map) map (hd0,0)/boot/grub/xly.img (fd0) map –hook chainloader (fd0)+1 rootnoverify (fd0)
用memdisk时,img文件可压缩;在img文件大小为非1.44MB或2.88MB标准镜像时,需要指定CHS参数。img文件的CHS参数可用winimage获得 即例子中应改为: title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件 root (hd0,0) kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy initrd /boot/rav.zip
#kernel (hd0,0)/boot/memdisk.gz c=80 h=2 s=18 cd-rom #【这句是说虚拟一个内存磁盘为cdrom,指定磁盘的柱面磁头扇区,这样系统会认为是一个光驱】
需注意的是菜单文件中所用的memdisk.gz文件,不包括在grub4dos的发行包里,需自行准备。可从基于grub的工具(如一键ghost)中获得 |
|