2026年5月5日 星期二

當使用VMware Workstation建立的VM無法使用共享資料夾時,該怎麼辦?

 一般來說,我們在VMware建立一個VM,只須在VM中安裝VMware Tools,應該可以使用共享資料夾的功能。共享資料夾可以成為VM和Host OS之間共享檔案,這個功能很重要。但是,偶而就是會出怪事,即使你安裝了VMware Tools,在Virtual Machine Settings...也把Shared Folder加上了,但是就是連不上,這該怎麼辦呢?以下是Gemini的回答:


這是在 VMware 上使用 Linux 虛擬機(尤其是像 Kubuntu 這種基於 Ubuntu 的發行版)時非常常見的問題。雖然 VMware Tools 已經安裝,但現代 Linux 系統通常不會在開機時自動執行掛載指令,或者掛載點沒有被正確建立。

你可以按照以下步驟排查並解決:

1. 確認核心模組是否運作

首先,確認系統是否有偵測到 VMware 的共享資料夾功能。請在 Kubuntu 的終端機執行:

Bash
lsmod | grep vmw_gfshg

如果沒有輸出,表示模組沒載入。不過通常安裝好 open-vm-tools 後,關鍵在於掛載指令。

2. 手動測試掛載

在自動化之前,我們先確認能不能手動掛載。請執行:

Bash
# 建立掛載點(如果還沒建立)
sudo mkdir -p /mnt/hgfs

# 執行掛載指令
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other

執行完後,檢查 /mnt/hgfs 資料夾。如果你看見了你在 Setting 中設定的資料夾名稱,那表示硬體與驅動層面是沒問題的,純粹是自動掛載失效。

3. 設定開機自動掛載

要讓它每次開機都自動出現,最穩定的做法是修改 /etc/fstab

  1. 使用編輯器開啟檔案:

    Bash
    sudo nano /etc/fstab
    
  2. 在檔案最後面加入這行:

    Plaintext
    .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
    
  3. 存檔離開(Nano 請按 Ctrl+OEnter,然後 Ctrl+X)。


為什麼會發生這種情況?

主要有幾個常見原因:

  • 套件衝突: 現在大多數 Linux 發行版建議使用官方開源的 open-vm-tools-desktop,而不是 VMware 選單裡那個舊版的「Install VMware Tools」ISO。如果你是手動執行 .pl 安裝檔,有時會與系統內建的驅動衝突。

  • 掛載點缺失: VMware Tools 預期掛載在 /mnt/hgfs,但 Ubuntu 體系的系統預設不會建立這個資料夾。

  • FUSE 權限: 共享資料夾是透過 FUSE 技術掛載的,如果沒有加上 allow_other 參數,有時候一般使用者權限會看不到內容。

小撇步

如果你發現 /mnt/hgfs 裡面是空的,但指令都沒報錯,可以試著在進入桌面後執行 vmware-user-suid-wrapper,這有助於初始化桌面環境下的共享服務。

通常完成 /etc/fstab 的修改並重啟後,問題就能徹底解決。


沒有留言:

張貼留言

用 Go 語言,使用 Gin 開發 Docker 的 Web 應用

我要做一個範例,請 Claude 幫我生成。 很簡單,使用Docker,用 GO 語言,儘量用 1.25 版。然後 Docker 基底可以使用 alpine 或 Ubuntu。Docker 有一個 volume,可以放 SQLite 資料庫。 然後用 Gin 寫一個 Web 應用...