学好UEFI,实现从工程师到架构师的跨越

UEFI是当前最先进的固件架构,由英特尔、微软等企业推动,广泛应用于X86和ARM平台。学好UEFI能提高开发效率,增强系统可扩展性和性能,同时提升安全性。通过UEFI编程培训,工程师可以深化对计算机系统的理解,实现向架构师的角色转变。培训涵盖UEFI应用和驱动开发,包括启动、界面修改、应用编写、驱动开发和OS加载等内容。

学好UEFI,

实现从工程师到架构师的跨越

   2024 / 01 / 19  

cfb128ccdd2a63091283790ea7d08fa3.jpeg

统一可扩展固件接口 UEFI,是由英特尔、微软等众多全球知名 IT企业共同开发、管理与推进的全新一代 BIOS 体系规范,目前作为最先进最完善的固件架构,已占据绝大部分计算机市场。X86 自然是不必多说,Arm产品也是紧随其上,现在,很多成熟的ARM服务器产品都采用了UEFI+ACPI方案,一些ARM移动和桌面产品也在采用UEFI+ACPI方案的路上,看起来形势一片大好。

UEFI之所以能迅速取代传统BIOS,得益于UEFI相对传统BIOS的几大优势。

e11f71fb0513651e47fe47d465dad9ee.png

NO.1

UEFI的开发效率高 

传统BIOS开发一般采用汇编语言,代码多是硬件相关的代码。而在UEFI中,绝大部分代码采用C语言编写,UEFI应用程序和驱动甚至可以使用C++编写。UEFI通过固件-操作系统接口(BS和RT服务)为OS和OS加载器屏蔽了底层硬件细节,使得UEFI上层应用可以方便重用。

91f4b2d25b9cfc95d8b20264b94a8d5b.jpeg

97b7d18c30b2da3ad9089251dfbae68b.jpeg

NO.2

UEFI系统的可扩展性强

UEFI系统的可扩展性体现在两个方面:一是驱动的模块化设计;二是软硬件升级的兼容性。大部分硬件的初始化通过UEFI驱动实现。每个驱动是一个独立的模块,可以包含在固件中,也可以放在设备上,运行时根据需要动态加载。UEFI中每个表、每个Protocol(包括驱动)都有版本号,这使得系统的平滑升级变得简单。

NO.3

UEFI系统的性能更强

相比传统BIOS,UEFI有了很大的性能提升,从启动到进入操作系统的时间大大缩短。性能的提高源于以下几个方面:

  1. UEFI提供了异步操作。基于事件的异步操作,提高了CPU利用率,减少了总的等待时间。

  2. UEFI舍弃了中断这种比较耗时的操作外部设备的方式,仅仅保留了时钟中断。外部设备的操作采用“事件+异步操作”完成。

  3. 可伸缩的遍历设备的方式,启动时可以仅仅遍历启动所需的设备,从而加速系统启动。

NO.4

UEFI系统的安全性更高

UEFI的一个重要突破就是其安全方面的考虑。当系统的安全启动功能被打开后,UEFI在执行应用程序和驱动前会先检测程序和驱动的证书,仅当证书被信任时才会执行这个应用程序或驱动。UEFI应用程序和驱动采用PE/COFF格式,其签名放在签名块中。

正因为 UEFI具有这么多优势,Arm支持UEFI自然也就顺理成章了。但目前ARM上的UEFI代码还存在一些问题,对ACPI的支持也不完善,无法自由安装通用操作系统。比如,要在 Arm 硬件上支持 Windows (WoA),目前仍有大量的工作需要做。

那么谁来完成这些工作呢?我在另一篇文章《PC 的下一波浪潮,你准备好了吗?》曾经提到,在上一波 PC 浪潮中,因为我们技术落后、起步较晚,我们已经处于很被动的地位。而在下一波 PC 浪潮(即Arm PC)中,我们再也不能袖手旁观了,我们必须义无反顾地投入到这股洪流中,学习它,体验它,参与到它的成长与壮大的过程中,这样我们才能把握它,引领它。就像马岩松所说:我不是一个旁观者,而是创造者。

