●
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
之上)