在学习UEFI的过程中给使用的EDK2代码编译有Emulator与OvmfPkg。EmulatorPkg比较方便可以直接显示DEBUG函数的输出信息,但是Emulator会缺少很多东西,导致很多Protocol无法使用。
QEMU安装
1.Qemu可以自行百度进入官网下载。
2.安装一定不要安装在C盘中,读写权限会导致很多问题。
3.https://qemu.weilnetz.de/w64/qemu-w64-setup-20220419.exe下载链接
安装完成后如下图。(我这里是用的64位系统)
创建BAT文件
在QEMU目录下创建一个bat文件。如下图:
在bat文件中添加命令:
qemu-system-x86_64.exe -bios D:\EDK2_My\edk2_03\edk2\Build\OvmfX64\DEBUG_VS2017\FV\OVMF.fd -hda fat:rw:D:\EDK2_My\Qemu\hda-contents -net none -M “pc” -m 256 -nic none -boot order=dc -D DEBUG_ON_SERIAL_PORT -debugcon file:debug.log -global isa-debugcon.iobase=0x402
【-bios 】:FD文件存放目录
【-hda fat:】:efi文件存放目录(模拟一个硬盘)
【-debugcon file:debug.log】:将DEBUG打印的log存到debug.log里面,在qemu的安装目录下。
【-debugcon file:stdio】:将DEBUG打印的log使用标准设备输出,会直接显示在打开qemu的界面上。
结果演示
【-debugcon file:debug.log】
【-debugcon file:stdio】