
1. 項目概述為什么我們需要VMware Tools如果你在VMware Workstation或Fusion里跑過Ubuntu虛擬機大概率遇到過屏幕分辨率怎么調都別扭、鼠標移動卡頓、文件沒法在主機和虛擬機之間直接拖拽的情況。這些看似細碎的問題根源往往在于虛擬機缺少了一套關鍵的“驅動”和“服務”——那就是VMware Tools。今天這篇內容我就以一個在虛擬化環境里摸爬滾打多年的老用戶身份跟你徹底聊透在Ubuntu虛擬機里安裝和卸載VMware Tools的完整流程以及背后那些官方文檔不會明說的門道。簡單說VMware Tools是一套由VMware官方提供的增強工具集。它不是一個單一的軟件而是一個包含了顯卡驅動、鼠標同步驅動、時間同步服務、共享文件夾支持、內存氣球驅動等組件的套件。在Ubuntu這類Linux虛擬機里安裝它絕不僅僅是為了讓屏幕顯示更舒服。它更深層的價值在于提升虛擬機的整體性能和與宿主機比如你的Windows或macOS的集成度。沒有它虛擬機就像一臺缺了各種驅動的新電腦很多硬件功能都發揮不出來。那么具體解決了什么問題呢第一顯示體驗。安裝后你可以讓Ubuntu虛擬機的桌面分辨率自適應VMware窗口大小實現無縫全屏告別那個固定的小窗口。第二操作流暢性。最明顯的是鼠標安裝前你需要在主機和虛擬機之間按CtrlAlt來切換捕獲安裝后鼠標可以自由進出虛擬機窗口指針移動也更跟手。第三數據交換。這是生產力關鍵通過啟用共享文件夾功能你可以在主機上直接訪問虛擬機里的文件反之亦然省去了用U盤或者網絡共享的麻煩。第四系統性能與穩定性。比如時間同步能防止虛擬機時鐘漂移內存氣球驅動能讓VMware更智能地管理虛擬機內存提升整體資源利用效率。所以無論你是剛接觸Ubuntu的開發新手需要在隔離環境里測試代碼還是運維人員用虛擬機搭建測試服務亦或是學生用它來學習Linux系統給Ubuntu虛擬機裝上VMware Tools都是從“能用”到“好用”的關鍵一步。而知道如何干凈徹底地卸載它同樣重要尤其是在工具安裝失敗、版本升級或需要排查問題時。接下來我會把安裝和卸載的每一步掰開揉碎包括你可能遇到的各種“坑”和解決方案。2. 安裝前的核心準備與避坑指南安裝VMware Tools聽起來就是點幾下鼠標、敲幾條命令的事但很多新手恰恰栽在準備工作沒做好上。這一步沒做對后面的安裝過程就會錯誤百出。我們先來把地基打牢。2.1 確保虛擬機狀態與系統更新首先你的Ubuntu虛擬機必須是已開機并處于運行狀態而且最好是以圖形界面GUI方式登錄到了桌面環境。雖然理論上可以通過純命令行安裝但對于新手圖形界面下操作會更直觀也方便后續驗證顯示功能是否正常。緊接著在嘗試安裝任何新軟件之前更新系統軟件包列表并升級現有軟件是一個好習慣。這能確保你的系統擁有最新的安全補丁和依賴庫減少因軟件包沖突導致安裝失敗的概率。打開終端快捷鍵CtrlAltT依次執行以下命令sudo apt update sudo apt upgrade -ysudo apt update是刷新本地的軟件包倉庫索引讓它和遠程倉庫同步。sudo apt upgrade -y則是實際升級所有可升級的軟件包-y參數表示自動確認避免安裝過程中需要頻繁手動輸入“Y”。這個過程可能會花點時間取決于你的網絡速度和更新包的大小。注意如果你的Ubuntu版本比較老或者apt upgrade提示有“held back”的包可能需要先使用sudo apt full-upgrade。這是一個關鍵細節被“阻止”的升級包有時會包含一些重要的內核或系統組件不升級它們可能會導致VMware Tools的內核模塊編譯失敗。2.2 安裝編譯環境與內核頭文件這是整個準備環節最核心、也最容易出錯的一步。VMware Tools中有一部分驅動如顯卡驅動vmwgfx是以內核模塊的形式存在的在安裝時需要針對你當前正在運行的Ubuntu內核版本進行實時編譯。因此我們必須提前安裝好編譯工具鏈和對應版本的內核頭文件。你需要安裝以下軟件包組sudo apt install -y build-essential sudo apt install -y linux-headers-$(uname -r)我們來拆解一下這兩條命令build-essential這是一個元軟件包它本身不包含具體軟件但會自動拉取一整套編譯所需的工具包括gccGNU編譯器、make構建工具、libc6-devC庫開發文件等。沒有它編譯過程根本無法啟動。linux-headers-$(uname -r)這是動態獲取并安裝內核頭文件的關鍵命令。uname -r這個命令會輸出你當前系統正在運行的內核版本號例如5.15.0-91-generic。linux-headers-加上這個版本號就是匹配你當前內核的、專門用于開發內核模塊的頭文件包。必須確保安裝的頭文件版本與運行的內核版本完全一致否則編譯時會報“找不到內核構建文件”之類的錯誤。實操心得我遇到過無數次安裝失敗十有八九是內核頭文件的問題。常見的情況有兩種一是系統剛升級完內核但還沒重啟uname -r顯示的是老內核但軟件源里最新的是新內核的頭文件二是apt沒找到完全匹配的版本。解決方法分別是首先重啟虛擬機讓新內核生效如果重啟后還是找不到可以先用apt search linux-headers查看倉庫里有哪些版本再手動指定一個最接近的安裝。但最穩妥的辦法還是確保系統更新到最新并重啟后再執行上述命令。2.3 掛載VMware Tools安裝鏡像當你在VMware軟件菜單欄點擊“虛擬機” - “重新安裝VMware Tools”時VMware并不會直接把軟件裝進你的Ubuntu里。它做的其實是把一個包含安裝程序的ISO鏡像文件虛擬地插入到你的虛擬機光驅中。所以我們需要在Ubuntu內部手動“找到”這個光驅并掛載它。在較新的Ubuntu桌面版如20.04, 22.04, 24.04中當你執行上述操作后系統通常會自動彈出一個文件管理器窗口顯示光盤內容里面就有VMwareTools-xxx.tar.gz這樣的壓縮包。如果它沒有自動彈出或者你使用的是服務器版無圖形界面就需要手動操作。首先我們需要知道這個虛擬光驅設備被識別成了什么。在終端里輸入lsblk或者sudo fdisk -l你會看到一堆磁盤設備列表。除了你的主硬盤通常是/dev/sda和它的分區外你應該會看到一個沒有分區表、容量較小的設備比如/dev/sr0或/dev/cdrom。這個就是虛擬光驅。接下來創建一個用于掛載的目錄如果不存在的話然后掛載它sudo mkdir -p /mnt/cdrom # -p 參數確保目錄不存在時創建它 sudo mount /dev/sr0 /mnt/cdrom如果/dev/sr0提示設備忙或錯誤可以試試/dev/cdrom。掛載成功后使用ls /mnt/cdrom命令你應該能看到光盤里的文件了核心就是那個VMwareTools-xxxx.tar.gz壓縮包。注意事項有時候特別是之前安裝過程被意外中斷后這個虛擬光驅可能處于一個“鎖定”狀態。如果你在VMware菜單里點擊“重新安裝VMware Tools”沒反應或者掛載時出錯可以嘗試先在VMware菜單里點擊“設置” - “硬件” - “CD/DVD (SATA)”將其狀態從“已連接”改為“使用物理驅動器”再改回來或者直接“斷開連接”然后再重新點擊“重新安裝VMware Tools”。這相當于手動“彈出”再“插入”一次光盤。3. 詳細安裝步驟與交互配置解析準備工作萬無一失后我們正式進入安裝環節。這個過程主要分為解壓、運行安裝腳本、交互配置幾個階段。我會把每個步驟的意圖和可能的選擇都解釋清楚。3.1 解壓與運行安裝腳本首先我們把安裝包從掛載的光盤復制到用戶的家目錄或其他你有寫權限的目錄然后解壓cp /mnt/cdrom/VMwareTools-*.tar.gz ~/ # 復制到當前用戶家目錄 cd ~ # 進入家目錄 tar -xzvf VMwareTools-*.tar.gz # 解壓壓縮包解壓后會生成一個名為vmware-tools-distrib的目錄。進入這個目錄里面有一個關鍵的安裝腳本vmware-install.pl。這是一個用Perl編寫的、帶交互式配置的安裝程序。cd vmware-tools-distrib sudo ./vmware-install.pl當你用sudo權限執行這個腳本時真正的安裝就開始了。腳本會首先檢測你的系統環境然后進入一系列的問題交互。這里千萬不要無腦地一路回車理解每個問題的含義能幫你定制出最適合自己環境的安裝。3.2 關鍵交互配置選項詳解安裝腳本會提出很多問題大部分情況下對于新手我們確實可以直接按回車鍵Enter來接受默認值。但有幾個關鍵點值得你停下來思考一下安裝路徑“In which directory do you want to install the binary files?” 默認是/usr/bin。這是系統級的可執行文件目錄保持默認即可。除非你有特殊的多版本管理需求否則不要改。庫文件路徑“What is the directory that contains the init directories (rc0.d/ to rc6.d/)?” 默認是/etc。這是系統初始化腳本的存放目錄也保持默認。運行vmware-config-tools.pl的提示 在文件復制完成后腳本會詢問你是否要運行vmware-config-tools.pl。這里必須選“yes”。這個配置腳本才是真正編譯內核模塊、配置X Server圖形服務、設置共享文件夾等核心功能的關鍵。如果這里選“no”安裝就只完成了一半功能都無法使用。內核頭文件路徑 配置腳本會自動搜索內核頭文件。如果你按照我們之前的準備步驟做好了這里它會自動找到/lib/modules/$(uname -r)/build這個路徑。如果它沒找到或者列出了多個路徑讓你選請確保你選擇的路徑確實包含當前運行內核的頭文件。顯卡驅動X Driver配置 這是圖形功能的核心。腳本會問你是否預編譯的vmwgfx模塊可用通常選“yes”讓它嘗試。如果失敗它會嘗試從源碼編譯。編譯過程中可能會問你是否啟用高分辨率顯示、3D加速等。對于大多數桌面使用場景全部接受默認值回車是最穩妥的。除非你明確知道你的虛擬顯卡型號如svga或需要特殊圖形功能。分辨率設置 腳本會列出很多分辨率模式讓你選。一個省事的技巧是直接輸入“0”然后回車。這通常代表“使用客戶端即VMware窗口指定的分辨率”也就是我們最想要的“自適應分辨率”模式。這樣當你拖動VMware窗口大小時Ubuntu桌面的分辨率會自動調整。共享文件夾配置 腳本會問你是否啟用共享文件夾功能選“yes”。然后它會詢問共享文件夾在Ubuntu系統中的掛載點默認是/mnt/hgfs。保持默認即可。重要提示這里的配置只是啟用了功能具體的文件夾共享需要在VMware的虛擬機設置里“選項” - “共享文件夾”添加并且虛擬機需要重啟后才能生效。整個交互過程可能會持續幾分鐘特別是編譯內核模塊的時候。期間屏幕會快速滾動大量編譯信息只要不出現紅色的“ERROR”錯誤提示一般都是在正常進行。安裝完成后腳本會提示你需要重啟系統或重新啟動X服務圖形界面以使更改生效。我的建議是直接重啟虛擬機。這是讓所有驅動和服務特別是圖形和共享文件夾完全加載的最可靠方式。sudo reboot4. 安裝后的驗證與功能調優重啟后你的Ubuntu虛擬機應該已經煥然一新。但我們不能光憑感覺需要一些方法來驗證VMware Tools是否真的在正常工作并對一些功能進行微調。4.1 基礎功能驗證方法檢查服務狀態 在終端中輸入以下命令可以查看VMware Tools核心服務的運行狀態systemctl status vmware-tools.service或者使用老式的命令sudo /etc/init.d/vmware-tools status如果看到“active (running)”或類似的活躍狀態說明服務已成功啟動。驗證鼠標集成 最直觀的測試把你的鼠標指針從Windows或macOS桌面直接移動到Ubuntu虛擬機窗口內部。應該無需按任何鍵如CtrlAlt就能無縫切換。在虛擬機內部移動鼠標也應該感覺流暢沒有卡頓或跳躍感。驗證顯示自適應 嘗試拖動VMware軟件窗口的邊緣改變其大小。Ubuntu虛擬機的桌面分辨率應該會隨之平滑地改變以填滿整個VMware窗口。你也可以在Ubuntu的“設置” - “顯示”中查看分辨率是否變成了一個與VMware窗口匹配的動態值如“1680x1050 (16:10)”而不是之前固定的“1024x768”等。驗證共享文件夾 首先在VMware軟件中為虛擬機設置一個共享文件夾例如將主機桌面的一個文件夾共享進來命名為share。然后在Ubuntu終端中查看默認的掛載點ls /mnt/hgfs/你應該能看到一個名為share的目錄。如果可以列出其中的文件說明共享文件夾功能正常。如果看不到可能需要手動掛載或檢查VMware的共享文件夾設置。4.2 高級功能配置與問題排查即使基礎功能正常有時一些高級特性可能需要手動調整或遇到了小問題。時間同步問題 VMware Tools的時間同步服務vmtoolsd默認會定期將虛擬機時間與主機同步。但如果你發現時間仍然不準或者你需要在某些場景下如數據庫集群禁用此功能可以編輯其配置文件sudo nano /etc/vmware-tools/tools.conf找到[time]部分你可以看到syncTime “1”這樣的選項?!?”表示啟用同步“0”表示禁用。修改后需要重啟VMware Tools服務sudo systemctl restart vmware-tools共享文件夾無法訪問 如果你在/mnt/hgfs下看不到共享的文件夾除了檢查VMware設置外一個常見的解決方法是手動重新掛載HGFS文件系統sudo vmhgfs-fuse .host:/ /mnt/hgfs -o subtypevmhgfs-fuse,allow_other或者確保open-vm-tools的共享文件夾模塊已加載如果你安裝的是open-vm-tools見下文sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other如果還是不行檢查內核模塊是否加載lsmod | grep vmw應該能看到vmw_vmci、vmw_vsock_vmci_transport、vmwgfx等模塊。關于Open-VM-Tools的特別說明 在較新版本的Ubuntu尤其是18.04及以后中你可能會發現軟件倉庫里有一個名為open-vm-tools的包。這是VMware Tools的開源實現由VMware官方維護并直接集成到Linux發行版的倉庫中。對于大多數桌面用戶我強烈推薦直接使用系統倉庫安裝它而不是從ISO安裝sudo apt update sudo apt install open-vm-tools open-vm-tools-desktopopen-vm-tools提供了核心服務而open-vm-tools-desktop則包含了圖形界面所需的依賴如分辨率自適應、鼠標集成。它的好處是安裝極其簡單無需手動編譯內核模塊并且能隨著系統更新自動升級。其功能與傳統的VMware Tools基本一致。如果你是從ISO安裝后遇到問題卸載后再安裝open-vm-tools也是一個很好的解決方案。5. 徹底卸載VMware Tools的完整流程有安裝就有卸載。當你需要升級VMware Tools版本、安裝失敗需要重來、或者打算改用open-vm-tools時一個干凈的卸載就至關重要。殘留的驅動和配置文件可能會引起各種奇怪的問題。5.1 標準卸載流程如果你是通過運行vmware-install.pl腳本安裝的那么通常它會自帶一個卸載腳本。進入當初安裝時解壓的目錄如果你沒刪的話cd ~/vmware-tools-distrib sudo ./vmware-install.pl --uninstall或者更常見的卸載腳本位置在/usr/binsudo /usr/bin/vmware-uninstall-tools.pl運行卸載腳本后它會提示你確認并開始刪除安裝的文件、停止服務、移除內核模塊等。按照提示操作即可。5.2 手動清理殘留文件與內核模塊有時候卸載腳本可能運行不完整或者你找不到卸載腳本了比如安裝目錄被刪除。這時就需要手動清理。這是一個需要謹慎操作的過程。停止服務sudo systemctl stop vmware-tools # 對于systemd系統 sudo /etc/init.d/vmware-tools stop # 對于SysVinit系統移除內核模塊 首先檢查當前加載了哪些VMware相關的內核模塊lsmod | grep vmw常見的模塊有vmw_vmci,vmw_vsock_vmci_transport,vmw_balloon,vmwgfx等。要移除它們需要重啟系統。但我們可以先嘗試手動卸載重啟后失效用于臨時測試sudo rmmod vmwgfx vmw_vmci vmw_vsock_vmci_transport vmw_balloon注意模塊間可能有依賴關系如果提示“Resource busy”或依賴錯誤可以忽略重啟后自然會解除。刪除相關文件和目錄 這是一項繁瑣但必要的工作。你需要查找并刪除VMware Tools安裝時散落在各處的文件。以下是一些常見的目錄在刪除前請務必確認# 刪除安裝目錄如果存在且確認無用 sudo rm -rf /usr/lib/vmware-tools # 刪除配置文件目錄 sudo rm -rf /etc/vmware-tools # 刪除啟動腳本 sudo rm -f /etc/init.d/vmware-tools sudo rm -f /etc/systemd/system/vmware-tools.service # 如果存在 # 刪除二進制命令謹慎確保沒有其他程序依賴 sudo rm -f /usr/bin/vmware-* # 刪除庫文件謹慎 sudo rm -rf /usr/lib/vmware* # 刪除共享文件夾掛載點如果確定不再使用 sudo umount /mnt/hgfs 2/dev/null # 先嘗試卸載 sudo rmdir /mnt/hgfs 2/dev/null重要警告rm -rf命令是強制刪除且不可恢復的。在執行前特別是刪除/usr/bin和/usr/lib下的文件時最好先用ls命令查看一下確保你要刪除的確實是vmware-開頭的文件。誤刪系統關鍵命令可能導致系統功能異常。清理內核模塊文件 編譯好的內核模塊通常存放在/lib/modules/$(uname -r)/misc/目錄下文件名類似vm*.ko。你可以進入該目錄查看并刪除cd /lib/modules/$(uname -r)/misc/ ls -la vm*.ko # 查看 sudo rm vm*.ko # 刪除請再次確認文件列表刪除后需要更新內核的模塊依賴關系sudo depmod -a5.3 卸載后的系統狀態檢查與重啟完成上述清理后建議執行一次系統重啟。重啟后進行以下檢查再次運行systemctl status vmware-tools或檢查/etc/init.d/確認服務已不存在。運行lsmod | grep vmw確認沒有VMware相關的內核模塊被加載。檢查/var/log/vmware-*等日志目錄是否還有新日志生成。如果所有跡象都表明VMware Tools已被移除那么你的系統就回到了一個“干凈”的狀態。此時你可以選擇重新安裝VMware Tools或者轉向安裝更為方便的open-vm-tools。我的個人體會在經歷了多次安裝和卸載后我現在對于個人使用的Ubuntu桌面虛擬機幾乎無一例外地選擇直接apt install open-vm-tools-desktop。它省去了編譯內核模塊的麻煩與系統包管理器的集成度更高更新也方便。只有在一些非常老的Ubuntu版本或者需要某些極其特定的、只有完整版VMware Tools才提供的實驗性功能時我才會考慮使用ISO安裝的方式。對于新手而言從open-vm-tools開始嘗試無疑是更平滑、更少坑的選擇。