解决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
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/player
  remotes/origin/player-12.5.2
  ... ...
  remotes/origin/workstation-17.0.2
  remotes/origin/workstation-17.5.0
  remotes/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 branch
  master
* 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 kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/linux/driver.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/linux/driverLog.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/linux/hostif.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/apic.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/comport.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/cpuid.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/crosspage.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/memtrack.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/moduleloop.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/phystrack.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/statVarsVmmon.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/task.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/common/vmx86.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/monLoader.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o
  LD [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.o
  MODPOST /mnt/git/gitcode/vmware-host-modules/vmmon-only/Module.symvers
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.mod.o
  LD [M]  /mnt/git/gitcode/vmware-host-modules/vmmon-only/vmmon.ko
  BTF [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 kernel
  The kernel was built by: x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
  You are using:           gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/driver.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/hub.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/userif.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/netif.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/bridge.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/procfs.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/smac_compat.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/smac.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vnetEvent.o
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vnetUserListener.o
  LD [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.o
  MODPOST /mnt/git/gitcode/vmware-host-modules/vmnet-only/Module.symvers
  CC [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.mod.o
  LD [M]  /mnt/git/gitcode/vmware-host-modules/vmnet-only/vmnet.ko
  BTF [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

### 如何在 VMware 上安装 Ubuntu 22.04 #### 准备工作 为了顺利安装Ubuntu 22.04,在VMware环境中需准备Linux操作系统的镜像文件。官方推荐的下载链接可从Ubuntu官方网站获取[^2]。 #### 创建新虚拟机 启动VMware应用程序之后,通过点击“文件->新建虚拟机”的路径来初始化一个新的虚拟化实例创建流程。 #### 设置虚拟机配置选项 - **选择安装方式**: 当提示时,应选取“稍后安装操作系统”,这允许手动指定ISO映像作为安装源。 - **定义操作系统类型**: 正确识别并设定目标OS为Linux下的特定子项——即“Ubuntu 64-bit”。此步骤对于确保兼容性和性能优化至关重要。 #### 自定义硬件规格 针对CPU核心数目以及RAM容量分配给出具体数值建议如下: - 推荐至少分配给该虚拟环境四个逻辑处理单元; - 同样地,预留不少于4GB物理内存用于保障流畅度和响应速度。 #### 网络连接模式选定 依据实际需求挑选合适的联网方案;一般情况下,默认设置即可满足多数应用场景的要求。 #### 存储设备规划 确认硬盘控制器种类无误后继续前进至最后一步骤—磁盘空间预配。这里提倡初始划分大约50GB以上的可用存储量以容纳未来可能扩展的数据集或软件包更新。 完成上述所有参数调整后的最终确认动作将会引导进入图形化的Ubuntu安装界面,按照屏幕上的指示逐步推进直至整个过程结束。 ```bash sudo apt update && sudo apt upgrade -y ``` 以上命令可用于首次登录后刷新本地APT缓存并将已安装程序升级到最新稳定版。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值