linux中grub是干嘛的

1. 前言

本文主要讲解Linux 原生的启动引导程序GRUB的原理及功能。

grub如何引导操作系统的启动

2. 什么是grub

GRUB(Grand Unified Bootloader)是GNU项目提供的引导加载程序。引导程序非常重要,因为没有它就无法启动操作系统。它是第一个在程序打开时启动的程序。引导加载程序将控件传输到操作系统内核。

什么是grub

3. GRUB特性

GRUB是许多Linux发行版的默认引导加载程序。这是因为它比许多以前版本的引导程序更好。它的一些功能是:

  • GRUB支持LBA(逻辑块寻址模式),它将用于查找文件的寻址转换放入硬盘驱动器的固件中
  • GRUB使用基于命令的预操作系统环境,为使用所需选项加载操作系统提供了最大的灵活性。
  • 可以使用GRUB命令行修改引导选项(如内核参数)。
  • 无需为GRUB指定Linux内核的物理位置。它只需要内核的硬盘号,分区号和文件名。
  • GRUB几乎可以使用直接和链式加载引导方法启动任何操作系统。

grub用于引导硬盘中的操作系统

4. GRUB安装过程

安装后GRUB自动成为默认加载器。按照以下步骤安装GRUB

  • 使用最新的GRUB软件包来安装GRUB非常重要。或者使用安装CD-ROM中的GRUB包。
  • 打开root shell提示符,并在安装GRUB软件包后运行命令/ sbin / grub-install。命令中的位置是- - 应安装GRUB stage 1引导加载程序的位置。
  • 完成所有这些操作后,GRUB图形引导加载程序菜单会在系统引导时内核加载到内存之前出现。

GRUB安装过程

5. grub启动过程

使用GRUB的引导过程需要GRUB将自身加载到内存中。这是通过以下步骤完成的:

- 第1阶段引导加载程序由BIOS加载到内存中。此引导加载程序也称为主引导加载程序。它存在于主引导记录中512字节或更少的磁盘空间中。如果需要,主引导加载程序可以加载阶段1.5或阶段2引导加载程序。

- 如果需要,阶段1引导加载程序将阶段1.5引导加载程序加载到内存中。在某些情况下,这可能是必要的,因为某些硬件在进入第2阶段加载器之前需要中间步骤。

- 辅助引导加载程序也称为第2阶段引导加载程序,它可以由主引导加载程序加载到内存中。 GRUB菜单和命令环境的显示是辅助引导加载程序执行的功能。这允许用户查看系统参数并选择要引导的操作系统。

- 操作系统或内核由辅助引导加载程序加载到内存中。之后,机器的控制权转移到操作系统。

grub启动过程

6. grub接口

GRUB中有三个接口,它们都提供不同级别的功能。用户可以借助这些接口启动Linux内核。有关接口的详细信息如下:

6.1 菜单界面

GRUB由菜单界面中的安装程序配置。它是可用的默认界面。它包含按名称排序的操作系统或内核列表。可以使用箭头键选择特定的操作系统或内核,并可以使用回车键启动它。

6.2 菜单入口编辑界面

引导加载程序菜单中的e键用于访问菜单项编辑器。在那里显示特定菜单条目的所有GRUB命令,并且可以在加载操作系统之前更改这些命令。

grub引导程序启动系统中的操作系统

6.3 命令行界面

此接口是最基本的GRUB接口,但它为用户授予最大的控制权。使用命令行界面,可以通过键入命令然后按Enter键来执行任何命令。此界面还具有一些高级shell功能。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:

https://www.linuxrumen.com/rmxx/1167.html

(0)

相关推荐

  • mbr和bios

    MBR 也就是主引导记录,位于硬盘的 0 磁道.0 柱面.1 扇区中,主要记录了启动引导程序和磁盘的分区表.我们通过图 1 来看看 MBR 的结构. 图  1 MBR的结构 MBR 共占用了一个扇区, ...

  • 如果你在中字头施工单位干施工,就别结婚了。

    /这是土木小生的第545篇原创文章/ 1 大清早拿着工程签证去找监理签字,正常来讲是八点上班,监理会先开晨会,然后就前往各自负责监理的区域蹲点,旁站.巡视.平行检验. 萧遥对接的监理是个五十岁往上的老 ...

  • 江苏一男子好心将三只小甲鱼晒太阳,可忘记收回来,让冬眠中甲鱼变龟干

    在动物世界中,有很多动物都是需要冬眠的,冬眠醒过来后,它们会四处寻找食物.活动等等.近日在江苏,一位市民杜先生就好心将三只冬眠中醒过来的小甲鱼,带到阳台上晒太阳,可忘记收回来,晒了好几天,让冬眠中甲鱼 ...

  • 在Linux中安装ElasticSearch&Kibana&ik分词器

    概述: ElasticSearch是一个基于Lucene的搜索服务器 是一个分布式.高扩展.高实时的搜索与数据分析引擎 基于RESTful web接口 Elasticsearch是用Java语言开发的 ...

  • RocketMQ在Linux中安装启动

    RocketMQ: RocketMQ是阿里开源的一款非常优秀中间件产品,脱胎于阿里的另一款队列技术MetaQ,后捐赠给Apache基金会作为一款孵化技术,仅仅经历了一年多的时间就成为Apache基金会 ...

  • 关于天干中的十干精粹 - 甲木篇

    <论甲木> 阳木乃参天两地,舒枝抽干之木.一下地挪移不得.勿论春夏秋东.勿论良楉巨细.总要重土厚培.先壮根柢,然后徐寻火金水木.以讲富贵贫贱寿夭之征.所谓欲图长久千年计,须向沙泥万丈埋也. ...

  • linux中执行cd之后直接ls列出所有文件

    以下command在cshell中生效 在.cshrc中加入下面的语句: alias cd 'cd \!* ; ll' 注意*后面的空格,以及ll之前的空格 进一步,可以同时打印出cd之后的path ...

  • Linux中的split命令,文件切割

    Linux中的文件,特别是日志文件,特别大了不好打开,可以用split命令来切割成小文件 split命令有两种方式: 1,指定行数来切割 split -l 300 log.txt newfile 每个 ...

  • LINUX中如何查看某个端口是否被占用

    之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下: 1.netstat  -anp  |grep   端口号 如下,我以3306为例,netstat  -anp  |grep   ...

  • linux中find命令高级用法

    https://www.cnblogs.com/bianchengzhuji/p/10133821.html 在<Linux中的文件查找技巧>一文中,我们已经知道了文件查找的基本方法,今天 ...