首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UEFI如何引导模式引导流?

UEFI如何引导模式引导流?
EN

Stack Overflow用户
提问于 2019-09-19 01:28:32
回答 1查看 13K关注 0票数 10

这个问题的表达方式与什么是UEFI的引导序列?相同,但似乎不是我想要的。我想从教学角度了解UEFI序列。

例如,在BIOS启动模式下,以简化的方式,

  • 电脑开机了。
  • 附加在主板上的BIOS芯片的内容执行POST(Power On Self Test)过程。
  • BIOS搜索MBR(),它具有预置引导设备顺序的启动签名。
  • 如果找到具有启动签名的MBR,则将设备的第一个扇区(512字节)加载到DRAM,地址为0x7C00。这个加载扇区(512字节)成为“第一阶段引导加载器”。
  • BIOS将控制转移到这个第一阶段引导加载程序。换句话说,在DRAM中位于物理内存地址0x7C00的操作码被执行。

相关文章:https://neosmart.net/wiki/mbr-boot-process/

但,

万一出现UEFI,我很难掌握这个序列。

我已经浏览了UEFI规范文档和OS部分。

UEFI:final.pdf

OS:https://wiki.osdev.org/UEFI

在BIOS模式下,这个efi_main()函数似乎是相当于0x7C00的点。但是怎么做呢?

UEFI固件是否在做类似的事情

jmp efi_main

在做了一系列的工作之后?

Q1.UEFI引导模式流如何?

Q2.是否有一个好的UEFI示例或教程,比如基于BIOS的BIOS示例或教程?

附注:

我已经看到了英特尔在2020年之前取消BIOS支持的消息(这些年已经过去了)。

https://www.anandtech.com/show/12068/intel-to-remove-bios-support-from-uefi-by-2020

上面写着

Once CSM is removed, the new platforms will be unable to run 32-bit operating systems, unable to use related software (at least natively), and unable to use older hardware, such as RAID HBAs (and therefore older hard drives that are connected to those HBAs), network cards, and even graphics cards that lack UEFI-compatible vBIOS (launched before 2012 – 2013)

Q3.这不意味着所有与BIOS启动相关的东西( 0x7C00和BIOS中断等的第一阶段引导加载程序)都不再受欢迎了吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-19 07:17:46

Q1:

UEFI引导序列分为多个“阶段”,您可以找到关于每个阶段这里的一些基本信息。

要加载SEC阶段,SecCore位于内存地址0xFFFFFFF0 (此地址映射到UEFI内存),因此是重置向量的目标。

在dxe阶段之后,可以在加载操作系统之前调用多个UEFI应用程序。

Q2:

如果你想对UEFI的工作原理有一个基本的理解,我会推荐这本书“超越BIOS”。

如果您想学习如何编写UEFI驱动程序/应用程序,我建议您看看EDK2存储库 (以及如何使用它构建应用程序。)中的一些示例应用程序,可以在规范中找到更多细节。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58002542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档