UEFI
  • UEFI开发学习 28 – 获取磁盘信息

    UEFI 开发系列文章,写了二十几篇,发现还没写过磁盘、文件相关的,今天花了点时间,研究了一下磁盘相关的 Protocol,就先写一篇如何获取磁盘信息的文章。 简……

    bin 2024-09-08
    193 0
  • 一个命令解决EDK2编译时控制台输出乱码

    平常我在写 UEFI 程序的时候,一直使用 UDK2018 的开发环境,没出现问题。后来在使用比较新的EDK2代码时,发现控制台带有乱码输出,如下图: 经过排查后,发……

    bin 2024-07-14
    229 0
  • UEFI开发学习27 – Secure Boot Key 的生成及签名

    前面两篇写了secure boot的一些理论知识,内容比较枯燥,这一篇文章将结合QEMU做一个实验,来进一步加深对安全启动的理解。这个实验主要涉及几个方面:……

    bin 2024-03-02
    919 1
  • UEFI开发学习26 – 获取固件中的资源

    前言 在UEFI的项目代码中,除了代码,还可能会包含一些二进制文件,如Intel VBT,DXE Driver, UEFI APP等,代码在执行期间,会将其读取出来做相应的处理。由于……

    bin 2023-10-29
    911 0
  • UEFI开发学习25 – EFI Shell 环境变量

    前言 进入Efi Shell的时候,最后有个倒计时提示:Press ESC in xx seconds to skip startup.nsh or any other key to continue. 意思是在xx秒后将执行startup……

    bin 2023-07-01
    926 0
  • UEFI开发学习24 – UEFI 中的 Boot Manager

    一、简介 Boot Manager即引导管理器,从UEFI初始化到进入操作系统的过程中,使用了两个引导管理器。 第一个是UEFI 固件中的引导管理器,也就是UEFI手册中第三……

    bin 2023-06-04
    1.5K+ 0
  • UEFI开发学习23 – 利用定时器实现伪多线程

    简介 多线程这个概念在UEFI的开发上比较少见,因为UEFI只是一个启动引导的规范,没有特别复杂各种任务需要处理,所以对多线程的要求不是很高。 什么是多线程呢……

    bin 2023-05-02
    634 0
  • UEFI开发学习22 – 退出码

    简介 退出码(Exit Code),也可以当作是程序的返回值。在C语言中,主函数main可以写成void类型,可以不用返回任何值,但这样程序运行后,父级进程无法获得该……

    bin 2022-09-04
    687 0
  • 调试篇 | 使用WinDbg Debug(上)

    简介 在BIOS的代码中,主要由C和ASL两种语言组成,C语言最终编译成可以被处理器直接执行的机器码,而ASL则被编译成AML(ACPI Machine Language),是不能被处……

    bin 2022-06-05
    934 2
  • UEFI开发学习21 – 运行EFI APP

    好久没更新了,趁着端午假期休息,安排几篇文章 ~ 我们知道,UEFI的启动流程中,BDS阶段最终会把操作系统启动起来,UEFI 所做的只是运行一个操作系统的bootloa……

    bin 2022-06-03
    1.4K+ 0