●Linux中常用的两个引导加载程序:GRUB和LILO。LILO是一直伴随Linux发布版本的,而GRUB是后来才引入的。从可用性上讲,GRUB更胜一筹。
●GRUB的工作原理:一般而言,GRUB包含两段引导加载程序:
1)stage1在MBR中安装(长度为446字节),它的目的是加载和执行下面的stage2。
2)stage2加载并执行内核(显示引导菜单,并提供一个简单的可用来指定内核位置等的Shell环境)
●GRUB的配置文件:grub.conf(视发布版本不同,其具体名称和位置可能不同,如SUSE中配置文件的名字是menu.1st)。可以通过配置该文件改变Linux的引导程序。配置文件每行以一个关键字开始,grub.conf中主要的四个关键字:
1)title:表示一个菜单选项,后面接着的文字显示在GRUB菜单上(通常是一些注释性信息)
2)root:指定引导目录所在分区
3)kernel:指定引导内核选项,包括内核的路径和其他一些启动选项
4)initrd:建立一个内存镜像文件
●在开机时怎样编辑GRUB菜单?
选中要修改的菜单项,然后按“e”键,这样你就可以编辑该菜单项了。完成编辑之后,按回车键即可返回(如果不需要保存编辑内容,则按“ESC”键返回)。如果要按新修改的配置继续引导系统,按“b”键就可以了。
●怎样通过GRUB进入单用户模式?
单用户模式很重要,比如当你忘记了系统密码的时候。在GRUB中要进入单用户模式很简单,只需要编辑菜单中的内核(kernel)行,在此行结尾添加single即可。Linux支持的另一种维护模式是紧急模式,进入它的操作方法与单用户模式类似,只是把single替换为emergency即可。
●怎样在GRUB中导入一个不在菜单上的内核?
有时候我们希望导入一个新的内核,而这个内核并不在菜单上,所以我们不能通过简单的选择来启动。GRUB提供了对此的支持,你只需要按“c”键就好了。按“c”键后,你可以自行输入新内核的root,kernel,initrd行(如果你不太记得清楚具体的分区或内核位置,你也用不着慌,因为在这里GRUB支持命令补全,试试Tab键吧)
●怎样创建GRUB引导盘?
当GRUB不能正常启动或者菜单无法正常显示时,你肯定很希望得到一张GRUB引导盘,否则你的系统就很难启动了。创建引导盘其实不难,你可以创建启动软盘或光盘。
1)创建软盘的方式:
#cd /usr/share/grub/i386-pc
#dd if=stage1 of=/dev/fd0 bs=512 count=1
#dd if=stage2 of=/dev/fd0 bs=512 seek=1
2)创建光盘的方式:
#mkdir iso
#mkdir -p iso/boot/grub
#cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub
#mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
再将grub.iso刻录到CD。(注意GRUB的版本要求在0.97之上)