计算机启动过程uefi+gpt方式

news2024/11/22 14:12:37

启动过程:

一、通电
按下开关,不用多说

二、uefi阶段
通电后,cpu第一条指令是执行uefi固件代码。
uefi固件代码固化在主板上的rom中。

(一)uefi介绍
UEFI,全称Unified Extensible Firmware Interface,即“统一的可扩展固件接口”,是适用于电脑的标准固件接口,旨在代替BIOS。

UEFI的前身是Intel在1998年开始开发的Intel Boot Initiative,后来被重命名为可扩展固件接口(Extensible Firmware Interface,缩写EFI)。Intel在2005年将其交由统一可扩展固件接口论坛(Unified EFI Forum)来推广与发展,为了凸显这一点,EFI也更名为UEFI(Unified EFI)。

(二)uefi功能
1.uefi能够识别FAT格式分区,它能够直接读取FAT分区中的文件
2.uefi规定了一种可执行文件格式,通常以.efi为后缀。uefi能够执行此格式的代码

三、boot loader阶段
UEFI固件代码会读取所有硬盘的GPT分区表,并在GPT分区表中查找ESP。
找到esp后,uefi会读取其中的boot loader,boot loader通常是以 .efi 结尾的文件。
读取完之后,形成一个启动项列表,每个启动项都是指向一个boot loader。
然后由我们选择任意一个启动项,uefi执行它。如果不选择,则执行第一顺位启动项。

所以可以这么说,uefi会读取执行第一顺位boot loader。

(一)esp
EFI系统分区,EFI System Partition,是uefi要求的一个FAT32格式的分区。
其中存储着efi格式的可执行文件,一般是boot loader。uefi会读取执行其中的文件。

linux中,一般挂载到/boot/efi
window中一般是不可见的。可以用mountvol命令挂载分区。

(二)boot loader位置
1.默认boot loader
一般都是如下位置:
\EFI\BOOT\BOOT<MACHINE_TYPE_SHORT_NAME>.EFI

IA32系统是\efi\boot\bootia32.efi
x86-64系统是\efi\boot\bootx64.efi
ARM64系统是\efi\boot\bootaa64.efi

如果安装多系统,默认boot loader会被不同系统覆写。
谁最后安装,就把默认boot loader改成谁的。

2.特定系统的bootloader
路径一般如下:
\EFI<厂商><bootloader>.efi

(1)windows
对于windows,boot loader是bootmgr,存储在esp中,路径一般是\EFI\MICROSOFT\BOOT\bootmgfw.efi
(2)linux
对于64位linux,boot loader是grub2,存储在esp中,路径一般是/efi//grubx64.efi,uefi会直接读取执行它,不需要MBR中的boot.img。这个文件就相当于bios方式中的stage1 and stage1.5.
stage2依然是存储在/boot/grub2目录中。grubx64.efi会读取执行 /boot/grub/x86_64-efi/normal.mod文件。
/boot/grub/ 可以在esp中,也可以在另一个分区。

在这里插入图片描述

四、kernel阶段
boot loader会读取执行操作系统内核。

以Linux系统为例,内核在/boot目录。名字一般叫做vmlinuz
grub2会载入/boot目录下面的kernel。

整个流程如下:
在这里插入图片描述

判断linux是否是以uefi方式启动:
在Linux终端里运行下面的命令
[ -d /sys/firmware/efi ] && echo “Installed in UEFI mode” || echo “Installed in Legacy mode”
首先,你可以在主板固件设置里禁用BIOS以及CSM模块,只启用原生UEFI模式.
另外,你可以查看Linux系统上是否有/sys/firmware/efi这个目录.如果这个目录存在,那么系统就是以UEFI模式启动的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章

最近在整理和编写基于C#的WinForm应用程序&#xff0c;然后碰到一个其他读者也可能碰到的问题&#xff0c;就是C#的Borderless无边框窗体的动画效果问题。 在Visual Studio 2022里&#xff0c;C#的WinForm程序提供了Borderless无边框窗体的样式效果&#xff0c;但是它没提供在无…

