Qemu 共享文件夹 - 9pnet_virtio:没有可用于设备的通道

jks*_*jks 5 linux virtualization qemu virtio

我尝试运行一个 qemu 虚拟机,该虚拟机具有与主机共享的文件夹。无论我做什么,我总是犯同样的错误:9pnet_virtio: no channels available for device share.

主机在Linux下。

内核编译时启用了所有 9P 和 virtio 选项(https://wiki.qemu.org/Documentation/9psetup)。

这是我运行 qemu 的脚本:

#! /bin/bash

HDA=archlinux.img
HDB=myHome.img
KERNEL=linux/arch/x86/boot/bzImage

if [ -n "${KDB}" ]; then
    KGD_WAIT='kgdbwait'
fi

CMDLINE="root=/dev/sda1 rw vga=792 console=ttyS0 kgdboc=ttyS1 ${KGD_WAIT}"

FLAGS="--enable-kvm -s"
VIRTFS+=" --virtfs local,path=./share/,mount_tag=share,security_model=passthrough,id=share "

exec qemu-system-x86_64 ${FLAGS} \
     -hda "${HDA}" -hdb "${HDB}" \
     ${VIRTFS} \
     -net user -net nic \
     -serial stdio -serial tcp::1234,server,nowait \
     -boot c -m 1G \
     -kernel "${KERNEL}" -append "${CMDLINE}"
Run Code Online (Sandbox Code Playgroud)

当我手动挂载文件夹时(https://www.linux-kvm.org/page/9p_virtio

mkdir share_folder
mount -t 9p -o trans=virtio,version=9p2000.L share share_folder
Run Code Online (Sandbox Code Playgroud)

结果是一样的。

小智 0

就我而言,由于缺少virtio_pci模块而失败,我用以下方法修复了它:

modprobe virtio_pci