快轉到主要內容

VirtIO-FS:Linux與Windows虛擬機共享資料夾設定方式(QEMU/KVM)

分類   資訊科技 虛擬機與容器技術
標籤   QEMU Windows VirtIO
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

本文討論如何在安裝好Virt Manager + QEMU/KVM之後,給Linux宿主機與Windows虛擬機設定共享資料夾。

Virt Manager內建兩種目錄共享方式:

  • VirtIO-FS:半虛擬化的目錄共享
  • VirtIO-9P:移植自Plan 9的半虛擬化網路檔案系統

VirtIO-FS是專為分享本機檔案系統打造的半虛擬化技術,原理圖如下:

論效能,VirtIO-FS檔案的傳輸速度高於網路檔案系統(例如SSHFS、SAMBA、NFS、VirtIO-9P、WebDAV),低於PCI-E硬碟直通。

不論是Windows還是Linux虛擬機,都可以使用VirtIO與宿主機共享檔案。

測試環境
#

  • 宿主機系統:Ubuntu 24.04
  • 虛擬機系統:Windows 11 23H2
  • QEMU版本:6.0
  • VirtIO驅動版本:0.1.24

1. 安裝QEMU/KVM與Virt Manager
#

VirtIO-FS所需要的virtiofsd可以交給Libvirtd自動啟動。

請安裝套件:sudo apt install virtiofsd

然後參見 Ubuntu安裝Virt Manager

接著 設定Windows 11虛擬機

2. 新增VirtIO-FS共享目錄
#

  1. 編輯虛擬機硬體,在分配記憶體的選單,點選啟用共享記憶體(Enable Shared Memory)

  2. 點選新增硬體 → 檔案系統,驅動程式選virtios-fs,源路徑選取要分享的Linux目錄(例如/home/user/下載),目標路徑隨意填寫host_shared

3. 虛擬機內的操作
#

Windows虛擬機
#

  1. 安裝 WinFSP,這個軟體可以在Windows模擬FUSE檔案系統。

  2. 安裝Stable分支的 virtio驅動,下載virtio-win-guest-tools.exe並安裝

  3. 重新啟動Windows虛擬機

  4. 搜尋並開啟Windows「服務」視窗,設定自動啟動VirtIO-FS Service。再點選啟動。

  5. 這樣virtio-fs共享的資料夾應該就會出現在檔案總管的磁碟列表了。

Linux虛擬機
#

需要Linux 5.4以上核心才支援VirtIO-FS。

Linux虛擬機內可以直接用mount指令掛載VirtIO FS的目錄。

上面我們在Virt Manager填寫的目標路徑是host_shared,那麼我們使用以下指令將其掛載到Linux虛擬機的/mnt/host_shared目錄。

sudo mkdir /mnt/host_shared

sudo mount -t virtiofs host_shared /mnt/host_shared

參考資料
#

相關文章

Linux QEMU/KVM透過virglrenderer啟用虛擬機3D加速,免GPU直通
分類   資訊科技 虛擬機與容器技術
標籤   VirGL QEMU VirtIO
qemu-3dfx,給Windows XP/Windows 98虛擬機啟用3D加速
分類   資訊科技 虛擬機與容器技術
標籤   Windows QEMU
Ubuntu:Nvidia GPU直通給Windows虛擬機 + Looking Glass安裝教學
分類   資訊科技 虛擬機與容器技術
標籤   GPU Passthrough PCI Passthrough Ubuntu QEMU Windows

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。