在QEMU上通过virtiofs将目录共享到Windows虚拟机中

[TOC]

环境准备

  • 一个已安装好Windows系统的虚拟机
  • 已下载好 WinFsp 软件包:windows的virtiofs驱动程序

安装

添加共享目录

按照下面步骤添加一个共享目录,这里示例共享的目录是/tmp/work

  1. Add Hardware
  2. Filesystem
    1. Driver:驱动选择 virtiofs
    2. Source path: 选择需要共享的目录,这里填的是/tmp/work
    3. Target path:选择共享名称,这里名字自定义,示例为:share
    4. Finsh 点击完成
  3. 点击Apply 应用配置,如果虚拟机是开着的,可能需要重启才能生效。


    添加共享目录

    xml添加方式如下:

<domain type="kvm">
...
<filesystem type="mount" accessmode="passthrough">
  <driver type="virtiofs"/>
  <binary path="/usr/lib/virtiofsd"/>
  <source dir="/tmp/work"/>
  <target dir="share"/>
</filesystem>
...
</domain>

添加后可以在系统设备管理器查看对应的设备,由于缺少驱动,所有显示未知的设备


系统设备管理器

安装WinFsp

在项目官网 https://winfsp.dev/rel/ 下载驱动包,将下载号的软件包拷贝到虚拟机。当然你的虚拟机能访问互联网的话,也可以在虚拟机中打开连接进行下载。

winfsp下载界面

下载后如果没有特殊需求的话,无脑下一步就可以了。
winfsp安装界面

设置winfsp为后台服务

使用系统管理员权限运行一个CMD命令提示符,并使用下面命令注册winfsp服务,注意下面的[安装路径]替换成你实际的路径,我的虚拟机是win10 32位的,部署在C:\Program Files\Virtio-Win\VioFS\virtiofs.exe.

C:\> sc create VirtioFsSvc binpath="[安装路径]\virtiofs.exe" start=auto depend="WinFsp.Launcher/VirtioFsDrv" DisplayName="Virtio FS Service"

下面命令是手动启动服务

C:\> sc start VirtioFsSvc

这时可以检查Windows系统的资源管理中查看多了一个名称叫share的本地磁盘 Z:
里面就是你在宿主机上共享的文件了。


image.png

:exclamation: 主机如果没有识别可能是驱动没有加载或配置未生效,可尝试关闭虚拟机后,再启动。

参考

https://virtio-fs.gitlab.io/howto-windows.html:virtio-fs使用教程
https://winfsp.dev/rel/:Windows驱动下载地址

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容