注意这里我说的是 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. ORM增删改查并发性能测试2

    前言 上一篇<ORM增删改查并发性能测试>出现了点小失误,有的输出SQL日志的代码没有禁用,数据库连接字符串可能有问题.统一环境,统一代码后,重新写一篇. 这次重点是并发性能测试,真不是为 ...

  2. NODE 基于express 框架和mongoDB的cookie和session认证 和图片的上传和删除

    源码地址 https://gitee.com/zyqwasd/mongdbSession 本项目的mongodb是本地的mongodb 开启方法可以百度一下 端口是默认的27017 页面效果 1. 注 ...

  3. synchronized锁详解

    synchronized的意义 解决了Java共享内存模型带来的线程安全问题: 如:两个线程对初始值为 0 的静态变量一个做自增,一个做自减,各做 5000 次,结果是 0 吗?(针对这个问题进行分析 ...

  4. ProxySQL SSL 配置

    后端 SSH 连接配置 从版本 v1.2.0e 开始,ProxySQL 支持对后端使用 SSL 连接. 重要提示: 仅支持 v1.x 中的后端 SSL.在 v2.x 之前的版本中,客户端是无法使用 S ...

  5. 5.Ceph 基础篇 - 认证

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485272&idx=1&sn=4b27c357 ...

  6. MySQL配置不当导致Sonarqube出错的一次经历:Packet for query is too large (16990374 > 13421568)

    公司里部署了Jenkins + Sonarqube对项目代码进行构建和代码质量扫描. 某个大型项目报告项目构建失败.进jenkins看,该项目构建日志中的报错信息是这样的: 通过错误堆栈中的信息可以判 ...

  7. 使用Prometheus和Grafana监控nacos集群

    官方文档:https://nacos.io/zh-cn/docs/monitor-guide.html 按照部署文档搭建好Nacos集群 配置application.properties文件,暴露me ...

  8. MySQL集群搭建(6)-双主+keepalived高可用

    双主 + keepalived 是一个比较简单的 MySQL 高可用架构,适用于中小 MySQL 集群,今天就说说怎么用 keepalived 做 MySQL 的高可用. 1 概述 1.1 keepa ...

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

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

  10. 「Tubian」Tubian0.4!完全开源!

    Tubian是我自己维护的Linux发行版.Tubian基于Debian,提供了开箱既用的Wine和Waydroid,装好就有对Android应用和Windows程序的兼容. Sourceforge. ...