当前位置: 首页 > news >正文

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败

Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示

最终上报fail

解决方法

内核升级导致,需要在新内核下重新下载编译安装

查看版本

$ vmware -v
VMware Workstation 17.5.1 build-23298084$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.5 LTS
Release:	22.04
Codename:	jammy$ uname -a
Linux 6.8.0-60-generic #63~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC UTC 2 x86_64 x86_64 x86_64 GNU/Linux

下载和切换配套版本

$ cd gitcode/
$ git clone https://gitcode.com/gh_mirrors/vm/vmware-host-modules.git
Cloning into 'vmware-host-modules'...
remote: Enumerating objects: 4790, done.
remote: Counting objects: 100% (519/519), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 4790 (delta 514), reused 514 (delta 514), pack-reused 4271 (from 1)
Receiving objects: 100% (4790/4790), 1.74 MiB | 135.00 KiB/s, done.
Resolving deltas: 100% (3696/3696), done.$ cd vmware-host-modules/$ git branch -a
* masterremotes/origin/HEAD -> origin/masterremotes/origin/masterremotes/origin/playerremotes/origin/player-12.5.2... ...remotes/origin/workstation-17.0.2remotes/origin/workstation-17.5.0remotes/origin/workstation-17.5.1
~/mnt/git/gitcode/vmware-host-modules$ git checkout -b workstation-17.5.1 remotes/origin/workstation-17.5.1
Branch 'workstation-17.5.1' set up to track remote branch 'workstation-17.5.1' from 'origin'.
Switched to a new branch 'workstation-17.5.1'$ git branchmaster
* workstation-17.5.1

编译和安装

 make
make -C vmmon-only 
make[1]: Entering directory '/mnt/git/gitcode/vmware-host-modules/vmmon-only'
Using kernel build system.
make -C /lib/modules/6.8.0-60-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-6.8.0-60-generic'
warning: the compiler differs from the one used to build the kernelThe kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/linux/driver.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/linux/driverLog.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/linux/hostif.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/apic.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/comport.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/cpuid.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/crosspage.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/memtrack.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/moduleloop.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/phystrack.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/statVarsVmmon.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/task.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/vmx86.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/bootstrap.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/monLoader.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/vmmblob.oLD [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.oMODPOST /mnt/git/gitcode/vmware-host-modules/vmmon-only/Module.symversCC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.mod.oLD [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.koBTF [M] /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.ko
Skipping BTF generation for /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-headers-6.8.0-60-generic'
make -C $PWD SRCROOT=$PWD/. \MODULEBUILDDIR= postbuild
make[2]: Entering directory '/mnt/git/gitcode/vmware-host-modules/vmmon-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/mnt/git/gitcode/vmware-host-modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make[1]: Leaving directory '/mnt/git/gitcode/vmware-host-modules/vmmon-only'
make -C vmnet-only 
make[1]: Entering directory '/mnt/git/gitcode/vmware-host-modules/vmnet-only'
Using kernel build system.
make -C /lib/modules/6.8.0-60-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/src/linux-headers-6.8.0-60-generic'
warning: the compiler differs from the one used to build the kernelThe kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/driver.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/hub.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/userif.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/netif.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/bridge.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/procfs.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/smac_compat.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/smac.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vnetEvent.oCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vnetUserListener.oLD [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.oMODPOST /mnt/git/gitcode/vmware-host-modules/vmnet-only/Module.symversCC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.mod.oLD [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.koBTF [M] /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.ko
Skipping BTF generation for /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/linux-headers-6.8.0-60-generic'
make -C $PWD SRCROOT=$PWD/. \MODULEBUILDDIR= postbuild
make[2]: Entering directory '/mnt/git/gitcode/vmware-host-modules/vmnet-only'
make[2]: 'postbuild' is up to date.
make[2]: Leaving directory '/mnt/git/gitcode/vmware-host-modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make[1]: Leaving directory '/mnt/git/gitcode/vmware-host-modules/vmnet-only'$ sudo make install
install -D -t /lib/modules/6.8.0-60-generic/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/6.8.0-60-generic/misc/vmmon.ko /lib/modules/6.8.0-60-generic/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 6.8.0-60-generic; fi

安装

~$ find ./ -name *.ko
./vmmon-only/vmmon.ko
./vmnet-only/vmnet.ko
~$ sudo insmod ./vmmon-only/vmmon.ko
~$ sudo insmod ./vmnet-only/vmnet.ko
~$

现象2 虚拟机镜像无法链接网络

虚拟机网络不通,现象如下

无法与主机通信

解决方法

之前加载模块的方式不对,需要先卸载

$ sudo rmmod vmnet
$ sudo rmmod vmmon

按照如下方法加载

$ sudo modprobe -a vmw_vmci vmmon vmnet
$ sudo vmware-networks --start
Started Bridge networking on vmnet0
Enabled hostonly virtual adapter on vmnet1
Started DHCP service on vmnet1
Started NAT service on vmnet8
Enabled hostonly virtual adapter on vmnet8
Started DHCP service on vmnet8
Started all configured services on all networks

参考

解决Ubuntu22.04/24.04等Linux桌面系统下打开VMware软件出现vmmon和vmnet模块的缺失/安装/内核升级等问题
https://blog.csdn.net/hjt374200573/article/details/141567143

http://www.xdnf.cn/news/964711.html

相关文章:

  • 数据库——MongoDB
  • 定时器任务——若依源码分析
  • Python包(Package)详解:模块的高级组织方式
  • DeviceNet转Modbus RTU,为纺织厂生产线赋能
  • uniapp的请求封装,如何避免重复提交请求
  • mysql-innoDB存储引擎事务的原理
  • ​​​​​​​未来已来:深度解读 BLE 6.0 的革命性特性与实战应用
  • SkyReels-V1:开启多模态视频生成的新纪元
  • SpringDoc集成到Springboot
  • 第1章信息化知识归纳总结补充内容
  • day52 ResNet18 CBAM
  • Canfestival的移植思想
  • EndNote 21完整安装指南:从零开始的详细步骤(附EndNote下载安装包)
  • HTML 文本省略号
  • HTML 标签 综合案例
  • 在鸿蒙HarmonyOS 5中HarmonyOS应用开发实现QQ音乐风格的播放功能
  • CppCon 2015 学习:Improving the future<T> with monads
  • MinHook 对.NET底层的 SendMessage 拦截真实案例反思
  • PHP和Node.js哪个更爽?
  • 【论文阅读】多任务学习起源类论文《Multi-Task Feature Learning》
  • MyBatis注解开发的劣势与不足
  • LeetCode--27.移除元素
  • Leetcode 3578. Count Partitions With Max-Min Difference at Most K
  • HTML 列表、表格、表单
  • Docker-containerd-CRI-CRI-O-OCI-runc
  • 【kafka】Golang实现分布式Masscan任务调度系统
  • Python 自动化临时邮箱工具,轻松接收验证码,支持调用和交互模式(支持谷歌gmail/googlemail)
  • 【C++】26. 哈希扩展1—— 位图
  • 【PhysUnits】17.5 实现常量除法(div.rs)
  • Linux上并行打包压缩工具