scrollIntoView()定位元素显示导致页面上移解决方法?

文章目录 项目场景&#xff1a;问题描述原因分析&#xff1a;解决方案&#xff1a;1、使用fixed固定定位父级元素2、控制父元素的scrollTop 项目场景&#xff1a; 在项目中需要根据当前组件的componentId来定位到页面的顶部显示。 问题描述 本来想着使用最传统的方法&#xff0…

MYSQL 练习2

练习2 创建company数据库在数据库中根据以下图示创建表&#xff0c;表结构如下&#xff0c;并插入以下数据&#xff0c;完成下面的sql。 ​ 表结构如下&#xff1a; salgrade表 salrade表数据 完成以下SQL编写&#xff1a; 修改emp表中sal字段为salary查找年薪在20000到3000…

JavaScript布尔逻辑

布尔逻辑是一种逻辑学上的分支&#xff0c;涉及真和假的值。布尔逻辑中使用的运算符仅返回真或假结果&#xff0c;这些运算符包括取反、与、或等。布尔逻辑通常用于电子学、计算机科学和数学等领域&#xff0c;其中真和假的值对于决策和控制流程非常重要。在计算机编程中&#…

60个AIGC专业术语手册;5种大模型微调方法总结;大模型创业潮成败点评;AIGC通用大模型产品测评报告 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; ChatGLM 金融大模型挑战赛&#xff0c;冠军送12B模型授权30W算力 GLM大模型联合安硕信息、阿里云、魔搭社区、北京交通大学&#xff0…

【并发专题】线程池ThreadPoolExecutorl底层原理源码分析

目录 前置知识课程内容一、线程池1.基本介绍2.Executor接口3.线程池的重点属性ctl字段RUNNING字段SHUTDOWN字段 二、线程池的创建及参数解读三、核心源码解读 学习总结 前置知识 Q1&#xff1a;终止一个线程的方法有哪些&#xff1f; 答&#xff1a;通常有4个方法。其中前2个是…

机械制造三维虚拟仿真实训的优点

机械制造三维虚拟仿真实训系统是一种基于计算机技术的机械原理仿真软件&#xff0c;它可以模拟各种机械系统的运动和受力情况&#xff0c;帮助用户深入了解机械原理的工作原理和应用。该系统采用三维建模技术&#xff0c;将机械系统的各个部分进行数字化建模&#xff0c;并通过…

科研院所用泛微搭建信创办公平台,统一办公,业务融合,安全便捷

国家全面推动重要领域的信创改造工作&#xff0c;要求到2027年底&#xff0c;对综合办公、经营管理、生产运营等系统实现“应替尽替、能替则替”。 科研机构作为智力、知识密集型机构&#xff0c;承载着大量数据、信息资产&#xff0c;数字化程度高&#xff0c;业务系统多样&a…

阿里云部署 ChatGLM2-6B 与 langchain+ChatGLM

1.ChatGLM2-6B 部署 更新系统 apt-get update 安装git apt-get install git-lfs git init git lfs install 克隆 ChatGLM2-6B 源码 git clone https://github.com/THUDM/ChatGLM2-6B.git 克隆 chatglm2-6b 模型 #进入目录 cd ChatGLM2-6B #创建目录 mkdir model #进入目录 cd m…

MySql增删改查基础

目录 1.基本操作 1.1新增 1.2查询 1.2.1指定查询 1.2.2排序查询 1.2.3分页查询 1.3修改 1.4删除 2.进阶操作 2.1键值约束 2.1.1主键约束 2.1.2唯一键约束 2.1.3非空约束 2.1.4默认值 2.1.5自增属性 ​编辑 2.1.6外键约束 2.1.7check子句 3.表的设计 3.1ER关…

海上港口三维数据可视化展示提升应急救援效率

