Linux中國

如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享文件夾

在本指南中,你將了解如何在 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 選項卡中顯示 <access mode="shared"/>,如下所示。

<memoryBacking>
    <source type="memfd"/>
    <access mode="shared"/>
  </memoryBacking>

啟用共享內存

單擊底部的「 添加硬體 Add hardware 」。

從添加新硬體窗口的左側面板中選擇「 文件系統 Filesystem 」。

然後在詳細信息選項卡中選擇 「 驅動 Driver 」 為 「virtiofs」。單擊「 瀏覽 browse > 瀏覽本地 browse local 」並從 Linux 系統中選擇主機路徑

在「 目標路徑 Target path 」中,輸入你想要的任何名稱。它只是一個文件標籤,將在掛載過程中使用。目標路徑中的此名稱將作為 Windows 中的驅動器掛載,即資源管理器中的我的電腦。

我已添加 「linux_pictures」 作為目標掛載標籤。

因此,如果我想訪問圖片文件夾(/home/debugpoint/Pictures),示例設置可能如下:

為 Windows 添加文件系統掛載

單擊「 完成 Finish 」。

上述配置的 XML 設置如下。你可以在 XML 選項卡中找到它。

<filesystem type="mount" accessmode="passthrough">
  <driver type="virtiofs"/>
  <source dir="/home/debugpoint/Pictures"/>
  <target dir="linux_pictures"/>
  <address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</filesystem>

在 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 FilesVirtio-WinVioFSvirtiofs.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 主機中的文件夾

總結

我希望你現在能夠在 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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國