gpt4 book ai didi

assembly - UEFI 启动模式启动流程如何​​?

转载 作者:行者123 更新时间:2023-12-04 12:06:04 35 4
gpt4 key购买 nike

本题表达方式与What is UEFI's boot sequence?相同,但似乎不是我想要的。我想从指令的角度了解 UEFI 序列。

例如,在 BIOS 引导模式的情况下,以简化的方式,

  • 计算机电源已打开。
  • 连接到主板的 BIOS 芯片的内容执行 POST(开机自检)过程。
  • BIOS 搜索 MBR(主引导记录),它具有按预设引导设备顺序的引导签名。
  • 如果找到带有引导签名的 MBR,则将设备的第一个扇区(512 字节)加载到 DRAM,地址 0x7C00。这个加载的扇区(512 字节)成为“第一阶段引导加载程序”。
  • BIOS 将控制权转移到此第一阶段引导加载程序。换句话说,位于 DRAM 中物理内存地址 0x7C00 的操作码被执行。

  • Image

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

    但,

    在 UEFI 的情况下,我很难掌握这个顺序。

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

    欧洲足联:
    https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf

    操作系统开发:
    https://wiki.osdev.org/UEFI

    似乎这个 efi_main() 函数在 BIOS 模式下相当于 0x7C00 的点。但是如何?

    UEFI固件是否在做类似的事情
    jmp efi_main
    在完成一系列工作之后?

    一季度。 UEFI 启动模式的流程如何?

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

    附言

    我已经看到了英特尔在 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 中断等)都将被弃用?

    最佳答案

    Q1:

    UEFI 启动顺序分为多个“阶段”,您可以找到每个阶段的一些基本信息 here .

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

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

    Q2:

    如果您想对 UEFI 的工作原理有一个基本的了解,我会推荐“Beyond BIOS”一书。

    如果您想学习如何编写 UEFI 驱动程序/应用程序,我建议您查看 EDK2 repository 中的一些示例应用程序。 ( and how to build Applications with it ),更多细节可以在规范中找到。

    关于assembly - UEFI 启动模式启动流程如何​​?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58002542/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com