UEFI开发,模拟器功能有限,所以选用虚拟机上的UEFI固件OVMF进行测试,经过一番折腾后测试成功,步骤记录如下:
1. 制作OVMF
CMD> D:\edk2>build -a X64 -p OvmfPkg\OvmfPkgX64.dsc
build完成之后,在..\edk2\Build目录下会增加一个OvmfX64文件夹,在..\edk2\Build\OvmfX64\DEBUG_VS2017\FV目录中会生成一个OVMF.fd文件,后面会用到。
2. 安装QEMU和对应的GUI工具QEMU Manager
【备用下载】https://download.csdn.net/download/zhouyingge1104/14948230
QEMU Manager:https://download.cnet.com/Qemu-Manager/3000-2094_4-75451507.html
【备用下载】https://download.csdn.net/download/zhouyingge1104/14948230
3. 在虚拟机QEMU中运行OVMF
把OVMF.fd复制到qemu的安装目录,我电脑上是C:\Program Files\qemu
打开Qemu Manager, 新建虚拟机:
在Advanced选项中,把BIOS Filename设置为qemu安装目录中的OVMF.fd:
另外,在Hardware中将Video Card设置为None,实测如果设了其他选项,会出现QEMU Console无法连接的问题。参见我的另一篇博客:https://blog.csdn.net/zhouyingge1104/article/details/113263200
点击运行,UEFI Shell在虚拟机中跑起来了:
**************************************************************************
参考书:《UEFI原理与编程》- 戴正华