QEMU(Quick Emulator)是一款开源机器模拟器,通过动态二进制翻译的软件技术,仿真不同处理器体系架构的工具。
QEMU项目github:https://github.com/qemu/qemu
QEMU下载到本地后,由于QEMU本身不需要再次搭建autogen或bootstrap形式的东西,可以直接通过configuration+make+make install的方式完成安装,在安装过程中提示缺什么库就装什么库,故这里就不再过多阐述了。
QEMU完成安装后可以查看命令检查版本:

注意要加上system,这样才会有对应的bios指令。
可以通过qemu-system命令指定对应的BIOS为uefi固件

很遗憾,目前暂时不具备自己编译符合FT要求的UEFI固件的EDK2的权限,所以这里使用QEMU自带的OVMF(Open Virtual Machine Frimware)
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager qemu-efi-aarch64如上命令安装qemu的OVMF,然后可以使用命令直接指定特定的UEFI固件与EFI文件,实现模拟启动:(注意,固件fd文件的路径在你敲完上面的命令后应该在/usr/share/AAVMF这个位置)
qemu-system-aarch64 \
-M virt \
-cpu cortex-a72 \
-m 4G \
-bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \
-drive file=/dev/sde1,format=raw,if=virtio \
-nographic注意,UEFI固件是通过扫盘执行efi文件的。
这里的bios可以指向/usr/share/qemu-efi-aarch64/QEMU_EFI.fd,也可以指向/usr/share/AAVMF下的fd。
这里的drive则是直接对应于你需要扫描的vfat盘分区。
下面这个就是实际跑的结果:
