问题描述
此時的基本環境:
ubuntu2020
gcc 9.3
VMware 16.1.0
內核版本5.8.x
问题的起源还是来自一次内核删除失败的经历…,因为需要装一个较低版本的Nvidia显卡,而当前的内核版本太高,所以就将当前使用的内核版本删除。但是移除过程中,在弹出的框中当时选择的是yes,导致后续一系列的问题(如果是移除的话,选择No即可),导致该内核并未被删除,而且在该内核环境下网卡也失效了。。。
sudo apt-get remove linux-image-正在使用的内核版本
最后成功换了一个内核版本,但是启动VMware之后又提示如下的错误:
错误分析
尝试过很多的解决方案,例如:
卸载VMware,重装(无用)
# 查看安装信息
vmware-installer -l
# 卸载
sudo vmware-installer -u vmware-player
# 安裝
sudo ./VMware-Workstation-Full-16.1.0-17198959.x86_64.bundle
按照其他博客的描述,在進行安裝過程中,是可以彈出VMware安裝的GUI界面的,但是在我這裏沒出現,這種情況一般是由問題的。果不其然,我卸載重裝後打開VMware依然爆出以上的截圖問題。
由于Linux内核版较新导致的内核模块VMMON和VMNET构件失败的解决过程(失败)
可以参考:
[20.04] VMware Workstation / Player无法构建内核模块VMMON&VMNET
Fedora 30 安装 VMware Workstation
过程基本类似,但是都对我无效。。。
针对GCC版本问题,尝试更换GCC版本(失败)
可以参考:
# 此時安裝完後,gcc版本並無變化,還是原來的9.3
sudo apt-get install gcc-10
# 更改優先級,100代表優先級,數字越大,優先級越高,隨便設置
# 但是下次修改的時候,另外一個版本的gcc的優先級需要高於該數字
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --config gcc
成功将gcc版本从9.3换成10.2之後,不提示gcc版本錯誤了,但是依然彈出Before you can run VMware, several modules must be compiled and...
錯誤框,install
也無效。
解决过程
更換低版本內核
對我來說,內核版本5.7.x
,5.8.x
及以上的都是會有問題的,只有在內核版本爲linux-image-unsigned-5.4.0-050400-generic
的時候,VMware卸載重裝後可以正常使用。
(base) yuanbaoqiang@yuanbaoqiang-911 ~$ sudo dpkg --get-selections | grep linux-image
[sudo] password for yuanbaoqiang:
linux-image-5.4.0-26-generic install
linux-image-5.8.0-32-generic deinstall
linux-image-5.8.0-34-generic deinstall
linux-image-unsigned-5.10.0-051000rc1-generic deinstall
linux-image-unsigned-5.4.0-050400-generic install # -------》 該內核有效
linux-image-unsigned-5.7.0-050700-generic install
linux-image-unsigned-5.8.0-050800-generic install
linux-image-unsigned-5.8.0-050800rc1-generic install
linux-image-unsigned-5.8.0-34-generic deinstall
拋去網頁上的解決方案,例如上述列舉的,還有內核的編譯,修復,源碼修改等等,都比較繁瑣,而且很多都是老的帖子,裏面的解決方案並不太適合現在的環境。因此,我在嘗試七八個小時之後,果斷放棄那些無謂的掙扎,直接該成兼容的低版本內核即可。更換內核及內核版本可以參考我之前的博客:Ubuntu-内核安装及版本切换。
目前的環境
ubuntu: 2020
gcc: 10.2.0
VMware: 16.1.0
內核版本: 5.4.0-050400-generic
Nvidia: 450.80.02
此時的VMware是可以正常的啓動了,但是可能沒有如下模塊vmnet1和vmnet8,導致虛擬機中的系統無法上網,可以使用以下命令:
sudo vmware-modconfig --console --install-all
如果看到以下服務沒問題,則關於VMware的問題基本就解決了~
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Virtual ethernet done
VMware Authentication Daemon done
不過之後在安裝Nvidia過程中也有些小情況:
記錄一下基本手動安裝的基本操作:
# 關閉桌面服務 sudo service lightdm stop # 刪除現有的nvidia驅動 sudo apt-get remove --purge nvidia* # 有必要的話還要再更新 刪除一下 sudo apt-get update sudo apt-get upgrade sudo apt-get autoremove # 安裝英偉達驅動 sudo ./NVIDIA-Linux-x86_64-450.80.02.run -no-x-check -no-nouveau-check -no-opengl-files # 安裝過程中出現的情況細節見 https://blog.csdn.net/lihe4151021/article/details/90083431 # 安裝完成後啓動桌面服務 sudo service lightdm start
安裝過程中出現了關於GCC的問題,大致意思就是使用的kernel編譯使用的gcc版本和當前系統中的gcc版本不統一,也算是一個警告。在這裏我是直接忽略這個警告了,但是最好還是需要下載到對應的gcc安裝,這樣比較穩妥。後續如果有關於gcc版本引起的問題,我再補充。
PS:不知道爲什麼我的輸入法突然變繁體了,見諒。。。