VMware Workstation/Fusion 分別是 Windows/Linux 和 macOS 下麵對應的桌面虛擬化軟體。過去,在 VMware 中安裝了操作系統虛擬機後,需要在虛擬機中再安裝 VMware Tools 增強工具用來實現宿主機和虛擬機之間的文件共用、虛擬機顯示解析度自適應調節 ...
VMware Workstation/Fusion 分別是 Windows/Linux 和 macOS 下麵對應的桌面虛擬化軟體。過去,在 VMware 中安裝了操作系統虛擬機後,需要在虛擬機中再安裝 VMware Tools 增強工具用來實現宿主機和虛擬機之間的文件共用、虛擬機顯示解析度自適應調節、虛擬機顯示能力增強及 3D 加速等功能。但隨著 Linux 系統內核及周邊環境的不斷發展,目前 VMware 已經不再推薦在 Linux 虛擬機中安裝 VMware 官方的增強工具了,轉而推薦用戶使用 Open VM Tools。Open VM Tools 是 VMware 將自己原有的虛擬機增強工具(VMware Tools)大部分開源後由社區來繼續開發完善形成的 Linux 開源虛擬機環境增強工具包,不僅支持 VMware 虛擬化環境架構,也能支持 Parallels 虛擬化環境架構(類似 VMware 的另一款商業桌面虛擬化產品),以後也可能會支持諸如 KVM/Xen 等虛擬化架構。Open VM Tools 可以隨 Linux 內核的升級而保持最新版本支持,徹底解決過去 VMware 升級過慢,跟不上 Linux 內核及周邊相關軟體升級節奏導致虛擬機增強效果消失的問題(有時需要用戶自己對 VMware Tools 源代碼打補丁重新編譯安裝,非常繁瑣)。
這裡以 macOS 環境下的 VMware Fusion 為例,安裝 Fedora 24 Linux 後,預設情況下 Fedora 就已經安裝好了 Open VM Tools 了,可以通過以下命令查看:
$ rpm -qa | grep open-vm
如果已安裝了 Open VM Tools,會返回如下信息:
open-vm-tools-desktop-10.0.5-4.fc24.x86_64 open-vm-tools-10.0.5-4.fc24.x86_64
如果發現系統中沒有安裝 Open VM Tools,可以用如下命令來安裝:
# dnf install open-vm*
安裝好 Open VM Tools 後,虛擬機的顯示增強、3D 加速、解析度自適應調節等都已具備了,但是虛擬機與宿主機之間的文件共用功能預設並沒有開啟,即使你在宿主機中配置了文件共用功能並啟用。其實 Open VM Tools 是支持 VMware 自己的 hgfs 文件共用系統的,但需要手動在虛擬機中執行相關命令並做少量配置才行。這裡我的思路是在開機自啟動腳本 /etc/rc.d/rc.local 中加入共用文件掛載命令,從而實現開機後文件共用自動可用。使用如下命令編輯自啟動腳本:
# vi /etc/rc.d/rc.local
在裡面加入如下內容:
#!/bin/bash
vmhgfs-fuse -o allow_other .host:/$(vmware-hgfsclient) /mnt/hgfs
然後確保 /etc/rc.d/rc.local 具備可執行許可權:
# chmod a+x /etc/rc.d/rc.local
重啟虛擬機系統後就會發現共用文件夾已經自動掛載到 /mnt/hgfs 目錄了。這裡由於用到了 Open VM Tools 提供的一個 vmware-hgfsclient 命令,所以可以自動識別發現你所設置的 VMware 共用文件夾名稱,不需要自己在掛載命令中指定(當然,你要自己在命令中指定也可以)。掛載成功後,我們用 mount 命令查看一下當前所有掛載的文件系統和相關目錄:
$ mount
會發現反饋結果中有這麼一行:
vmhgfs-fuse on /mnt/hgfs type fuse.vmhgfs-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
這說明,我們其實也可以用 mount 命令來掛載 VMware 的共用文件夾,只不過共用文件系統的名字要指定為 fuse.vmhgfs-fuse,這個在 Open VM Tools 的文檔中並沒有直接提及而已。