报错解决:Before you can run VMware, several modules must be compiled and ...(更換內核)


问题描述

此時的基本環境:

ubuntu2020

gcc 9.3

VMware 16.1.0

內核版本5.8.x

问题的起源还是来自一次内核删除失败的经历…,因为需要装一个较低版本的Nvidia显卡,而当前的内核版本太高,所以就将当前使用的内核版本删除。但是移除过程中,在弹出的框中当时选择的是yes,导致后续一系列的问题(如果是移除的话,选择No即可),导致该内核并未被删除,而且在该内核环境下网卡也失效了。。。

sudo apt-get remove linux-image-正在使用的内核版本

最后成功换了一个内核版本,但是启动VMware之后又提示如下的错误:

image-20210106094431031

image-20210106100340688


错误分析

尝试过很多的解决方案,例如:

卸载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默认版本(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.x5.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:不知道爲什麼我的輸入法突然變繁體了,見諒。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YuanbaoQiang

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值