3D可视化技术可以将复杂数据转化为生动的图形和模型&#xff0c;使得数据的关联和趋势更加明确和易于理解。通过使用3D模型和图形&#xff0c;我们可以更直观地观察数据之间的关系&#xff0c;发现隐藏在数据背后的规律和模式。例如&#xff0c;在工业领域&#xff0c;利用3D可…

jdk,jre和jvm三者的关系和区别

目录 一、三者的关系 二、JDK的概念 三、JRE的概念 四、JVM的概念 五、三者区别 一、三者的关系 从图中可以清楚地看到&#xff0c;他们之间的关系是JDK包含JRE, JRE又包含JVM。 因此&#xff0c;JDK包含JRE和JVM。 JDK JRE Java 开发工具包 [Java,Javac,Javadoc,Javap…

Python实现九宫格数独小游戏

1 问题 有1-9个数字&#xff0c;将他们填入一个3*3的九宫格中&#xff0c;使得他们的每行&#xff0c;每列&#xff0c;以及对角线上的和相等&#xff0c;且要求每个格子的数字不可以重复。使用python列出所有可能的组合。示例如下: 2 方法 每行&#xff0c;列&#xff0c;对角…

#pragma region用法

简介 #pragma region 是VS(Visio Studio)所特有的预处理语法&#xff08;其他IDE或者Cmake会报错&#xff09;&#xff0c;其可以用来收缩或者展开一段代码。 #pragma region MyRegion// ...Code content #pragma endregion 其中&#xff0c;MyRegion 即给这代码块所定义的名…

【python中级】将字符串按照固定长度分割

【python中级】将字符串按照固定长度分割 1、背景2、代码1、背景 近期有将图片进行base64编码成字符串的工作,参考博客: 【python中级】 base64编码将图片数据转化为成字符串 https://jn10010537.blog.csdn.net/article/details/131894686 我将图片编码成字符串后,再写到p…

地震反演基础知识1

文章目录 地震反演基础知识11. 基础知识1.1 正演反演1.2 地震数据1.3 速度模型1.4 道1.5 FWI的端到端深度学习1.6 传统FWI vs. DL-FWI 2. 数据信息2.1 数据集的层级关系2.2 SEG盐体数据2.3 OpenFWI数据集 地震反演基础知识1 1. 基础知识 1.1 正演反演 正演 根据地下介质的参…

electron的electron-packager打包运行和electron-builder生产安装包过程,学透 Electron 自定义 Dock 图标

electron的electron-packager打包运行和electron-builder生产安装包过程 开发electron客户端程序&#xff0c;打包是绕不开的问题。 macOS 应用构建&#xff0c;看似近在咫尺&#xff0c;实则坑坑致命。 场景&#xff1a;mac笔记本打包&#xff0c;以及生产出可交付的软件安装…

自学网络安全(黑客)的误区

前言 网络安全入门到底是先学编程还是先学计算机基础&#xff1f;这是一个争议比较大的问题&#xff0c;有的人会建议先学编程&#xff0c;而有的人会建议先学计算机基础&#xff0c;其实这都是要学的。而且这些对学习网络安全来说非常重要。 一、网络安全学习的误区 1.不要…

windows系统安装ArtemisMQ

windows系统安装ArtemisMQ ArtemisMQ介绍 apache-artemi 是apache-activemq的新一代MQ产品。 特点&#xff1a; 1.支持多种mq协议&#xff0c;如jms\amqp\mqtt等协议。 2.部署方便&#xff0c;可以快速生成多个broker实例&#xff0c;以及部署集群。 3.已提供spring-boot-sta…

学习数学助手Schooltech Math Resource Studio 7.0 Crack

数学资源工作室 数学工作表生成器&#xff1a;快速轻松地创建数学工作表 使用易于使用的数学工作表生成器软件创建可打印的数学练习工作表。通过练习、谜题、问题等提高数学技能。 瞄准学习需求并激励学生 Math Resource Studio 是个性化数学教学的理想软件解决方案&#xff0c…