将块设备传递给 Qemu

max*_*zig 9 block-device qemu

像这样将块设备传递给 Qemu 3.0.1 可以工作,但会产生弃用警告:

-blockdev file,node-name=f1,filename=/dev/loop0 \
-blockdev raw,node-name=q1,file=f1 \
-device virtio-blk,drive=q1
Run Code Online (Sandbox Code Playgroud)

警告:

qemu-system-x86_64: -blockdev file,node-name=f1,filename=/dev/loop0: 
  warning: Opening a block device as a file using the 'file' driver
    is deprecated
Run Code Online (Sandbox Code Playgroud)

很公平,但是如何在不使用“文件”驱动程序的情况下将块设备传递给 qemu?

Ste*_*itt 12

你应该host_device代替,这是无可否认的困难,因为它没有记录。

在您的情况下,未弃用的选项是

-blockdev node-name=q1,driver=raw,file.driver=host_device,file.filename=/dev/loop0 \
-device virtio-blk,drive=q1
Run Code Online (Sandbox Code Playgroud)