AI智能
改变未来

『学了就忘』Linux启动引导与修复 — 69、启动引导程序(grub)

[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

这个文件。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『学了就忘』Linux启动引导与修复 — 69、启动引导程序(grub)