我想尝试为 EFI 编程,所以我使用 virtualbox 创建了一个 VM,选中“启用 efi”选项并将 CD 留空。efi shell 以它应该的方式启动,但我只看到 BLK0、BLK1 等而不是 FS0。有没有办法在不插入 USB 磁盘(显示为 FS)的情况下拥有 FS?
编辑:感谢您的回复。对于仍然想使用 VB 的人 - 使用 Windows CD 用 DISKPART 格式化 VB 磁盘解决了这个问题。
我想尝试为 EFI 编程,所以我使用 virtualbox 创建了一个 VM,选中“启用 efi”选项并将 CD 留空。efi shell 以它应该的方式启动,但我只看到 BLK0、BLK1 等而不是 FS0。有没有办法在不插入 USB 磁盘(显示为 FS)的情况下拥有 FS?
编辑:感谢您的回复。对于仍然想使用 VB 的人 - 使用 Windows CD 用 DISKPART 格式化 VB 磁盘解决了这个问题。
@unixsmurf 在评论中的回答是正确的。您的图像需要 UEFI 支持的文件系统。fsX
如果您在命令的输出中看不到,map
则表示未连接的块设备 ( blkX
) 包含受支持的文件系统。请在您的磁盘上创建 FAT32 分区,然后您将能够fsX
在map
输出中看到。要在文件系统之间切换,请使用类似 DOS 的语法命令,即。fs0:
切换到 FS0 文件系统。
根据 UEFI 规范 2.5 第 12.3 节:
EFI 包括将 FAT32 用于系统分区,将 FAT12 或 FAT16 用于可移动媒体。
我建议直接将OVMF(开放虚拟机固件)与 QEMU 一起使用,而不是通过 VirtualBox。为什么 ?
我编写了初学者教程,帮助设置使用 OVMF 进行 UEFI 应用程序开发所需的开发环境。
更多关于OVMF的信息。