这其中就包括学习UEFI,学习它的基本架构、实现方式。学好UEFI,可以加深对计算机系统的理解,可以打通知识壁垒,提高工作效率,最主要的是,可以让你实现从工程师到架构师的跨越。

幸运的是,格蠹科技创始人兼CEO张银奎老师,将在2024年初春推出一期关于UEFI编程的培训,并且已于2024年1月7号举办了一场线上直播,给大家分享了UEFI的前世今生。从与会者人数来看,大家对这个领域还是相当感兴趣的,有很多之前从事这个领域的朋友,也有很多后起之秀。

培训分6节课,都是以实战为主,以下是每节课的内容概要。

#01

UEFI跑起来

要点:下载代码、调整信息输出、构建、熟悉镜像格式、烧录、启动、接收和分析调试信息、进入UEFI图形界面和外壳环境、执行外壳命令。

#02

修改UEFI界面

要点:HII基础、定义表单、定义控件、界面和变量绑定、UEFI的配置机制(PCD)、定义PCD变量保存设置。

#03

编写UEFI应用

  ——PcdEdit

要点:UEFI模块、模块的基本文件(DSC、DEC、INF)、应用入口、UEFI的包、编写代码、观察和编辑PCD变量、加载和运行UEFI App、调试UEFI App的方法。

#04

开发UEFI驱动

要点:面向对象基础、UEFI Protocol、GUID、函数指针、方法表、操作Protocol的基本函数:打开、寻找、响应。

#05

权力移交——加载OS

要点:Boot Manager、通过UEFI启动Windows、通过UEFI启动grub、动态增加启动项、访问boot loader的原理和方法。

#06

电池出来——与OS配合

要点:电池设备的驱动、UEIF的标准设备、Control Method Battery、ASL、使用ASL定义设备、结构体、字段、实现UEIF的标准方法、通过标准方法报告电池的基本信息和实时状态。

关于课程的更多信息,大家可以点击下方的链接查看:https://mp.weixin.qq.com/s/ZxX0NrSzTogmhJBEJx4kVA

【盛格塾】

正心诚意,格物致知

人文情怀审视软件,以软件技术改变人生

c72f4ff7298471696196347a3f34e95e.png

格友公众号

f27cad5edaa4bb3a4a21c492f68349b9.png

盛格塾小程序

扫描上方二维码或在微信中搜索“盛格塾”小程序

可以阅读更多文章和有声读物

往期推荐

在调试器下看WoA

1元学编程2024寒假特惠季

单枪匹马难作战,组合套件发威力——GDK800闪亮登场

温笃丝再婚记

BIOS-UEFI安全培训包 Training: Security of BIOS/UEFI System Firmware from Attacker and Defender Perspectives This repository contains materials for a hands-on training Security of BIOS/UEFI System Firmware from Attacker and Defender Perspectives A variety of attacks targeting system firmware have been discussed publicly, drawing attention to the pre-boot and firmware components of the platform such as BIOS and SMM, OS loaders and secure booting. This training will detail and organize objectives, attack vectors, vulnerabilities and exploits against various types of system firmware such as legacy BIOS, SMI handlers and UEFI based firmware, mitigations as well as tools and methods available to analyze security of such firmware components. It will also detail protections available in hardware and in firmware such as Secure Boot implemented by modern operating systems against bootkits. The training includes theoretical material describing a structured approach to system firmware security analysis and mitigations as well as many hands-on exercises to test system firmware for vulnerabilities. After the training you should have basic understanding of platform hardware components and various types of system firmware, security objectives and attacks against system firmware, mitigations available in hardware and firmware. You should be able to apply this knowledge in practice to identify vulnerabilities in BIOS and perform forensic analysis of the firmware. Materials Module 0 Introduction to Firmware Security Module 1 BIOS and UEFI Firmware Fundamentals Module 2 Bootkits and UEFI Secure Boot Module 3 Hands-On Platform Hardware and Firmware Module 4 System Firmware Attack Vectors Module 5 Hands-On EFI Environment Module 6 Mitigations Module 7 System Firmware Forensics Miscellaneous Materials
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值