[toc]
提示:
简单地说,
Boot Loader
就是在操作系统内核运行之前运行的一段小程序,称为启动引导程序。是加载核心的重要工具,没有
Boot Loader
的话,那么
kernel
根本就没有办法被系统加载的。 而
grub
是其中的一种启动引导程序的名称。
1、启动引导程序(Boot Loader)简介
启动引导程序我们之间可能见过,比如Windows系统,在你的电脑上安装了两个不同版本的Windows系统时,在开机启动的时候,就会有界面让你选择,你需要进入到哪个系统中,这个就是启动引导程序的作用。如果你的电脑上只有一个操作系统,进入到启动引导程序中也没有的选择,所以就没有显示让你选择进入到哪个系统。
Linux系统的启动引导程序分为两种,早期的
Lilo
引导程序,现在已经不是很常见了。现在常用的是
grub
引导程序,与
Lilo
引导程序比来,
grub
引导程序有很多优势,主要有:
- 支持更多的文件系统。
-
grub
的主程序可以直接在文件系统中查找内核文件。
- 在系统启动时,可以利用
grub
的交互界面编辑和修改启动选项。
- 可以动态的修改
grub
的配置文件,这样在修改配置文件之后不需要重新安装
grub
,而只需要重新启动系统就可以生效了。
如果你在机器上安装了两个版本的Linux系统,或者使用了不同版本的Linux系统内核,在启动系统的时候,就能进入到
grub
启动引导程序中,选择你需要进入的版本或者内核。
我们这里就学习Linux系统中的
grub
启动引导程序。
2、启动引导程序grub的作用
- 第一是加载操作系统的内核。
- 第二是拥有一个可以让用户选择的菜单,来选择到底启动哪个系统。
- 第三还可以调用其他的启动引导程序,来实现多系统引导。
3、启动引导程序grub的位置
grub
启动引导程序的位置在
/boot/grub
目录。
1)我们先进入到
boot
目录下查看里边有什么文件。
如下图所示:
说明:
symvers-2. 6.32- -642.e16.x86_ 64.gz
是系统运行真正加载的内核, 是内核源码编译之后的内核内容,你是不能看到其内容的。如果你想查看Linux内核源码,需要进入到
usr/src/kernel
目录中,前提你需要安装好内核源码包。所以系统运行加载的内核和系统源码内核的位置是不同的。
2)进入到
/grub
目录中查看内容。
如下图所示:
在
/grub
目录中,我们主要关注的就三个文件,分别是
grub. conf
、
menu.lst
、
splash.xpm.gz
,其他文件是不需要我们动的,是
grub
加载之后需要用到的一些相关文件。
说明:
grub. conf
文件是
grub
的配置文件,
menu.lst
文件是
grub.conf
文件的软链接,所以
menu.lst
文件也是
grub
的配置文件。其实
grub.conf
文件还有一个软链接,
/etc/grub.conf
文件也是
grub.conf
文件的软链接,
如下图所示:
三个文件随意用哪个文件都可以,看你个人习惯。
这里还要说明一下
splash.xpm.gz
文件。
splash.xpm.gz
文件里边标识的是
grub
启动的时候界面的背景图像,如可以自定义颜色。但是编辑格式很不令人输入,一般也没有人修改
splash.xpm.gz
文件,除非你自己要做一个Linux发行版,并且想我的发行版本和标准的Linux发行版本不太一样,才用修改。
在
grub. conf
配置文件中会有
splash.xpm.gz
文件的信息。
4、
/grub
目录中其他的文件简单介绍
-
device.map
文件:
grub
中硬盘的设备文件名与系统的设备文件名的对应文件。
-
e2fs_stage 1_5
文件:
ext2/ext3
文件系统的
stage 1.5
文件。
-
fat_stage 1_5
文件:
FAT
文件系统的
stage 1.5
文件。
-
ffs_stage 1_5
文件:
FFS
文件系统的
stage 1.5
文件。
-
iso9660_stage 1_5
文件:
iso9660
文件系统的
stage 1.5
文件。
-
jfs_stage 1_5
文件:
jfs
文件系统的
stage 1.5
文件。
-
minix_stage 1_5
文件:
minix
文件系统的
stage 1.5
文件。
-
reiserfs_stage 1_5
文件:
reiserfs
文件系统的
stage 1.5
文件。
-
stage1
文件:安装到引导扇区中的
stage1
的备份文件。
-
stage2
文件:
stage2
的备份文件。
-
ufs2_stage 1_5
文件:
UFS
文件系统的
stage 1.5
文件。
-
vstafs_stage 1_5
文件:
vstafs
文件系统的
Stage 1.5
文件。
-
xfs_stage 1_5
文件:
xfs
文件系统的
Stage 1.5
文件。
-
grub.conf
文件:
grub
的配置文件。
-
menu.lst -> ./grub.conf
文件:
grub
的配置文件。和
grub.conf
是软链接,所以两个文件修改哪个都可以。
-
splash.xpm.gz
文件:系统启动时,
grub
程序的背景图像。
总结:
其实
/grub
目录中主要就是
grub
的配置文件和各种文件系统的
stage1.5
文件。不过
grub
的配置文件有三个
/boot/grub/grub.conf
、
/boot/grub/menu.lst
和
/etc/grub. conf
,这三个配置文件是软链接,所以修改哪一个都可以,我个人更习惯为
/etc/grub.conf
这个文件。