如何在 Linux 主机和 KVM 中的 Windows 客户机之间共享文件夹
创始人
2024-03-02 16:28:33
0

在本指南中,你将了解如何在 Linux 主机(例如使用 KVM 的 Fedora、Ubuntu 或 Linux Mint)下运行的 Windows 客户机之间共享文件夹。

virt-manager 应用(带有 libvirt)和软件包提供了一组灵活的工具来管理 Linux 中的虚拟机。它是自由开源的,用于 KVM 虚拟机和其他虚拟机管理程序。

在上一篇文章中,我解释了 如何在 Linux 客户机和 Linux 主机之间共享文件夹。然而,当你尝试使用 Windows 客户机和 Linux 主机创建共享文件夹时,这是一个有点困难和复杂的过程。因为两种操作系统的工作方式不同,需要进行大量配置。

按照下面提到的说明在 Windows 客户机和 Linux 主机之间共享文件夹。

关于 virtiofs 的说明

共享文件和文件夹由名为 virtiofs 的 libvirt 共享文件系统提供支持。它提供了访问主机上目录树的所有功能和参数。由于大多数 virt-manager 虚拟机配置都会转换为 XML,因此共享文件/文件夹也可以由 XML 文件指定。

注意:如果你正在寻求在两台 Linux 计算机(客户机和主机)之间使用 KVM 进行文件共享,请 阅读此文

使用 KVM 在 Windows 客户机和 Linux 主机之间共享文件夹

以下说明假设你已在任何 Linux 主机的 virt-manager 中安装了 Windows。如果没有,你可以阅读有关如何在 Linux 中安装 Windows 的完整指南。

在 virt-manager 中设置挂载标签

首先,确保你的客户虚拟机已关闭。从 virt-manager GUI 中,选择虚拟机并单击“ 打开 Open ”以调出控制台设置。

打开控制台设置

单击工具栏中显示虚拟硬件详细信息的图标。然后单击左侧面板上的“ 内存 Memory ”。

选择选项“ 启用共享内存 Enable shared memory ”。单击“ 应用 Apply ”。

确保 XML 在 XML 选项卡中显示 ,如下所示。


    
    
  

启用共享内存

单击底部的“ 添加硬件 Add hardware ”。

从添加新硬件窗口的左侧面板中选择“ 文件系统 Filesystem ”。

然后在详细信息选项卡中选择 “ 驱动 Driver ” 为 “virtiofs”。单击“ 浏览 browse > 浏览本地 browse local ”并从 Linux 系统中选择主机路径

在“ 目标路径 Target path ”中,输入你想要的任何名称。它只是一个文件标签,将在挂载过程中使用。目标路径中的此名称将作为 Windows 中的驱动器挂载,即资源管理器中的我的电脑。

我已添加 “linux_pictures” 作为目标挂载标签。

因此,如果我想访问图片文件夹(/home/debugpoint/Pictures),示例设置可能如下:

为 Windows 添加文件系统挂载

单击“ 完成 Finish ”。

上述配置的 XML 设置如下。你可以在 XML 选项卡中找到它。


  
  
  
  

在 virt-manager 主窗口中,右键单击 Windows 虚拟机,然后单击“ 运行 Run ”启动虚拟机。如果未显示虚拟机,请单击“显示图形控制台”(工具栏中的监视器图标)。

设置 WinFSP – 适用于 Windows 的 FUSE

确保 Windows 虚拟机(客户机)正在运行。

首先,我们需要安装 WinFSP(Windows File System Proxy)– FUSE for Windows。这使你能够毫无困难地挂载任何类 UNIX 文件系统。

从客户 Windows 计算机打开 WinFSP 的 GitHub 页面。

下载 WinFSP 安装程序

下载 WinFSP .msi 安装程序。

在 Windows 虚拟机上安装软件包。安装软件包时请确保选择 “Core”。完成安装。

WinFSP 设置

创建 VirtIO-FS 服务

进入 stable-virtio 文件夹,从以下地址下载 virtio-win-guest-tools.exe

下载 virtio-win-guest-tools

下载客户机工具

在 Windows 虚拟机上安装软件包。

Virtio-Win-driver 安装

安装完成后,重启 Windows 虚拟机。

重启后,在开始菜单中搜索打开“设备管理器”。

进入系统设备并查找 “VirtIO FS 设备”。它应该被识别并且驱动程序应该由 Red Hat 签名。

注意:(可选)如果你看到感叹号,即未检测到驱动程序,请按照 此处 说明下载 ISO 文件、安装它并手动检测驱动程序。

Make sure the Virt IO driver is signed and installed

打开开始菜单并搜索“服务”。

向下滚动找到 “VirtIO-FS Service”。右键单击并单击“开始”启动该服务。

或者,你可以以管理员身份从 PowerShell/命令提示符运行以下命令来启动服务。

sc create VirtioFsSvc binpath="C:\Program Files\Virtio-Win\VioFS\virtiofs.exe" start=auto depend="WinFsp.Launcher/VirtioFsDrv" DisplayName="Virtio FS Service"
sc start VirtioFsSvc

启动 Virt IO 服务

服务启动后,打开资源管理器,你应该看到你在上面第一步中创建的挂载标签,该标签应映射为 Z 驱动器。见下图。

挂载标签在 Windows 中映射为 Z 驱动器

你现在可以根据需要使用修改后的权限访问整个 Linux 文件夹。

以下是在 Linux Mint 和 Windows 客户虚拟机中访问的同一文件夹的并排比较。

总结

我希望你现在能够在 Windows 客户机和 Linux 主机系统之间共享文件夹。本文在 Linux Mint 中测试了上述方法。它应该也适用于 Ubuntu、Fedora。

如果上述方法有效,请在下面发表评论以造福他人。

参考

(题图:MJ/91c30453-5939-4368-b885-c4cb84e732bf)


via: https://www.debugpoint.com/kvm-share-folder-windows-guest/

作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

AI助力教育资源共享,“A...
三方合力,科技弥合城乡教育鸿沟,让乡村孩子共享 AI教育新未来 2...
2025-06-10 15:40:48
开源鸿蒙开发者大会2025...
5月24日,开源鸿蒙开发者大会2025(OHDC.2025)在深圳...
2025-05-30 14:10:26
JUC并发编程共享模型之内...
4.1 Java 内存模型 JMM 即 Java Memory M...
2025-05-30 10:23:35
16基于主从博弈理论的共享...
说明书 MATLAB代码:基于主从博弈理论的共享储能...
2025-05-30 03:30:42
保姆级教程!基于声网 We...
前言 大家好,我是 @小曾同学,...
2025-05-29 18:32:25
讲解Linux中samba...
♥️作者:小刘在C站 ♥️个人主页:小...
2025-05-28 23:09:22

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...