在Linux上雖然有Wine的轉譯層能夠嘗試運行Windows的程式,但總歸還是有無法成功的時候,這時候虛擬機器就是一個解決方案;延續之前在Windows的習慣,所以我最初也是在Linux上安裝VMware Player
而Linux跟Windows版本的VMware有個差異,Linux版本會在啟動時檢測模組版本並要求戶安裝,不安裝就無法啟動程式;但某次Linux的系統更新後,就遇到VMware更新模組時出錯(Exit code 1),當時的我無法排除這個問題,只能去嘗試使用Qemu/KVM、Virtualblox等等虛擬機,但使用上總無法達到自己的需求,變換一些設置嘗試仍無改善,讓我滿是鬱悶
好在近期遇到好心的大佬幫忙才排除Exit code 1的問題,讓我可以重新在Linux上使用VMware,為避免我之後忘記怎麼處理,以下紀錄流程
異常狀況
1. 原先狀況,開啟程式時會要求更新模組
2. 更新失敗,出現Exit code 1
解決方法
以下三種方法都可以,擇一即可,需注意使用的補釘需要根據自己所安裝的VMware版本進行選用
方法一
這是我自己的作法
動作 |
備註 |
下載補丁 https://github.com/mkubecek/vmware-host-modules/tags |
1. 需要依據自己所使用的版本進行下載 例如 17.5.1就要尋找17.5.1的版本 16.0.0就要找16.0.0的版本 |
解開下載的檔案,並這個資料夾開啟終端 |
|
make |
1. 在終端輸入make開始編譯 |
sudo make install |
1. 安裝剛剛編譯好的模組,此處需要以最高權限執行 2. 安裝好後,可能需要重新啟動系統來重新載入模組 |
方法二
這個方法是根據壓縮檔中的INSTALL文件拉出來解釋,動作等同於方法一,只是多了點指令
動作 |
備註 |
開啟終端機(例如Konsole) |
|
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-17.0.0.tar.gz |
1. wget為Linux的下載指令,下載回來的檔案會放在Home目錄下的使用者資料夾 2. 紅字的部分必須要改為自己所安裝的VMware版本 3. 不一定所有版本都馬上有正式發布,需要自己在討論區再尋找一下(例如我當前安裝的17.5.2版本) |
tar -xzf workstation-17.0.0.tar.gz |
1. 解開下載回來的壓縮檔 2. 紅字的部分必須要改為自己所安裝的VMware版本 |
cd vmware-host-modules-workstation-17.0.0 |
1. 切換至剛剛解開的料夾中 2. 紅字的部分必須要改為自己所安裝的VMware版本 |
make |
1. 執行編譯 |
make install |
1. 安裝剛剛編譯好的模組,此處需要以最高權限執行 2. 安裝好後,可能需要重新啟動系統來重新載入模組 |
方法三
壓縮檔中的INSTALL紀錄的另外一個方法
動作 |
備註 |
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-17.0.0.tar.gz |
1. wget為Linux的下載指令,下載回來的檔案會放在Home目錄下的使用者資料夾 2. 紅字的部分必須要改為自己所安裝的VMware版本 3. 不一定所有版本都馬上有正式發布,需要自己在討論區再尋找一下(例如我當前安裝的17.5.2版本) |
tar -xzf workstation-17.0.0.tar.gz |
1. 解開下載回來的壓縮檔 2. 紅字的部分必須要改為自己所安裝的VMware版本 |
cd vmware-host-modules-workstation-17.0.0 |
1. 切換至剛剛解開的料夾中 2. 紅字的部分必須要改為自己所安裝的VMware版本 |
tar -cf vmmon.tar vmmon-only |
1. 建立新的tar檔案,並指定檔案名稱為vmmon.tar 2. tar為打包程式 3. -cf要拆開解釋,c為建立、f為檔案,組合起來為建立檔案 4. vmmon-only為要被打包的目標資料夾 |
tar -cf vmnet.tar vmnet-only |
1. 建立新的tar檔案,並指定檔案名稱為vmnet.tar 2. tar為打包程式 3. -cf要拆開解釋,c為建立、f為檔案,組合起來為建立檔案 4. vmnet-only為要被打包的目標資料夾 |
cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/ |
1. 複製剛剛打包好的vmmon.tar vmnet.tar到/usr/lib/vmware/modules/source/ 2. -v這個指令為顯示詳細的複製過程 |
vmware-modconfig --console --install-all |
1. 安裝所有檔案 |
參考資料
解法部分