注意这里我说的是 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. 002从零开始入门Entity Framework Core——DbContext生存期、配置和初始化

    阅读须知:本文为入门介绍.指引文章,所示代码皆为最简易(或仅为实现功能)的演示示例版本,不一定切实符合个人(企业)实际开发需求. 一.DbContext生存期 DbContext 的生存期从创建实例时 ...

  2. R语言-tidyr和dplyr

    一.安装和加载 1.安装并加载tidyr和dplyr包 install.packages("tidyr") library(tidyr) install.packages(&quo ...

  3. 国产PLM软件在创新实践中强势崛起

    近日,"璞华PLM"先后获得微度医疗.埃特斯等多个客户的订单,即使在疫情环境下也展现出了强劲的高速增长.在产品生命周期管理(PLM,Product Lifecycle Manage ...

  4. Kubernetes DevOps: Jenkins Pipeline (流水线)

    要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式.Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于 ...

  5. 使用二进制文件部署Etcd集群

    Etcd 是一个分布式键值存储系统,Kubernetes使用Etcd进行数据存储,所以先准备一个Etcd数据库,为解决Etcd单点故障,应采用集群方式部署,这里使用3台组建集群,可容忍1台机器故障,当 ...

  6. jumpserver 2222端口的使用

    可以这样理解: 通过在jumpserver的web界面添加的用户,相应的也有权限通过远程使用命令的方式登陆jumpserver,进行相应的管理,只不过使用的端口是2222端口,不是常见的22端口. 一 ...

  7. Spring笔记四

    Spring-04 1.Spring整合Junit ①导入依赖 <!-- junit --> <dependency> <groupId>junit</gro ...

  8. 关于AWS-IAM-certificate-证书的说明

    AWS提供了证书管理的服务,可以使用IAM和ACM(位于Security & Identity IAM下的Certificate Manager)进行管理 在CloudFront和ALB中都可 ...

  9. 把train数据集生成txt(test同理)

    import cv2 import numpy as np import os import sys import pickle data_dir = os.path.join("./&qu ...

  10. 从0开始写一个简单的vite hmr 插件

    从0开始写一个简单的vite hmr 插件 0. 写在前面 在构建前端项目的时候,除开基本的资源格式(图片,json)以外,还常常会需要导入一些其他格式的资源,这些资源如果没有第三方vite插件的支持 ...