# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,6) # kernel /vmlinuz-version ro root=/dev/hda10 # initrd /initrd-version.img #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,6)/grub/splash.xpm.gz # --> Redhat Linux 8.0 <-- title Red Hat Linux (2.4.18-14) root (hd0,6) kernel /vmlinuz-2.4.18-14 ro root=LABEL=/ initrd /initrd-2.4.18-14.img # --> Microsoft Windows XP <-- title Microsoft Windows XP rootnoverify (hd0,0) chainloader +1
#===========例子结束==========
配置选项解释: 以"#"开头的是注释行. 我这里有两个操作系统,分别是Red Hat Linux和Microsoft Windows XP. 其中 timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhat linux 8.0) 默认的操作系统是由default一项来控制的,default后的数字表明第几个是默认的,这里0表示第一个,1表示第二个.所以如果你想修改默认的操作系统,就修改default后的数字. title一项是设置操作系统的名称,grub不支持中文(有点遗憾). splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景哦! root (hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核.注意这儿的root与linux的root分区不同,此root非彼root也!grub的硬盘标识方法与linux的有点不同.在linux中第一个主分区为hda1,第二个主分区为hda1,第一个逻辑分区为hda5,而在grub中是以(hdx,y)来标识的,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,1)依此类推.所以这儿root后面的是你的/boot所在分区标识. 知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。 kernel /vmlinuz-2.2.18-14 ro root=LABEL=/.说明/boot/vmlinuz-2.2.18-14 就是要载入的内核。后面的都是传递给内核的参数。ro是以readonly的意思。注意我这里内核前面的路径是"/",因为我的boot单独分了一个区,如果你没有为boot单独分区,那么内核前面的路径就是"/boot". initrd用来初始的linux image,并设置相应的参数 再来看一看windows的定义段吧。 这里,我添加了一项来引导 WindowsXP。要完成此操作,GRUB 使用了"链式装入器"(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 winXP 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。如果你在计算机中装有win98,winme,win2k,winxp的话,chainloader会把引导权交与win的NTLoader来引导.