You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行中Arch系主机QEMU/KVM Win10虚拟机文件交换问题求助

问题描述

  • 系统环境:基于Arch的Garuda Linux,Xfce桌面,硬件为Lenovo Thinkpad T480(i7 8核、32GB内存)
  • 操作流程:
    1. 安装QEMU与Virt-Manager:
      sudo pacman -S qemu virt-manager
      sudo systemctl start virtlogd.service
      sudo systemctl enable libvirtd.service
      sudo virsh net-start default
      sudo pacman -S ebtables dnsmasq
      
    2. 创建Windows 10虚拟机,分配4核、16GB内存,安装virtio-win-0.1.229.iso虚拟设备驱动
    3. 安装libguestfs-tools并挂载虚拟机镜像:
      sudo pacman -S libguestfs
      sudo mkdir /mnt/sda2
      sudo guestmount -a /var/lib/libvirt/images/win10.qcow2 -m /dev/sda2 /mnt/sda2
      
  • 遇到的问题:通过guestmount挂载镜像后,虚拟机无法启动(提示镜像被占用),需实现虚拟机运行时的主机与虚拟机目录互访。

可行的虚拟机运行时文件共享方法

1. 使用VirtioFS(推荐,性能最优)

这是QEMU/KVM官方推荐的高性能共享方案,适配Windows虚拟机:

  • 主机端操作:
    1. 在Virt-Manager中打开Win10虚拟机的设置,切换到**“磁盘”选项卡,点击“添加”**
    2. 选择**“文件系统”**类型,在“源路径”中选择主机需要共享的目录,“目标路径”填写自定义名称(如hostshare)
    3. 确保“驱动”选择virtiofs,保存设置后启动虚拟机
  • 虚拟机端操作:
    1. 打开设备管理器,找到“其他设备”下的未知设备,右键选择“更新驱动程序”
    2. 浏览到virtio-win-0.1.229.iso镜像中的virtiofs目录(对应Windows版本的子目录),完成驱动安装
    3. 安装完成后,打开“此电脑”即可看到共享的主机目录

2. 使用Virt-Manager自带的“共享文件夹”(基于Samba)

适合不需要极致性能的场景:

  • 主机端操作:
    1. 在Virt-Manager的虚拟机设置中,切换到**“共享文件夹”选项卡,点击“添加”**
    2. 设置共享名称、主机目录路径,勾选“自动挂载”和“启动时连接”
  • 虚拟机端操作:
    1. 打开Windows的“文件资源管理器”,在地址栏输入\\192.168.122.1\共享名称(192.168.122.1是默认的libvirt虚拟网关地址)
    2. 输入主机的用户名和密码即可访问,也可将该映射设置为网络驱动器

3. 关于guestmount的说明

guestmount是离线挂载虚拟机镜像的工具,挂载后镜像会被锁定,因此虚拟机无法启动——这不是权限问题,是工具本身的设计限制。如果需要用guestmount传输文件,必须先关闭虚拟机,操作完成后卸载镜像:

sudo guestunmount /mnt/sda2

内容的提问来源于stack exchange,提问作者Daniel Wulf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 01:27:30