解决vmware10在linux内核升级后不能启动的问题VMWare Kernel Module Updater

本文主要是介绍解决vmware10在linux内核升级后不能启动的问题VMWare Kernel Module Updater,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


前两天ubuntu update了一下,出现了vmware无法启动的情况。具体表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求根据当前内核版本重新编译一些内核模块,但是其中网络模块vmnet总是编译失败。之前就发生过,一直没找到解决方法,今天又查了一下,发现了这篇文章,按上面说的调整了一下,好了。

另外,以下写的206行 VNetFilterHookFn(const unsigned int hooknum // IN:  这个对不上,看到的206行是这样:VNetFilterHookFn(unsigned int hooknum // IN:  也同样改了就行。


查找相关资料发现原因在于升级到ubuntu 14.04之后现在的Linux内核版本是3.13,这个内核版本修改了一些底层函数,而VMWare的相关源码包还没有来得及修改相关代码。由于是内核版本的问题,所以同样的问题也大量出现在Fedora等系统上。

因此同样的问题可以继续存在于3.14, 3.15等后续版本中。

解决方法为修改vmnet模块的源码包中的两处代码。

1,获取root权限,进入相关目录:

su

cd /usr/lib/vmware/modules/source

2,解压vmnet源码包(得到vmnet-only文件夹):

tar -xf vmnet.tar

3,备份原来的文件:

mv vmnet.tar vmnet.tar.bak

4,修改源文件filter.c:

4.1,修改206行的:VNetFilterHookFn(const unsigned int hooknum // IN:

为:VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:

4.2,修改255行的: transmit = (hooknum == VMW_NF_INET_POST_ROUTING);

为: transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);

5,打包修改过的文件,删除无用的文件

tar -uf vmnet.tar vmnet-only

rm -rf vmnet-only

6,重新编译内核模块,启动vmware

可以直接点击vmware workstation的图标,启动自动检测和编译过程;也可以通过命令:

vmware-modconfig --console --install-all

感谢:Bearox和Garrett Skjelstad

http://blog.csdn.net/bearox/article/details/21294609

http://ping8888.com/2013/12/13/vmware-modules-kernel-3-13/

原载于http://blog.csdn.net/yanxiangtianji

转载请注明出处

这篇关于解决vmware10在linux内核升级后不能启动的问题VMWare Kernel Module Updater的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314806

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境