天天看點

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

作者:硬核老王
技術 | 如何在 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”以調出控制台設定。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

單擊工具欄中顯示虛拟硬體詳細資訊的圖示。然後單擊左側面闆上的“記憶體Memory”。

選擇選項“啟用共享記憶體Enable shared memory”。單擊“應用Apply”。

確定 XML 在 XML 頁籤中顯示 ,如下所示。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

單擊底部的“新增硬體Add hardware”。

從添加新硬體視窗的左側面闆中選擇“檔案系統Filesystem”。

然後在詳細資訊頁籤中選擇 “驅動Driver” 為 “virtiofs”。單擊“浏覽browse > 浏覽本地browse local”并從 Linux 系統中選擇主機路徑。

在“目标路徑Target path”中,輸入你想要的任何名稱。它隻是一個檔案标簽,将在挂載過程中使用。目标路徑中的此名稱将作為 Windows 中的驅動器挂載,即資料總管中的我的電腦。

我已添加 “linux_pictures” 作為目标挂載标簽。

是以,如果我想通路圖檔檔案夾(

/home/debugpoint/Pictures

),示例設定可能如下:

技術 | 如何在 Linux 主機和 KVM 中的 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”。完成安裝。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

建立 VirtIO-FS 服務

進入

stable-virtio

檔案夾,從以下位址下載下傳

virtio-win-guest-tools.exe

下載下傳 virtio-win-guest-tools
技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

在 Windows 虛拟機上安裝軟體包。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

安裝完成後,重新開機Windows 虛拟機。

重新開機後,在開始菜單中搜尋打開“裝置管理器”。

進入系統裝置并查找 “VirtIO FS 裝置”。它應該被識别并且驅動程式應該由 Red Hat 簽名。

注意:(可選)如果你看到感歎号,即未檢測到驅動程式,請按照此處說明下載下傳 ISO 檔案、安裝它并手動檢測驅動程式。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

打開開始菜單并搜尋“服務”。

向下滾動找到 “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
           
技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

服務啟動後,打開資料總管,你應該看到你在上面第一步中建立的挂載标簽,該标簽應映射為 Z 驅動器。見下圖。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

你現在可以根據需要使用修改後的權限通路整個 Linux 檔案夾。

以下是在 Linux Mint 和 Windows 客戶虛拟機中通路的同一檔案夾的并排比較。

技術 | 如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享檔案夾

總結

我希望你現在能夠在 Windows 客戶機和 Linux 主機系統之間共享檔案夾。本文在 Linux Mint 中測試了上述方法。它應該也适用于 Ubuntu、Fedora。

如果上述方法有效,請在下面發表評論以造福他人。

參考

  • https://virtio-fs.gitlab.io/howto-windows.html
  • https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/
  • https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md
  • https://github.com/virtio-win/kvm-guest-drivers-windows/issues/473

(題圖:MJ/91c30453-5939-4368-b885-c4cb84e732bf)

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

作者:Arindam選題:lkxed譯者:geekpi校對:wxy

本文由 LCTT原創編譯,Linux中國榮譽推出

繼續閱讀