grldr是grub里面的一个文件,对grub不熟悉的朋友可能不知道,但是如果你用过一键GHOST、MAXDOS、矮人DOS工具箱等等软件,你就应该知道这个名字:这些软件无一例外都是使用grub或者grldr引导他们保存在你硬盘的软盘镜像或者系统引导文件的。没有grub和grldr(包括avldr、isomenu等等都是由grub或者grldr派生出来的,也是你自己派生出一个个性化硬盘引导文件的方法和途径。),就不会有上述这些软件的存在。
grldr_grldr -相关
grldr好比:ntldr之于windows 5.x(nt/xp/2003等) bootmgr之于windows 6.x(vista/7)
grldr.mbr用来写入硬盘mbr的 或者nt引导系统中boot.ini来调用
grldr_grldr -使用方法
文件存放位置
把grldr及菜单配置文件menu.lst复制到系统盘任意目录(以C盘根目录为例,其它目录只需要加入路径即可。其中grldr会自动搜索菜单配置文 件并加载,但是menu.lst最好存放在C盘根目录,免得到时候搜索不到不能加载引起错误)。
把需要grldr引导的文件(如DOS.IMG、GHOST83.IMG等镜像文件)保存在硬盘。
一个menu.lst的例子
(以#开始的行,表示注释,不执行)
# 默认延迟时间(秒)
timeout 30
# 第一项为默认值
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
引导
3.1 通过Windows NT的启动菜单进入grub4dos
将grldr文件复制到c:,去掉boot.ini的只读属性,然后修改c:boot.ini文件,在boot.ini的最后面加一行:
c:grldr="Start GRUB"
并将boot.ini中的timeout值设置为大于0的数字,如:timeout=5,然后保存boot.ini,改回只读属性。
编辑boot.ini前,可在cmd下输入:
attrib -s -r -h c:boot.ini
解除boot.ini的只读属性,编辑完后输入:
attrib +s +r +h c:boot.ini
恢复boot.ini的原有属性。
这样,编辑完重新启动计算机,在NT的启动菜单就会出现“Start GRUB”这一项,选择该项即可进入grub4dos的环境。
此方法的优点是:不需要修改MBR。
初学者使用grub一般都需要grub菜单,把准备好的menu.lst文件放到C:下(也可放到其它分区根目录或其它指定目录)。
3.2 通过DOS启动grub
将机器通过任何可能的方式(软盘,U盘,光盘等)启动到DOS环境(最好是纯DOS环境,即不加载任何驱动程序和TSR程序的DOS环境),然后在DOS下或者AUTOEXEC.BAT中运行grub.exe,即可进入grub。
也可在DOS/Windows9x的CONFIG.SYS中使用下列任一方式启动grub。
DEVICE=GRUB.EXE
INSTALL=GRUB.EXE
SHELL=GRUB.EXE
此方法的优点是:不需要修改MBR;可根据需要在脚本或者其它DOS程序中启动GRUB4DOS。
菜单文件menu.lst可保存在grub文件所在目录或其它指定路径。
3.3 通过mbr启动grub
通过软件包里的bootlace点com(可运行于DOS/Win9x)安装GRLDR引导记录到硬盘或者硬盘映像文件的主引导记录,或者安装到软盘或者软盘映像的引导扇区。电脑启动时,通过击热键(默认为空格键,可自定义)来启动grub。
比如:
在DOS下安装GRLDR代码到主引导记录:
bootlace点com 0x80
在DOS下安装GRLDR代码到软盘:
bootlace点com --floppy --chs 0x00
在DOS下安装GRLDR代码到软盘映像:
bootlace点com --floppy --chs floppy.img
我所使用的命令为:
bootlace --force-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x3920 --mbr-disable-floppy 0x80
表示安装GRLDR代码到MBR时,备份原MBR(--force-backup-mbr),默认启动原MBR,即启动原windows xp系统(--boot-prevmbr-first),等待时间3秒(--time-out=3),热键为空格键(--hot- key=0x3920), 不搜索软盘上的GRLDR(--mbr-disable-floppy)。
也就是说启动时等待3秒,3秒内不击热键的话,启动windows xp;3秒内击热键则启动grub4dos。
bootlace的其它参数及自定义热键用法可参看readme.txt文件。
装入mbr后,再将grldr和menu.lst文件复制到某分区的根目录(现在支持的文件系统是FAT12,FAT16, FAT32, NTFS,EXT2 or EXT3 的分区。对于Windows用户,最好是fat分区),menu.lst也可保存到其它指定位置。
此方法的优点是:不依赖于操作系统;能够自动搜索硬盘上各个分区的grldr文件。
另外,2000/xp/2003/vista环境下可用另一软件 grubinst 来把GRLDR引导记录安装到硬盘的MBR。grubinst具有图形界面和命令行两种工作模式供选用,并附有比较详细的使用说明,很易于使用。
制作GRUB的splash背景图
GRUB 背景图片的要求:分辨率640x480,14色,XPM格式。
支持 .gz 压缩。
制作环境: linux下(其实windows下也可以制作,用IMAGEMAGICK. 但是convert后用图像软件看是没问题,但是引导时,失真的很厉害,用其他软件制作,背景根本出不来,在linux下制作真的很简单,呵呵为了做这个,只能安装个虚拟的linux来做.)
方法1:用 convert 命令
首先需安装一个 ImageMagick 软件。 若用的是 ubuntu 或 debian 就很方便了,源里就有。
先把图片转成 640x480 分辨率,再运行 convert -colors 14 xxx.jpg splashimage.xpm ,把生成的 splashimage.xpm 拷贝到某目录下,比如 (hd0,6)/boot/splash/
再往 menu.lst 中相应地添上一句: splashimage (hd0,6)/boot/splash/splashimage.xpm
就好了。
这个方法在windows下做,失真的很厉害,可能是我不会做.
方法2:
用GIMP(呵呵,和windows下用ps是一样的.不如在windows下做.不推荐)
一个关键:须调成 索引色 显示,否则无法调整颜色数
方法3: (推荐)
在windows下用Ps或者其他的图像软件把图像修改成640*480 14位色的(其实16位也可以),然后上传到linux下,用GIMP另存下就可以了.方便快捷.
GRUB的命令
GRUB包含了许多不同的命令,它们可以在命令行接口中以交互的方式执行。其中的一些命令能接在命令名后面的选项,这些选项用空格隔开。
下面的列表给出了最有用的一些命令:
・boot - 引导先前已经被指定并载入的操作系统或链式装载程序。
・chainloader - 将指定的文件作为一个链式装载程序载入。为了获取在一个指定分区第一扇区内的文件,使用+1作为文件名。
・displaymem - 显示当前内存的使用情况,这个信息是基于BIOS的。这个命令有助于确定系统在引导前有多少内存。
・initrd - 使用户能够指定一个在引导时可用的初始RAM盘。当内核为了完全引导而需要某些模块时,这是必需的。
・install p - 安装GRUB到系统的主引导记录。这个命令允许系统重启时出现GRUB接口。
警告:install命令将复盖主引导扇区中的其他信息。如果命令被执行,那么除了GRUB信息之外的其他用于引导其他操作系统的信息都将丢失。在执行这条命令前,确定你对它有正确的了解。
这条命令可以用几种不同的方式进行配置。然而,它都要求指定。表示一个设备,分区和文件,在那里可以找到第一个引导装载程序的映象,比如 (hd0,0)/grub/stage1。另外,也指定了第一步引导装载程序应该被安装的硬盘,如(hd0)。
选项告诉第一步引导装载程序第二步引导装载程序位于什么地方,例如(hd0,0)/grub/stage2。p选项告诉install命令菜单配置文件被指定在部分,比如说(hd0,0)/grub/grub.conf。
・kernel - 当使用直接载入方式引导操作系统时,kernel命令指定内核从GRUB的根文件系统中载入。options选项是跟在kernel命令后面,在内核载入时传给内核。
在Red Hat Linux中,一个kernel命令的例子看起来象下面的形式:
kernel /vmlinuz root=/dev/hda5
上面这行表明了vmlinuz文件是从GRUB的根文件系统载入的,如(hd0,0)。同时,一个选项也被传给了内核。它指出当Linux内核载入时,内核的根文件系统应该是位于hda5,第一个IDE硬盘的第五个分区。如果有必要的话,多个选项可以被放在这个选项后面。
・root - 将GRUB的根分区设置成特定的设备和分区,比如说(hd0,0)。并挂入这个分区,这样文件可以被读取。
・rootnoverify - 做root命令同样的事情,只是不挂入分区。
除上面所述外,还有更多的命令可用。输入info grub,得到一个所有命令的完全列表。
6、GRUB的菜单配置文件
配置文件在GRUB菜单接口中,创建用于引导操作系统的列表。配置文件可以允许用户选择执行事先设置好的一组命令。这些命令既包括前面给出的命令,也包括一些只用于配置文件的命令。
配置文件的专用命令
下面这些命令只用于GRUB的菜单配置文件:
・color - 设定在菜单中使用的颜色,一种是作为前景色,一种作为背景色。可以简单地使用颜色名称,如red/black。比如:
color red/black green/blue
・default - 默认项目的标题名称。如果菜单接口超时,那它将被载入。
・fallback - 当这个命令被使用时,如果第一次尝试失败,那么这个项目的标题名称将被试用。
・hiddenmenu - 这个命令被使用时,它不显示GRUB菜单接口,在超时时间过期后载入默认项。用户通过按[Esc]键,可以看到标准的GRUB菜单。
・password - 这个命令被使用时,它可以防止不知道口令的用户编辑菜单的项目。
作为附加选项,可以在后面指定一个后备的菜单配置文件。因此,如果口令被知道,GRUB将重新启动第二步的引导装载程序,并使用这个后备的配置文件来建立菜单。如果这个后备文件不在命令中指出,那么知道口令的用户能够编辑当前的配置文件。
・timeout - 这个命令设定了在GRUB载入由default命令指定的项目前的时间间隔,以秒为单位。
・splashimage - 它指定在GRUB引导时所使用的屏幕图像的位置。
・title - 设定用来装载一个操作系统的一组特定命令的标题。
字符#用来在菜单配置文件放置注释。
配置文件的结构
设置GRUB菜单接口全局参数的命令被放在文件的顶部,接下来的是用于各个操作系统引导的不同项目。
一个非常基本的用于引导Red Hat Linux或Microsoft Windows 2000的GRUB菜单配置文件可能如下所示:
default=linux
timeout=10
color=green/black light-gray/blue
# section to load linux
title linux
root (hd0,1)
kernel /vmlinuz root=/dev/hda5
boot
# section to load Windows 2000
title windows
rootnoverify (hd0,0)
chainloader +1
这个文件告诉GRUB建立一个以Red Hat Linux为默认操作系统的菜单,设定10秒后自动引导。这里给出了2个部分,每个部分对应于一个操作系统项目,每个部分都包含了指向操作系统硬盘分区表的命令。