UEFI Start - Hello World

最近在看《从零开始的UEFI裸机编程》(https://kagurazakakotori.github.io/ubmp-cn),作者翻译的非常好。推荐观看。

image-20250917112343059

我们在UEFI入口点传递的SystemTable指针其实就是当系统的UEFI执行到我们的入口点时自动传递的。

所以我们调用的ClearScreen和OutputString都是调用的系统UEFI内的函数。

网上大部分都是使用edk2去编译UEFI的内容,但是edk2其实很繁琐。这也就是为什么我选择了《从零开始的UEFI裸机编程》开始学习UEFI原理。

sudo apt install gcc-mingw-w64-x86-64
x86_64-w64-mingw32-gcc -Wall -Wextra -e efi_main -nostdinc -nostdlib \        -fno-builtin -Wl,--subsystem,10 -o main.efi main.c

进入UEFI Shell 然后fs0: 切换到fs0

在这里还踩了坑 UEFI不认NTFS格式的分区

然后执行

image-20250917112653974

image-20250917112802000