如何在 Linux 主機和 KVM 中的 Windows 客戶機之間共享文件夾
virt-manager 應(yīng)用(帶有 libvirt)和軟件包提供了一組靈活的工具來管理 Linux 中的虛擬機。它是自由開源的,用于 KVM 虛擬機和其他虛擬機管理程序。
在上一篇文章中,我解釋了 如何在 Linux 客戶機和 Linux 主機之間共享文件夾。然而,當你嘗試使用 Windows 客戶機和 Linux 主機創(chuàng)建共享文件夾時,這是一個有點困難和復(fù)雜的過程。因為兩種操作系統(tǒng)的工作方式不同,需要進行大量配置。
按照下面提到的說明在 Windows 客戶機和 Linux 主機之間共享文件夾。
關(guān)于 virtiofs 的說明
共享文件和文件夾由名為 virtiofs 的 libvirt 共享文件系統(tǒng)提供支持。它提供了訪問主機上目錄樹的所有功能和參數(shù)。由于大多數(shù) virt-manager 虛擬機配置都會轉(zhuǎn)換為 XML,因此共享文件/文件夾也可以由 XML 文件指定。
注意:如果你正在尋求在兩臺 Linux 計算機(客戶機和主機)之間使用 KVM 進行文件共享,請 閱讀此文。
使用 KVM 在 Windows 客戶機和 Linux 主機之間共享文件夾
以下說明假設(shè)你已在任何 Linux 主機的 virt-manager 中安裝了 Windows。如果沒有,你可以閱讀有關(guān)如何在 Linux 中安裝 Windows 的完整指南。
在 virt-manager 中設(shè)置掛載標簽
首先,確保你的客戶虛擬機已關(guān)閉。從 virt-manager GUI 中,選擇虛擬機并單擊“打開Open”以調(diào)出控制臺設(shè)置。
打開控制臺設(shè)置
單擊工具欄中顯示虛擬硬件詳細信息的圖標。然后單擊左側(cè)面板上的“內(nèi)存Memory”。
選擇選項“啟用共享內(nèi)存Enable shared memory”。單擊“應(yīng)用Apply”。
確保 XML 在 XML 選項卡中顯示 <access mode="shared"/>
,如下所示。
<memoryBacking>
<source type="memfd"/>
<access mode="shared"/>
</memoryBacking>
啟用共享內(nèi)存
單擊底部的“添加硬件Add hardware”。
從添加新硬件窗口的左側(cè)面板中選擇“文件系統(tǒng)Filesystem”。
然后在詳細信息選項卡中選擇 “驅(qū)動Driver” 為 “virtiofs”。單擊“瀏覽browse > 瀏覽本地browse local”并從 Linux 系統(tǒng)中選擇主機路徑。
在“目標路徑Target path”中,輸入你想要的任何名稱。它只是一個文件標簽,將在掛載過程中使用。目標路徑中的此名稱將作為 Windows 中的驅(qū)動器掛載,即資源管理器中的我的電腦。
我已添加 “l(fā)inux_pictures” 作為目標掛載標簽。
因此,如果我想訪問圖片文件夾(/home/debugpoint/Pictures
),示例設(shè)置可能如下:
為 Windows 添加文件系統(tǒng)掛載
單擊“完成Finish”。
上述配置的 XML 設(shè)置如下。你可以在 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”啟動虛擬機。如果未顯示虛擬機,請單擊“顯示圖形控制臺”(工具欄中的監(jiān)視器圖標)。
設(shè)置 WinFSP – 適用于 Windows 的 FUSE
確保 Windows 虛擬機(客戶機)正在運行。
首先,我們需要安裝 WinFSP(Windows File System Proxy)– FUSE for Windows。這使你能夠毫無困難地掛載任何類 UNIX 文件系統(tǒng)。
從客戶 Windows 計算機打開 WinFSP 的 GitHub 頁面。
下載 WinFSP .msi 安裝程序。
在 Windows 虛擬機上安裝軟件包。安裝軟件包時請確保選擇 “Core”。完成安裝。
WinFSP 設(shè)置
創(chuàng)建 VirtIO-FS 服務(wù)
進入 stable-virtio
文件夾,從以下地址下載 virtio-win-guest-tools.exe
。
下載客戶機工具
在 Windows 虛擬機上安裝軟件包。
Virtio-Win-driver 安裝
安裝完成后,重啟 Windows 虛擬機。
重啟后,在開始菜單中搜索打開“設(shè)備管理器”。
進入系統(tǒng)設(shè)備并查找 “VirtIO FS 設(shè)備”。它應(yīng)該被識別并且驅(qū)動程序應(yīng)該由 Red Hat 簽名。
注意:(可選)如果你看到感嘆號,即未檢測到驅(qū)動程序,請按照 此處 說明下載 ISO 文件、安裝它并手動檢測驅(qū)動程序。
Make sure the Virt IO driver is signed and installed
打開開始菜單并搜索“服務(wù)”。
向下滾動找到 “VirtIO-FS Service”。右鍵單擊并單擊“開始”啟動該服務(wù)。
或者,你可以以管理員身份從 PowerShell/命令提示符運行以下命令來啟動服務(wù)。
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 服務(wù)
服務(wù)啟動后,打開資源管理器,你應(yīng)該看到你在上面第一步中創(chuàng)建的掛載標簽,該標簽應(yīng)映射為 Z 驅(qū)動器。見下圖。
掛載標簽在 Windows 中映射為 Z 驅(qū)動器
你現(xiàn)在可以根據(jù)需要使用修改后的權(quán)限訪問整個 Linux 文件夾。
以下是在 Linux Mint 和 Windows 客戶虛擬機中訪問的同一文件夾的并排比較。
訪問和共享 Windows 客戶機和 Linux 主機中的文件夾
總結(jié)
我希望你現(xiàn)在能夠在 Windows 客戶機和 Linux 主機系統(tǒng)之間共享文件夾。本文在 Linux Mint 中測試了上述方法。它應(yīng)該也適用于 Ubuntu、Fedora。
如果上述方法有效,請在下面發(fā)表評論以造福他人。