GRUB多重启动管理器

1. 什么是grub
grub 是一个多重启动管理器 。grub是GRand Unified Bootloader的缩写,它可以在多个操作系统共存时选择引导哪个系统 。它可以引导的操作系统包括Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000 。它可以载入操作系统的内核和初始化操作系统(如Linux,FreeBSD),或者把引导权交给操作系统(如Windows 98)来完成引导 。
2. grub的特点
grub可以代替lilo来完成对Linux的引导,特别适用于linux与其它操作系统共存情况,与lilo相比,它有以下特点:
支持大硬盘 现在大多数Linux发行版本的lilo都有同样的一个问题:根分区(/boot分区)不能分在超过1024柱面的地方,一般是在8.4G左右的地方,否则lilo不能安装,或者安装后不能正确引导系统 。而grub就不会出现这种情况,只要安装时你的大硬盘是在LBA模式下,grub就可以引导根分区在8G以外的操作系统 。
支持开机画面 grub支持在引导开机的同时显示一个开机画面 。对于玩家来说,这样可以制作自己的个性化开机画面;对于PC厂商,这样可以在开机时显示电脑的一些信息和厂商的标志等 。grub支持640x480,800x600,1024x768各种模式的开机画面,而且可以自动侦测选择最佳模式,与Windows那320x400的开机画面不可同日而语 。
两种执行模式 grub不但可以通过配置文件进行例行的引导,还可以在选择引导前动态改变引导时的参数,还可以动态加载各种设备 。例如你在Linux下编译了一个新的核心,但不能确定它能不能工作,你就可以在引导时动态改变grub的参数,尝试装载这个新的核心进行使用 。Grub的命令行有非常强大的功能,而且支持如bash或doskey一样的历史功能,你可以用上下键来寻找以前的命令 。
菜单式选择 在lilo下,你需要手工输入操作系统的名字来引导不同的操作系统 。而grub使用一个菜单来选择不同的系统进行引导 。你还可以自己配置各种参数,如延迟时间,默认操作系统等 。
分区位置改变后不必重新配置 lilo是通过读取硬盘上的绝对扇区来装入操作系统,因此每次分区改变都必须重新配置lilo,例如你用PQ magic调整了分区的大小,那lilo在你重新配置好之前就不能引导这个分区的操作系统了 。而grub是通过文件系统直接把核心读取到内存,因此只要操作系统核心的路径没有改变,grub就可以引导系统 。除此之外,Grub还有许多非常强大的功能 。例如支持多种外部设备,动态装载操作系统内核,甚至可以通过网络装载操作系统核心 。Grub支持多种文件系统,支持多种可执行文件格式,支持自动解压,可以引导不支持多重引导的操作系统等 。
3. grub的使用
安装grub 如果已经安装了蓝点Linux2.0则grub是默认安装的 。要把grub重新安装到主引导扇区上,只需要简单打入makebootable命令就可以了 。
制作grub启动盘 首先确定grub已经安装,然后进入grub的目录,键入:
#cd /boot/grub
放入一张软盘,然后敲入命令:
#dd if=stage1 of=/dev/fd0 bs=512 count=1
#dd if=stage2 of=/dev/fd0 bs=512 seek=1
这样就可以做好一张启动盘了 。

也可以用mkbootdisk命令 #mkbootdisk 2.2.16;;
2.2.16是指内核版本号
开机 安装了grub开机后会出现一个菜单,列出所有的启动选项 。如果设置了启动画面则会显示启动画面,按Esc键则可以取消启动画面显示菜单选项 。蓝点Linux所带的grub的命令提示是全中文的,在菜单下面详细列出如按e是编辑启动命令,按c是使用命令行等 。用上下键可以选择菜单项,按回车启动所选项 。按e键可以编辑所选项的启动命令,你可以用这个功能临时改变你的系统的启动参数,参见配置grub一节 。按c键则进入命令行模式 。

推荐阅读