qemu的virtio-blk的drive参数可以设置为什么

时间:2018-08-16 18:09:55

标签: qemu pci

我正在尝试使用virtio磁盘控制器启动qemu,它说:

qemu-system-x86_64 -S -gdb tcp::9000 --nographic --enable-kvm -cpu host -m 8192 -device virtio-blk-pci,drive=c,scsi=off -drive file=hard.disk,if=virtio,format=raw -fda floppy.img                                                           
qemu-system-x86_64: -device virtio-blk-pci,drive=c,scsi=off: Property 'virtio-blk-device.drive' can't find value 'c'   

我使用-device参数的原因是,我已经在-drive上尝试过if = virtio,但是当我扫描PCI设备时,没有显示virtio块设备。

我正在从头开始编写自己的操作系统。

如何使该virtio PCI设备出现?

1 个答案:

答案 0 :(得分:1)

-device的驱动器选项应设置为使用-drive创建的驱动器的ID:

-drive id = mydrive,file = foo.img,... -device virtio-blk-pci,drive = mydrive,...

这是带有QEMU选项的常见模式。

PS:如果通过“给驱动器创建ID并在-device选项中指定它的名称”将使用-drive创建的驱动器连接到设备,则您不想传递if = virtio。 (“ if = virtio”表示“尝试将该驱动器自动连接到virtio接口”,并且QEMU会抱怨您已要求其将驱动器连接两次,一次自动连接,一次明确连接。)