我正在尝试让我的驱动器显示在 QEMU 客户虚拟 Linux 机中。
期望的行为:
$ ls /dev/disk/by-id/
ata-CT1000MX500SSD4_XXXXXX
当前行为不返回任何内容:
$ ls /dev/disk/by-id/
以下是我创建磁盘映像的方法:
qemu-img create -f raw disk1.img 20G
下面是我启动 VM 来引导 archlive iso 的方法:
qemu-system-x86_64 \
-m 12G \
-boot d \
-enable-kvm \
-cpu host \
-smp 2 \
-net nic \
-net user,hostfwd=tcp::2222-:22 \
-vga virtio \
-drive format=raw,file=disk1.img,index=0,if=virtio \
-drive file=${HOME}/dl/iso/arch.iso,index=1,media=cdrom,readonly \
-drive if=pflash,format=raw,readonly,file=/usr/share/edk2-ovmf/x64/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=uefi_vars.fd
我尝试修改驱动器 .img 驱动器条目并添加serial=001
如下内容:
-drive format=raw,file=disk1.img,index=0,serial=001,if=virtio \
但这会返回错误:
qemu-system-x86_64: -drive format=raw,file=disk1.img,index=0,serial=001,if=virtio: Block format 'raw' does not support the option 'serial'
所以我的问题在于我使用原始格式吗?
如果可以的话,什么格式可以?
您能告诉我如何更改命令以允许虚拟机中使用 UUID 吗?
编辑:我尝试使用 .qcow2 构建虚拟机并使用,format=qcow2
但收到相同的错误消息: format 'qcow2' does not support the option 'serial'
答案1
我有一个相当新的 qemu 版本,但是这个最终对我有用:
sudo ./qemu/build/ppc64-softmmu/qemu-system-ppc64 \
-m 2G -M pseries-2.12,accel=kvm -nographic -vga none -smp 4 \
-blockdev filename=/scratch/libvirt/sle15sp2.qcow2,node-name=storage,driver=file \
-blockdev driver=qcow2,file=storage,node-name=disk \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=disk,id=virtio-disk0,bootindex=1
遗憾的是我不能告诉你为什么这有效。