注意这里我说的是 uefi 启动

启动过程顺序

正常安装完一个Linux系统,硬盘会被分成俩个分区,一块是 fat32 文件系统(启动项存放位置),一块是ext4 文件系统(也就是系统真正的安装位置),当电脑电源接通时,以 UEFI 启动,首先会去寻找 fat32 文件系统这个分区,fat32 分区里面有一下文件夹和文件

+EFI/
+BOOT/
一大堆后缀名为 .efi 文件
+ubuntu/
grub.cfg
  1. 电脑 首先寻找 EFI/BOOT/一大堆efi后缀名的文件,如果你电脑那个文件夹下面什么都没有,那么你的系统在 UEFI 启动模式是找不到启动项的,其实启动时只用到了一个,而这里为什么是一堆?其实是因为电脑的 32位 和 64位启动都不一样,还有是否用到 grub 引导的,所以不同电脑用到的里面 .efi 文件可能不一样, 但启动的时候用只到了一个, 这是系统镜像考虑的很全面的结果。
  2. 系统找到这个 .efi 后 会到 efi/ubuntu/grub.cfg (这里ubuntu不可以是别的名字,这个名字已经跟 .efi文件绑定了,亲自测试如果改文件名就会失败) 加载 grub 引导界面

grub.cfg文件内容:

search.fs_uuid 5ef8bd72-a034-45c5-b578-9bab3ffcc063 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

这个文件的作用就是加载 安装系统的分区(ext4文件系统)中的 grub 引导,这里 指定的 uuid 可以确定加载哪个分区的 grub 引导,这里的 uuid 可能会有人好奇,为什么指定了 uuid 还要指定 root hd0 gpt2? 这里是设置启动grub 的根路径, 如果你以 U盘 启动那么U盘的设备号就是 hd0 而第二个分区也就是存放 grub 的分区.

  1. 根据上一步,加载到一个安装系统的 grub 引导界面,然后由 grub 引导 linux 启动, 这里我不多说了, 因为 grub 命令我懂得不多

UEFI引导linux启动过程的顺序,及修改办法的更多相关文章

  1. (转)Linux 开机引导和启动过程详解

    Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...

  2. Linux 开机引导和启动过程详解

    你是否曾经对操作系统为何能够执行应用程序而感到疑惑?那么本文将为你揭开操作系统引导与启动的面纱. 理解操作系统开机引导和启动过程对于配置操作系统和解决相关启动问题是至关重要的.该文章陈述了 GRUB2 ...

  3. Linux 启动过程详解

    目录 1. Linux启动过程 2. 启动过程概述 3. 引导加载阶段 4. 内核阶段 4.1 内核加载阶段 4.2 内核启动阶段 5. 早期的用户空间 6. 初始化过程 6.1 SysV init ...

  4. Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...

  5. Linux启动过程详解

    Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...

  6. Linux启动过程简述

    Linux启动过程: 图片来自:https://www.cnblogs.com/codecc/p/boot.html 简单来讲: 加载BIOS–>读取MBR–>Boot Loader–&g ...

  7. 转-Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    http://blog.chinaunix.net/space.php?uid=10167808&do=blog&id=26042   1)BIOS自检2)启动Grub/Lilo3)加 ...

  8. Linux启动过程笔记

    Linux启动过程 1.启动流程(BIOS->MBR:Boot Code->引导GRUB->载入内核->运行init->runlevel) 2./boot/grub/下有 ...

  9. 深入理解Linux启动过程

    深入理解Linux启动过程       本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统.LILO 和GRUB引导装载程序,以及bootsect.setup.vmlinux等映像文件 ...

  10. 嵌入式Linux启动过程中的问题积累

    嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...

随机推荐

  1. LibTorch 自动微分

    得益于反向传播算法,神经网络计算导数时非常方便,下面代码中演示如何使用LibTorch进行自动微分求导. 进行自动微分运算需要调用函数 torch::autograd::grad( outputs, ...

  2. 跟羽夏学 Ghidra ——工具

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇文章 ...

  3. phpoffice文档笔记

    目录 phpword html转word phpexcel 从数据库导出 phpword html转word <?php namespace app\index\controller; use ...

  4. Kibana:在Kibana 中定制 time picker 及 指标可视化显示格式

    文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/107066779

  5. Kubernetes 日志:搭建 EFK 日志系统

    Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch.Fluentd 和 Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案. Elasticsearch 是一个 ...

  6. 使用docker-compose方式部署es和kibana以及cerebro

    使用的镜像可以从这个网站查看最新的:https://hub.docker.com/ 参考极客时间上的教程转发来的 使用步骤:安装docker和docker-compose 运行: docker-com ...

  7. Java 读写锁 ReadWriteLock 原理与应用场景详解

    Java并发编程提供了读写锁,主要用于读多写少的场景,今天我就重点来讲解读写锁的底层实现原理@mikechen 什么是读写锁? 读写锁并不是JAVA所特有的读写锁(Readers-Writer Loc ...

  8. SecureCRT登录centos日常操作

    ssh登录客户端很多,个人还是习惯使用SecureCRT,非常快捷.简单.针对日常小伙伴经常咨询的常用操作简单记录如下: 建立ssh2连接,比较简单,填写服务器ip及对应的登录用户即可. 登录界面中文 ...

  9. Node.js(七)MySql+ajax

    Api.js const express=require("express"); const router=express.Router(); const mysql = requ ...

  10. golang开发:go并发的建议(完)

    上次说了一下Go语言布道师 Dave Cheney对Go并发的建议,个人觉得最重要的一条,这次主要想说一下这个. 8.3. Never start a goroutine without knowni ...