mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-23 21:20:42 +08:00
parent
cb13f32b57
commit
f5f58277c2
@ -3,18 +3,20 @@
|
||||
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
||||
[#]: collector: "lkxed"
|
||||
[#]: translator: "geekpi"
|
||||
[#]: reviewer: " "
|
||||
[#]: publisher: " "
|
||||
[#]: url: " "
|
||||
[#]: reviewer: "wxy"
|
||||
[#]: publisher: "wxy"
|
||||
[#]: url: "https://linux.cn/article-16023-1.html"
|
||||
|
||||
使用 virtiofs 在 KVM 中的 Windows 客户机和 Linux 主机之间共享文件夹
|
||||
如何在 Linux 主机和 KVM 中的 Windows 客户机之间共享文件夹
|
||||
======
|
||||
|
||||
**在本指南中,你将了解如何在 Linux 主机(例如使用 KVM 的 Fedora、Ubuntu 或 Linux Mint)下运行的 Windows 客户机之间共享文件夹。**
|
||||
![][0]
|
||||
|
||||
[virt-manager][1] 应用(带有 [libvirt][2])和软件包提供了一组灵活的工具来管理 Linux 中的虚拟机。它是免费且开源的,用于 KVM 虚拟机和其他虚拟机管理程序。
|
||||
> 在本指南中,你将了解如何在 Linux 主机(例如使用 KVM 的 Fedora、Ubuntu 或 Linux Mint)下运行的 Windows 客户机之间共享文件夹。
|
||||
|
||||
在上一篇文章中,我解释了[如何在 Linux 客户机和 Linux 主机之间共享文件夹][3]。然而,当你尝试使用 Windows 客户机和 Linux 主机创建共享文件夹时,这是一个有点困难和复杂的过程。因为两种操作系统的工作方式不同,需要进行大量配置。
|
||||
[virt-manager][1] 应用(带有 [libvirt][2])和软件包提供了一组灵活的工具来管理 Linux 中的虚拟机。它是自由开源的,用于 KVM 虚拟机和其他虚拟机管理程序。
|
||||
|
||||
在上一篇文章中,我解释了 [如何在 Linux 客户机和 Linux 主机之间共享文件夹][3]。然而,当你尝试使用 Windows 客户机和 Linux 主机创建共享文件夹时,这是一个有点困难和复杂的过程。因为两种操作系统的工作方式不同,需要进行大量配置。
|
||||
|
||||
按照下面提到的说明在 Windows 客户机和 Linux 主机之间共享文件夹。
|
||||
|
||||
@ -22,7 +24,7 @@
|
||||
|
||||
共享文件和文件夹由名为 virtiofs 的 libvirt 共享文件系统提供支持。它提供了访问主机上目录树的所有功能和参数。由于大多数 virt-manager 虚拟机配置都会转换为 XML,因此共享文件/文件夹也可以由 XML 文件指定。
|
||||
|
||||
注意:如果你正在寻求在**两台 Linux 计算机**(客户机和主机)之间使用 KVM 进行文件共享,请[阅读本文][3]。
|
||||
注意:如果你正在寻求在**两台 Linux 计算机**(客户机和主机)之间使用 KVM 进行文件共享,请 [阅读此文][3]。
|
||||
|
||||
### 使用 KVM 在 Windows 客户机和 Linux 主机之间共享文件夹
|
||||
|
||||
@ -30,13 +32,15 @@
|
||||
|
||||
#### 在 virt-manager 中设置挂载标签
|
||||
|
||||
- 首先,确保你的客户虚拟机已关闭。从 virt-manager GUI 中,选择虚拟机并单击“打开”以调出控制台设置。
|
||||
首先,确保你的客户虚拟机已关闭。从 virt-manager GUI 中,选择虚拟机并单击“<ruby>打开<rt>Open</rt></ruby>”以调出控制台设置。
|
||||
|
||||
![打开控制台设置][4]
|
||||
|
||||
- 单击工具栏中显示虚拟硬件详细信息的图标。然后单击左侧面板上的“**内存**”。
|
||||
- 选择选项“**启用共享内存**”。单击“应用”。
|
||||
- 确保 XML 在 XML 选项卡中显示 “access mode=shared”,如下所示。
|
||||
单击工具栏中显示虚拟硬件详细信息的图标。然后单击左侧面板上的“<ruby>内存<rt>Memory</rt></ruby>”。
|
||||
|
||||
选择选项“<ruby>启用共享内存<rt>Enable shared memory</rt></ruby>”。单击“<ruby>应用<rt>Apply</rt></ruby>”。
|
||||
|
||||
确保 XML 在 XML 选项卡中显示 `<access mode="shared"/>`,如下所示。
|
||||
|
||||
```
|
||||
<memoryBacking>
|
||||
@ -47,17 +51,22 @@
|
||||
|
||||
![启用共享内存][5]
|
||||
|
||||
- 单击底部的“添加硬件”。
|
||||
单击底部的“<ruby>添加硬件<rt>Add hardware</rt></ruby>”。
|
||||
|
||||
- 从添加新硬件窗口的左侧面板中选择“**文件系统**”。
|
||||
- 然后在详细信息选项卡中选择 **Driver=virtiofs**。单击`浏览 > 浏览本地`并从 Linux 系统中**选择主机路径**。
|
||||
- 在目标路径中,输入你想要的任何名称。它只是一个文件标签,将在挂载过程中使用。目标路径中的此名称将作为 Windows 中的驱动器挂载,即资源管理器中的我的电脑。
|
||||
- 我已添加 “linux_pictures” 作为目标挂载标签。
|
||||
- 因此,如果我想访问图片文件夹(`/home/debugpoint/Pictures`),示例设置可能如下:
|
||||
- 单击“完成”。
|
||||
从添加新硬件窗口的左侧面板中选择“<ruby>文件系统<rt>Filesystem</rt></ruby>”。
|
||||
|
||||
然后在详细信息选项卡中选择 “<ruby>驱动<rt>Driver</rt></ruby>” 为 “virtiofs”。单击“<ruby>浏览<rt>browse</rt></ruby> > <ruby>浏览本地<rt>browse local</rt></ruby>”并从 Linux 系统中**选择主机路径**。
|
||||
|
||||
在“<ruby>目标路径<rt>Target path</rt></ruby>”中,输入你想要的任何名称。它只是一个文件标签,将在挂载过程中使用。目标路径中的此名称将作为 Windows 中的驱动器挂载,即资源管理器中的我的电脑。
|
||||
|
||||
我已添加 “linux_pictures” 作为目标挂载标签。
|
||||
|
||||
因此,如果我想访问图片文件夹(`/home/debugpoint/Pictures`),示例设置可能如下:
|
||||
|
||||
![为 Windows 添加文件系统挂载][6]
|
||||
|
||||
单击“<ruby>完成<rt>Finish</rt></ruby>”。
|
||||
|
||||
上述配置的 XML 设置如下。你可以在 XML 选项卡中找到它。
|
||||
|
||||
```
|
||||
@ -69,44 +78,51 @@
|
||||
</filesystem>
|
||||
```
|
||||
|
||||
在 virt-manager 主窗口中,右键单击 Windows 虚拟机,然后单击“运行”启动虚拟机。如果未显示虚拟机,请单击“显示图形控制台”(工具栏中的监视器图标)。
|
||||
在 virt-manager 主窗口中,右键单击 Windows 虚拟机,然后单击“<ruby>运行<rt>Run</rt></ruby>”启动虚拟机。如果未显示虚拟机,请单击“显示图形控制台”(工具栏中的监视器图标)。
|
||||
|
||||
#### 设置 WinFSP – 适用于 Windows 的 FUSE
|
||||
|
||||
确保 Windows 虚拟机(客户机)正在运行。
|
||||
|
||||
- 首先,我们需要安装 WinFSP 或称为 Windows File System Proxy – FUSE for Windows。这使你能够毫无困难地挂载任何类 UNIX 文件系统。
|
||||
- 从客户** Windows 计算机**打开 WinFSP GitHub 中的以下页面。
|
||||
- 下载 WinFSP .msi 安装程序。
|
||||
首先,我们需要安装 WinFSP(Windows File System Proxy)– FUSE for Windows。这使你能够毫无困难地挂载任何类 UNIX 文件系统。
|
||||
|
||||
[下载 WinFSP 安装程序][7]
|
||||
从客户 Windows 计算机打开 WinFSP 的 GitHub 页面。
|
||||
|
||||
- 在 Windows 虚拟机上安装软件包。安装软件包时请确保选择 “Core”。完成安装。
|
||||
> **[下载 WinFSP 安装程序][7]**
|
||||
|
||||
下载 WinFSP .msi 安装程序。
|
||||
|
||||
在 Windows 虚拟机上安装软件包。安装软件包时请确保选择 “Core”。完成安装。
|
||||
|
||||
![WinFSP 设置][8]
|
||||
|
||||
#### 创建 VirtIO-FS 服务
|
||||
|
||||
- 进入 **stable-virtio** 文件夹,从以下地址下载 **virtio-win-guest-tools.exe**。
|
||||
进入 `stable-virtio` 文件夹,从以下地址下载 `virtio-win-guest-tools.exe`。
|
||||
|
||||
[下载 virtio-win-guest-tools][9]
|
||||
> **[下载 virtio-win-guest-tools][9]**
|
||||
|
||||
![下载客户机工具][10]
|
||||
|
||||
- 在 Windows 虚拟机上安装软件包。
|
||||
在 Windows 虚拟机上安装软件包。
|
||||
|
||||
![Virtio-Win-driver 安装][11]
|
||||
|
||||
- 安装完成后,**重启** Windows 虚拟机。
|
||||
- 重启后,在开始菜单中搜索打开“设备管理器”。
|
||||
- 进入系统设备并查找 “VirtIO FS 设备”。它应该被识别并且驱动程序应该由 Red Hat 签名。
|
||||
- **注意**:(可选)如果你看到感叹号,即未检测到驱动程序,请按照[此处][12]说明如何下载 ISO 文件、安装它并手动检测驱动程序。
|
||||
安装完成后,**重启** Windows 虚拟机。
|
||||
|
||||
重启后,在开始菜单中搜索打开“设备管理器”。
|
||||
|
||||
进入系统设备并查找 “VirtIO FS 设备”。它应该被识别并且驱动程序应该由 Red Hat 签名。
|
||||
|
||||
**注意**:(可选)如果你看到感叹号,即未检测到驱动程序,请按照 [此处][12] 说明下载 ISO 文件、安装它并手动检测驱动程序。
|
||||
|
||||
![Make sure the Virt IO driver is signed and installed][13]
|
||||
|
||||
- 打开开始菜单并搜索“服务”。
|
||||
- 向下滚动找到 “VirtIO-FS Service”。右键单击并单击“开始”启动该服务。
|
||||
- 或者,你可以以管理员身份从 PowerShell/命令提示符运行以下命令来启动服务。
|
||||
打开开始菜单并搜索“服务”。
|
||||
|
||||
向下滚动找到 “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"
|
||||
@ -118,11 +134,12 @@ sc start VirtioFsSvc
|
||||
|
||||
![启动 Virt IO 服务][14]
|
||||
|
||||
- 服务启动后,打开资源管理器,你应该看到你在上面第一步中创建的挂载标签,该标签应映射为 Z 驱动器。见下图。
|
||||
- 你现在可以根据需要使用修改后的权限访问整个 Linux 文件夹。
|
||||
服务启动后,打开资源管理器,你应该看到你在上面第一步中创建的挂载标签,该标签应映射为 Z 驱动器。见下图。
|
||||
|
||||
![挂载标签在 Windows 中映射为 Z 驱动器][15]
|
||||
|
||||
你现在可以根据需要使用修改后的权限访问整个 Linux 文件夹。
|
||||
|
||||
以下是在 Linux Mint 和 Windows 客户虚拟机中访问的同一文件夹的并排比较。
|
||||
|
||||
![访问和共享 Windows 客户机和 Linux 主机中的文件夹][16]
|
||||
@ -133,13 +150,15 @@ sc start VirtioFsSvc
|
||||
|
||||
如果上述方法有效,请在下面发表评论以造福他人。
|
||||
|
||||
**_参考_**
|
||||
### 参考
|
||||
|
||||
- [https://virtio-fs.gitlab.io/howto-windows.html][12]
|
||||
- [https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/][17]
|
||||
- [https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md][18]
|
||||
- [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/473][19]
|
||||
|
||||
*(题图:MJ/91c30453-5939-4368-b885-c4cb84e732bf)*
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.debugpoint.com/kvm-share-folder-windows-guest/
|
||||
@ -147,7 +166,7 @@ via: https://www.debugpoint.com/kvm-share-folder-windows-guest/
|
||||
作者:[Arindam][a]
|
||||
选题:[lkxed][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
@ -171,4 +190,5 @@ via: https://www.debugpoint.com/kvm-share-folder-windows-guest/
|
||||
[16]: https://www.debugpoint.com/wp-content/uploads/2023/06/Access-and-share-folder-in-Windows-guest-and-Linux-host-2048x1280.jpg
|
||||
[17]: https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/
|
||||
[18]: https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md
|
||||
[19]: https://github.com/virtio-win/kvm-guest-drivers-windows/issues/473
|
||||
[19]: https://github.com/virtio-win/kvm-guest-drivers-windows/issues/473
|
||||
[0]: https://img.linux.net.cn/data/attachment/album/202307/22/155908ypin2xpzoxsrsx4n.jpg
|
Loading…
Reference in New Issue
Block a user