EFI Shell中没有FS0

时间:2015-12-15 20:49:36

标签: virtualbox fs uefi

我想尝试为EFI编程,所以我使用virtualbox创建了一个虚拟机,检查了#34;启用了efi"选项并将CD留空。 efi shell启动它应该怎么做但不是FS0我只看到BLK0,BLK1等。有没有办法让FS没有插入USB盘(显示为FS)?

编辑: 谢谢你的回复。对于仍然想要使用VB的人 - 使用Windows CD使用DISKPART格式化VB磁盘解决了这个问题。

1 个答案:

答案 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。为什么?

  • 因为你可以破解OVMF并了解它如何在内部工作,这可以让你更好地理解,VirtualBox隐藏内部,我不确定它是否允许固件更换
  • OVMF最初是为QEMU开发的,它由各种其他虚拟机调整,因为在QEMU上有更多的OVMF支持,然后是VirtualBox上的OVMF
  • 使用QEMU还可以模拟您的硬件并在使用它的UEFI中编写驱动程序/应用程序

我写了beginners tutorial,帮助设置使用OVMF进行UEFI应用程序开发所需的开发环境。

有关OVMF的更多信息。