UEFI Boot Flow 系列之BDS

UEFI Boot Flow 系列之 BDS Phase BDS: Boot Device Select  BDS阶段的任务: 1. Initialize console devices base on the ConIn, ConOut and StdErr environment variables. 2. Attempt to load all drivers listed in the Driver#### and DriverOrder 阅读详情

转自CeliaQianhj

BDS: Boot Device Select

 BDS阶段的任务:

1. Initialize console devices base on the ConIn, ConOut and StdErr environment variables.

2. Attempt to load all drivers listed in the Driver#### and DriverOrder environment variables.

3. Attempt to boot from the boot selections list  in the Boot#### and BootOrder environment variables.

如果BDS 阶段不能contact a console device, load a driver, or boot a boot selection, 这就要求重新调用DXE Dispatcher。 这种调用是必须的,因为通过执行这个操作可能会发现additional firmware volumes, 它们可能包含管理Console Devices和Driver Devices所必须的DXE Driver。

一旦新发现的Firmware Volume上的DXE Drivers被Dispatched之后,控制权会再次交到BDS手中 。

Console Device:

Console Device是从Simple Text Output和Simple Input Protocol中抽象出来的。 在UEFI中,能够产生这其中一种或两种Protocl的Devide都被当作是Console Device。

Console Device的几种Type:

1. VGA Adapters, produce Simple Text Output Protocol.

2. Video Adapters, produce Simple Text Output Protocol.

3.Serial Terminal, produce both Simple Text Output Protocol and Simple Input Protocol.

4.Telnet, produce both Simple Text Output Protocol and Simple Input Protocol.

5. Remote Graphical Displays(HTTP), produce both Simple Text Output Protocol and Simple Input Protocol.

Boot Device的几种Type:

1.Devices that produce the Block I/O Protocol and are formatted with a FAT file system,  Disk Devices
2.Devices that directly produce the File System Protocol
3.Devices that directly produce the Load File Protocol                                                              Network Devices

 

BIOS追Code之BDS phase ->TSL->RT->AL 综述 BDS 的全称是启动设备选择(Boot Device Select), DXE 阶段最终会调用BDS ARCH protocol 的接口EFI_BDS_ARCH_PROTOCOL.Entry() 转入BDS阶段。BDS 阶段负责加载额外的驱动,与用户交互,必要的硬件初始化,并转入操作系统。 EFI的引导顺序包括以下内容: 平台固件从全局定义的NVRAM变量中读取boot order 引导顺序列表,引导顺序列表定义了一个NVRAM变量列表,其中包含要引导的信息。每个NVRAM变量为引导选项定义一个Uni 阅读详情

相关推荐

UEFI Boot Flow 系列之 SEC Phase

