UEFI 原理与编程 3 - EDK2 U盘启动盘制作

传统Legacy模式启动盘

编译DuetPkg

build --nt32
build -a X64 -p DuetPkg\DuetPkgX64.dsc
cd DuetPkg
createbookdisk.bat usb E: FAT32 X64
createbookdisk.bat usb E: FAT32 X64 step2
cd ..\Build\DuetPkgX64\DEBUG_VS2015\X64
cp HelloWorld.efi E:\efi\boot\HelloWorld.efi /y

现在, U盘内的结构应如下

Efildr20用于在Legacy模式下引导进入UEFI环境

bootX64.efi是开机后进入的shell, HelloWorld.efi是刚刚复制过去的测试程序.

这里的bootX64.efi实际上来源是 <Workspace>\ShellBinPkg\UefiShell\X64\Shell.efi, 是edk2预先编译好的shell. 这个可在createbookdisk.bat中看出:

如果要使用较新的Shell, 可以

build -a X64 -p ShellPkg\ShellPkg.dsc
cp Build\Shell\DEBUG_VS2015\X64\Shell.efi E:\efi\boot\bootX64.efi /y

之后上机测试. 开机按F2进入bios, 再按F8启动设备选择界面 (华硕), 选择U盘. 之后进入Shell

posted @ 2019-10-24 16:38  串串的杂七杂八  阅读(789)  评论(0编辑  收藏  举报