我在我的 (Arch) Linux 系统上使用 QEmu 和 Windows 7 guest 虚拟机。我想使用 samba 与 Windows 来宾共享主机系统上的目录。我可以使用如下命令从终端执行此操作:
qemu-system-x86_64 /path/to/windows7.img -enable-kvm -net nic -net user,smb=/path/to/shared/directory -m 1024
但我现在已经设置了 libvirtd,并且我希望能够使用 virt-manager 启动 Windows 7。我是 libvirtd 的新手,并且在浏览文档时遇到了困难。我想我需要设置一个“网络文件系统池”(我在libvirt 文档),但我不明白是否可以通过 virt-manager 执行此操作,或者是否需要在命令行上执行此操作,或者需要在哪里添加该链接中描述的 XML。
我寻找过例子,但没有找到任何东西。我发现各种论坛帖子中有人询问如何做到这一点,所以我怀疑我不是唯一一个为此苦苦挣扎的人!
答案1
似乎 libvirt 不支持-net user,smb
qemu 命令(我猜是因为与其他虚拟机管理程序不兼容)。一种可能的解决方法是直接将参数传递给qemu-kvm
命令。
为此,您首先需要添加 XML 命名空间http://libvirt.org/schemas/domain/qemu/1.0到您的域。然后你可以使用<commandline>
该命名空间的标签:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
...
<qemu:commandline>
<qemu:arg value='-net'/>
<qemu:arg value='user,smb=/path/to/shared/directory'/>
</qemu:commandline>
</domain>
您可以通过运行轻松编辑 XML 配置
# virsh edit <vm-name>