-
UEFI开发学习 28 – 获取磁盘信息
UEFI 开发系列文章,写了二十几篇,发现还没写过磁盘、文件相关的,今天花了点时间,研究了一下磁盘相关的 Protocol,就先写一篇如何获取磁盘信息的文章。 简……
bin 2024-09-08193 0 -
一个命令解决EDK2编译时控制台输出乱码
平常我在写 UEFI 程序的时候,一直使用 UDK2018 的开发环境,没出现问题。后来在使用比较新的EDK2代码时,发现控制台带有乱码输出,如下图: 经过排查后,发……
bin 2024-07-14229 0 -
UEFI开发学习27 – Secure Boot Key 的生成及签名
前面两篇写了secure boot的一些理论知识,内容比较枯燥,这一篇文章将结合QEMU做一个实验,来进一步加深对安全启动的理解。这个实验主要涉及几个方面:……
bin 2024-03-02919 1 -
UEFI开发学习26 – 获取固件中的资源
前言 在UEFI的项目代码中,除了代码,还可能会包含一些二进制文件,如Intel VBT,DXE Driver, UEFI APP等,代码在执行期间,会将其读取出来做相应的处理。由于……
bin 2023-10-29911 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-01926 0 -
UEFI开发学习24 – UEFI 中的 Boot Manager
一、简介 Boot Manager即引导管理器,从UEFI初始化到进入操作系统的过程中,使用了两个引导管理器。 第一个是UEFI 固件中的引导管理器,也就是UEFI手册中第三……
bin 2023-06-041.5K+ 0 -
UEFI开发学习23 – 利用定时器实现伪多线程
简介 多线程这个概念在UEFI的开发上比较少见,因为UEFI只是一个启动引导的规范,没有特别复杂各种任务需要处理,所以对多线程的要求不是很高。 什么是多线程呢……
bin 2023-05-02634 0 -
UEFI开发学习22 – 退出码
简介 退出码(Exit Code),也可以当作是程序的返回值。在C语言中,主函数main可以写成void类型,可以不用返回任何值,但这样程序运行后,父级进程无法获得该……
bin 2022-09-04687 0 -
调试篇 | 使用WinDbg Debug(上)
简介 在BIOS的代码中,主要由C和ASL两种语言组成,C语言最终编译成可以被处理器直接执行的机器码,而ASL则被编译成AML(ACPI Machine Language),是不能被处……
bin 2022-06-05934 2 -
UEFI开发学习21 – 运行EFI APP
好久没更新了,趁着端午假期休息,安排几篇文章 ~ 我们知道,UEFI的启动流程中,BDS阶段最终会把操作系统启动起来,UEFI 所做的只是运行一个操作系统的bootloa……
bin 2022-06-031.4K+ 0
Everything找东西超快。
评论于 调试篇 | 使用WinDbg Debug(上)