|
注:这篇文章的版权由作者岳光([email protected])所有,任何人不得在未经作者允许的情况下利用此文章获取商业利益.这篇文章可以在非商业目的下任意的传播或复制或引用,但如要修改需经作者允许.
一、简介
grub是一段特殊的程序它能运行在LINUX下,也能驻留主引导纪录从而在开机时启动各个操作系统。这个软件的独到之处在于它不但能提供菜单式引导界面而且具有一定的交互功能,如果引导出问题,如重装操作系统、硬盘分区变化等,可以直接在进入操作系统前作必要的调整,可以避免许多麻烦。grub对各种文件系统都有支持,如果安装在软盘或优盘上可以解决诸多的机器无法引导或某个操作系统无法引导类问题,如果结合VMWare功能就更强大了。本文仅介绍GRUB的基本使用思路及一些实用操作,如果灵活应用,应该可以解决大部分引导问题。
二、GRUB的界面及组织结构
在LINUX操作系统下,GRUB程序在/boot/grub目录下,其中grub.conf是GRUB的配置文件,在shell中键入grub即可进入grub的交互程序,如果你把grub装入主引导纪录开机时会显示菜单,按c键也可进入交互程序,不过这时的交互程序是独立于系统运行的。
三、GRUB的基本命令及引导系统的过程
进入grub交互程序后就可手动完成引导操作系统的过程,命令如下
(1)root (hd0,3)
该命令指定grub当前的工作目录,以后对文件的载入操作都是针对这个位置进行的。注意:root后要有空格。逗号前的项表示设备,如hd0表第零号硬盘也即linux下的hda,fd0表示第零号软驱。注意,grub下边号从零开始。逗号后面的数字表示分区。如hda5 用root (hd0,4)表示。其实这里并不困难,输入root (后按tab 键grub会自动列出设备名供你参考,输入root (hd0,也可按tab. 这里tab键的作用与bash下的相同且适用于所有grub命令。
(2)kernel /boot/vmlinuz root=/dev/hda5
kernel 命令用于将内核装入内存并提供内核参数,如上面命令,是把root所指定的位置下boot/目录下的vmlinuz文件作为内核装入内存,并传递内核参数root=/dev/hda5 表示init(也即/分区所在)所在的位置的分区。
(3)initrd /boot/image.img
initrd命令用于将镜像文件载入内存。使用方法如kernel命令,但一般不写参数。
(4)boot
boot命令告知grub开始引导操作系统,执行后grub将运行载入的内核,并将控制权交给内核。至此操作系统开始启动,grub使命完成。
以上命令读者如果结合自己机器的实际情况运行,可初步体会到GRUB的工作方式。但是,系统引导只有在开机自检后GRUB中才能成功(此时还未进入操作系统),在LINUX下是不能引导其他操作系统的。这就需要将GRUB装载到主引导记录上(见下文)。
如需引导WINDOWS则不需要以上全部命令,只需执行root()后,chainloader +1,后boot即可。
四、将grub的安装在引导记录上
grub如果不能装在引导记录上,几乎等同于废物。下面介绍如何将grub装入引导纪录。首先,在linux下进入grub(或在开机时,如果grub已经装到硬盘MBR或软盘MBR上)。
然后,用root命令设定当前目录为grub所在的分区(一般linux下运行的grub在/boot/grub下,找该目录所在的设备即可)。运行setup命令如,setup (hd0,5)表示将grub装到hda5的主导记录上,setup (hd0)则表示将grub装到hda的主引导记录上。
至此,grub已经安装到了你的硬盘引导记录上,可以引导你的系统了。开机即入引导界面后,按c 可进入grub命令交互界面。
五、开机菜单的制作
GRUB支持开机菜单,这须要修改/boot/grub/grub.conf文件中的内容。读者可根据注释和参照文件中已有的命令进行修改。
grub.conf的结构很简单。#后是注释,开头的几行是一些对菜单整体的配置命令,如设置自动引导时间,屏幕背景等。接下来以title分段的几行是对菜单中的引导项的设置,其中的命令正是上面介绍的命令,只不过不需要boot命令,grub会自动执行该命令。
如果你的grub装在了主引导记录上,一般修改完grub.conf后重起即可体现修改结果,如果没有变化或引导错误,可通过setup()命令重新安装。(如果开机时因grub.conf有误而不能进入菜单,一样可以使用交互程序。)
六、总结和几点提示
grub就是这样一个程序,在正常情况下可以为你提供一个开机菜单,在系统结构改变时可以帮助你轻松引导,grub在交互界面中提供了丰富而强大的命令,支持多种操作系统,是你必不可少的工具!
如果你忘记了grub命令或其格式,键入help或按tab键即可。
如果你的grub没有装在主引导记录上在linux下运行grub后执行root setup exit.
如果你需要启动菜单,请修改grub.conf文件。
如果你要以防不测,可以将grub安装在软盘或优盘的引导记录上,以随时引导机器。
如果你要制作启动盘,当然要用grub为引导工具。 |
|