我想尝试为EFI编程,所以我使用virtualbox创建了一个虚拟机,检查了#34;启用了efi"选项并将CD留空。 efi shell启动它应该怎么做但不是FS0我只看到BLK0,BLK1等。有没有办法让FS没有插入USB盘(显示为FS)?
编辑: 谢谢你的回复。对于仍然想要使用VB的人 - 使用Windows CD使用DISKPART格式化VB磁盘解决了这个问题。
答案 0 :(得分:7)
评论中的@unixsmurf答案是正确的。您的映像需要UEFI支持的文件系统。如果您在fsX
命令的输出中看不到map
,则表示非附加块设备(blkX
)包含受支持的文件系统。请在您的磁盘上创建FAT32分区,然后您将能够在fsX
输出中看到map
。要在文件系统之间切换,请使用类似DOS的语法命令ie。 fs0:
切换到FS0文件系统。
根据UEFI规范2.5第12.3节:
EFI包括将FAT32用于系统分区,FAT12或FAT16用于可移动 媒体。
我建议直接使用QEMU OVMF (Open Virtual Machine Firmware),而不是通过VirtualBox。为什么?
我写了beginners tutorial,帮助设置使用OVMF进行UEFI应用程序开发所需的开发环境。
有关OVMF的更多信息。