为什么要有SEC Phase? 1. 需要用汇编语言来完成C无法处理的工作,如C语言无法处理CPU的特殊寄存器(MSR,MTRR,CRX)。 2. C语言需要Memory当成Stack来处理Local 变数,而刚开机Memory还没有被初始化,还不可用,所以需要CAR(Cac

1万+

UEFI启动阶段DXE-BDS-TSL-RT-AL以及总结_2020-05-13

DXE(Driver Execution Environment,执行驱动配置环境)阶段 DXE阶段执行系统大部分的初始化工作。由于此阶段内存已经可以被正常使用,因此该阶段可以执行大量复杂的工作。从程序设计角度DXE阶段与PEI阶段相似。 DXE阶段的功能: 执行系统大部分的初始化工作 提供系统表、启动服务以及Run Time Services。 DXE划分: DXE内核:负责DXE的基础服务和执行流程 DXE派遣器:负责调度执行DXE驱动,初始化系统设备。 DXE执行流程: 从..

Vago的博客 4732

PI Boot Flow

Security (SEC) Phase The Security (SEC) phase is the first phase in the PI Architecture architecture and is responsible for the following: Handling all platform restart events Creating a temporary m...

daydayup_668819的博客 480

启动设备选择BDS

BDS简介 BDS 的全称是启动设备选择(Boot Device Select), DXE 阶段最终会调用BDS ARCH protocol 的接口EFI_BDS_ARCH_PROTOCOL.Entry() 转入BDS阶段。BDS 阶段负责加载 额外的驱动,与用户交互,必要的硬件初始化,并转入操作系统。 系统全局环境变量 其他模块和BDS 交互是通过一系列系统全局环境变量进行的。其...

Helping BIOSer become Awesome! 3525

【信息科学与工程学】【产品体系】计算机科学与自动化——第一百八十九篇 操作系统内核(微内核/宏内核)函数与算法02

宏内核(Linux)更多典型内核函数/算法,从编号271开始,覆盖中断管理、热插拔、PCI、ACPI、固件、崩溃转储、kexec、休眠、watchdog、RTC、hwmon、LED、backlight、input子系统、remoteproc等更多领域。编号类型领域内核类型内核中的函数/算法/模块/模组模块的调用关系模块/函数/算法逐步推理思考的数学表达式及参数列表及参数数值设计模块的C/C++/其他代码关联知识271中断管理中断描述符宏内核 / (中断子系统核心)驱动申请中断 → → → 分配irq_

weixin_49199313的博客 110

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04

编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017)

weixin_49199313的博客 406

UEFI Boot Flow系列之 概述

有图有真相: 1. SEC Phase (Security) 开机之后,系统开始执行第一条指令,此时就已经进入了SEC阶段。这时的Memory还没有被初始化,还不可用,所以这一阶段最主要的工作就是建立一些临时的Memory,它可以是处理器的Cache,或是system S

1万+

UEFI中SEC到BDS阶段的启动流程图

UDK2.0代码的SEC到BDS阶段的启动流程。。。。。。。。。

UEFI Boot Flow

有图有真相: 1. SEC Phase (Security) 开机之后,系统开始执行第一条指令,此时就已经进入了SEC阶段。这时的Memory还没有被初始化,还不可用,所以这一阶段最主要的工作就是建立一些临时的Memory,它可以是处理器的Cache,或是system Static RAM(SRAM)。并且使CPU进入Protect Mode。   另外,SEC Phase可以先天知道(P

cassienj的博客 3286

CTF-Web学习笔记:服务端请求伪造(SSRF)篇

本文系统介绍了CTF比赛中SSRF漏洞的攻防技术。首先解析了SSRF的核心原理,即利用服务器对用户输入URL的未校验缺陷,诱导其访问内网资源。然后详细分析了5类常见CTF题型:文件读取、内网探测、云服务元数据窃取、协议绕过及组合漏洞利用。重点讲解了绕过URL过滤、利用特殊协议(如dict://、gopher://)等实战技巧,并通过一道SSRF+Redis的高阶题目演示完整攻击链。最后给出防御建议:严格校验输入URL、禁用危险协议、实施内网隔离等。

Deng7326的博客 1704

什么是plm系统?-数字化转型网

当今世界,产品研发能力是企业在激烈的市场竞争中保持战略优势的核心竞争力之一。如何有效地缩短产品研发周期、改善产品服务的设计迭代流程、有效降低产品的研发成本,也是企业面临的主要问题之一。PLM(Product Lifecycle Management,产品生命周期管理)在优化产品研发的全管理流程、增强企业产品的市场竞争力方面具有关键的作用。

cxo17757154043的博客 883

uefi bds boot flow

BdsEntry.c 是BDS的入口函数所在的文件,其入口函数为BdsEntry。 在BdsEntry 中会调用   // Check if we have the boot next option   //   mBootNext = BdsLibGetVariableAndSize (                 L"BootNext",                 &gE

jason的笔记 2806

EEG | CHB-MIT癫痫数据集CNN分类实战(一)

CHB-MIT癫痫数据集CNN分类实战

Always learn from the best. 1万+

UEFI Boot Flow 系列之 DXE Phase

DXE: Driver Execution Environment 为什么要有DXE Phase? 大部分系统的初始化工作都是在DXE 阶段实现的。 DXE Phase由以下几部分组成: 1. DXE Core (DXE Foundation)      产生一组Boot Services, Runtime Services, DXE Services。 由boot service co

1万+

基于simulink构建一个完整的航空航天器姿态控制与导航仿真模型

航空航天器的姿态控制与导航系统是确保飞行器稳定运行和精确执行任务的核心技术。其目标是通过传感器获取飞行器的状态信息,并利用控制器调整飞行器的姿态,使其按照预定轨迹飞行。基于MATLAB/Simulink平台进行航空航天器姿态控制与导航系统的建模与仿真,可以帮助研究者验证算法性能并优化系统的动态响应。本项目旨在构建一个完整的航空航天器姿态控制与导航仿真模型,包括飞行器动力学建模、传感器模块设计、控制器实现以及导航算法仿真,并通过仿真分析其性能。

xiaoheshang_123的博客 272

使用 Simulink Real-Time 搭建一个完整的实时信号采集与滤波系统模型

本文详细介绍了基于Simulink Real-Time构建实时信号采集与滤波系统的完整流程。主要内容包括:系统配置(模型创建与参数设置)、信号采集模块搭建(模拟信号源或真实硬件连接)、实时滤波器设计(浮点/定点)、输出可视化(Scope/ToWorkspace等)、模型编译与下载到目标机、外部模式在线调试及数据保存方法。系统可实现微秒级实时信号处理,适用于工业控制、航空航天等对时间确定性要求高的场景。文章还提供了优化建议(多速率建模、优先级调度等)和应用场景说明,帮助读者快速掌握实时系统开发的核心技能。

amy_mhd的博客 304

UEFI Boot Flow系列之DXE

转自CeliaQianhj DXE: Driver Execution Environment 为什么要有DXE Phase? 大部分系统的初始化工作都是在DXE 阶段实现的。 DXE Phase由以下几部分组成: 1. DXE Core (DXE Foundation)      产生一组Boot Services, Runtime Services, DXE Services。 由

LifeIce的专栏 2131

【AI大模型】DeepSeek + Kimi 高效制作PPT实战详解

AI赋能,使用DeepSeek 高效制作PPT实战详解

congge 1万+

UEFI Boot Flow 系列之概述

转自CeliaQianhj 有图有真相: 1. SEC Phase (Security) 开机之后,系统开始执行第一条指令,此时就已经进入了SEC阶段。这时的Memory还没有被初始化,还不可用,所以这一阶段最主要的工作就是建立一些临时的Memory,它可以是处理器的Cache,或是system Static RAM(SRAM)。并且使CPU进入Protect Mode。   另外,SE

LifeIce的专栏 1515

在 SAP 中,Primary Cost Element(初级成本要素)与Secondary Cost Element(次级成本要素)的核心区别、作用及业务含义可归纳如下

摘要:SAP中初级成本要素与次级成本要素的核心区别在于:初级要素必须关联FI模块的损益科目,直接影响财务报表,用于记录外部成本(如电费、薪酬);次级要素仅存在于CO模块,用于内部成本分配(如分摊、作业分配),不影响外部报表。初级要素是"外部成本入口",次级要素是"内部成本搬运工",二者共同实现成本的多维度追踪与管理。

金牌架构师 759

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UEFI启动七阶段详解

UEFI的7个阶段

weixin_73231980的博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

UEFI——浅谈启动的七个阶段

UEFI启动七个阶段

weixin_45735775的博客 4087

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【Linux】使用 UEFI 的操作系统启动过程

UEFI 启动过程。

风高秋月白,雨霁晚霞红 1万+
上一篇: UEFI Boot Flow系列之DXE
下一篇: UEFI BIOS ROM文件格式
LifeIce
博客等级 码龄14年 10粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值