Before you can run VMware, several modules must be compiled andloaded into the running kernel.GCCGNU

问题形式

在这里插入图片描述
在这里插入图片描述
Could not open/dev]
are
vmmon:???
Please make sute that
the kernel module
‘vmmon’ is loaded.]

因为VWware无法直接从软件源获取,所以我们需要从官网获取,官网下载完以后在ubuntu上安装VMware可能出现以上问题

在Ubuntu22.04上安装的时候就需要安装内核模块,而在Kubuntu22.04上没有手动安装就成功打开了

对于Ubuntu安装VWware的步骤参考以下俩篇博客:

[2025年]最新VMware Workstation虚拟机下载并安装

Ubuntu安装VMware虚拟机

在参考Ubuntu安装VMware虚拟机这篇文章过程中出现openEuler中安装vmware for linux 找不到gcc

Using kernel build system.
make -C /lib/modules/6.8.0-60-generic/build/include/… M= P W D S R C R O O T = PWD SRCROOT= PWDSRCROOT=PWD/.
MODULEBUILDDIR= modules
make[1]: 进入目录“/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:
CC [M] /usr/lib/vmware/modules/source/vmnet-only/driver.o
/bin/sh: 1: gcc-12: not found
make[3]: *** [scripts/Makefile.build:243:/usr/lib/vmware/modules/source/vmnet-only/driver.o] 错误 127
make[2]: *** [/usr/src/linux-headers-6.8.0-60-generic/Makefile:1925:/usr/lib/vmware/modules/source/vmnet-only] 错误 2
make[1]: *** [Makefile:240:__sub-make] 错误 2
make[1]: 离开目录“/usr/src/linux-headers-6.8.0-60-generic”
make: *** [Makefile:117:vmnet.ko] 错误 2

要解决编译VMware vmnet模块时出现的gcc-12 not found错误

由于内核是用gcc-12编译的,但系统中缺少该编译器:
bash

sudo apt update
sudo apt install gcc-12 g++-12

使用yum install gcc 安装gcc

手动执行下面的代码

cd /usr/lib/vmware/modules/source
  • 目的: 切换到 VMware 模块源代码的目录。该目录通常包含 VMware 内核模块的源代码文件,比如 vmmonvmnet
tar xf vmmon.tar
  • 目的: 解压 vmmon.tar 文件。这个文件包含了 vmmon 模块的源代码。使用 tar xf 命令会将压缩包中的内容解压到当前目录下。
tar xf vmnet.tar
  • 目的: 解压 vmnet.tar 文件。该文件包含了 vmnet 模块的源代码,功能与 vmmon 类似,但主要负责网络功能。
cd vmmon-only
  • 目的: 切换到 vmmon-only 目录,这个目录包含 vmmon 模块的源代码和 Makefile 文件,用于编译内核模块。
make
  • 目的: 使用 make 命令编译 vmmon 模块。根据 Makefile 的配置,它将使用当前的内核头文件和开发工具构建 vmmon.o 内核模块文件。
cd ../vmnet-only
  • 目的: 返回到上一级目录,并切换到 vmnet-only 目录,以便编译 vmnet 模块。
make
  • 目的: 使用 make 命令编译 vmnet 模块,类似于上一步,将生成 vmnet.o 内核模块文件。
cd ..
  • 目的: 返回到 source 目录的上一级目录。
mkdir /lib/modules/`uname -r`/misc
  • 目的: 创建一个名为 misc 的新目录,位于 /lib/modules/当前内核版本/ 下。这个目录用于存放自定义的内核模块。使用 uname -r 命令获取当前正在运行的内核版本。
cp vmmon.o /lib/modules/`uname -r`/misc/vmmon.ko
  • 目的: 将编译生成的 vmmon.o 模块文件复制到刚刚创建的 misc 目录,并重命名为 vmmon.ko.ko 是内核模块的标准扩展名。
cp vmnet.o /lib/modules/`uname -r`/misc/vmnet.ko
  • 目的: 将编译生成的 vmnet.o 模块文件复制到 misc 目录,并重命名为 vmnet.ko
depmod -a
  • 目的: 运行 depmod 命令,更新模块依赖关系。这一步确保在加载模块时,系统能够识别和处理它们之间的依赖关系。-a 参数表示分析所有已安装模块。
/etc/init.d/vmware restart
  • 目的: 重启 VMware 服务。通过这个命令,所有 VMware 相关的服务将被停止并重新启动,使新的模块生效。

这些命令的主要目的是从源代码编译 VMware 的内核模块 vmmonvmnet,将编译后的模块安装到系统中,并重启 VMware 服务,以确保新模块能够正常工作。这种过程在更改内核或更新 VMware 版本后非常常见。确保每一步都顺利完成,以避免模块加载错误。

遇到“Failed to initialize monitor device”问题

是 VMware 虚拟化软件中一个常见的错误,通常表示 VMware 无法正确访问或初始化监控设备

可能的原因

内核模块未加载

  • VMware 依赖特定的内核模块(如 vmmonvmnet)来管理虚拟机。如果这些模块没有被加载,可能会导致此错误。

权限问题

  • 运行 VMware 的用户可能没有足够的权限访问所需的设备文件。

与其它虚拟化软件的冲突

  • 如果系统上安装了其他虚拟化软件(如 VirtualBox 或 Hyper-V),可能会与 VMware 冲突,从而导致初始化失败。

缺少必要的依赖

  • 系统缺少编译和运行 VMware 所需的开发工具和库。

配置文件损坏

  • VMware 的配置文件可能损坏,导致无法正确初始化。

解决步骤

检查并加载内核模块
使用以下命令检查 vmmonvmnet 模块:

 lsmod | grep vmmon
 lsmod | grep vmnet

如果模块未加载,尝试手动加载:

sudo modprobe vmmon
sudo modprobe vmnet

复制完成后,加载 vmmon 模块:

sudo modprobe vmmon
sudo modprobe vmnet

检查是否加载成功:

lsmod | grep vmmon 
lsmod | grep vmnet

此时这两个驱动已经加载到内核里了
在这里插入图片描述

重新编译内核模块

  • 如果您最近更新了内核,可能需要重新编译 VMware 的内核模块:
    sudo vmware-modconfig --console --install-all
    

检查权限

  • 确保您有足够的权限运行 VMware。可以尝试以超级用户身份运行:
    sudo vmware
    

检查其他虚拟化软件

  • 如果系统上有其他虚拟化软件,尝试禁用或卸载它们,然后重启计算机。

更新 VMware

  • 确保您使用的是 VMware 的最新版本,访问 VMware 官网下载并安装更新。

检查日志文件

  • 查看 VMware 的日志文件,以获取更多详细的错误信息。日志文件通常位于 /var/log/vmware/ 目录下。

重启计算机

  • 在某些情况下,简单的重启计算机可以解决驱动和模块加载的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵌入式设计-妄北y

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

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

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

打赏作者

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

抵扣说明:

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

余额充值