升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方式

近期将ubuntu升级到了14.04,出现了vmware无法启动的情况。

详细表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求依据当前内核版本号又一次编译一些内核模块。可是当中网络模块vmnet总是编译失败。

查找相关资料发现原因在于升级到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

转载请注明出处

时间: 2024-10-11 10:33:58

升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方式的相关文章

docker安装升级linux内核(2.6.32->3.10.81),安装成功!

升级linux内核(2.6.32->3.10.81),安装docker 1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 yum groupinstall "Development Tools" #你必须这样才能让 make *config 这个指令正确地执行 yum install ncurses-devel #如果你没有 X 环

初探linux内核编程,参数传递以及模块间函数调用

一.前言                                  我们一起从3个小例子来体验一下linux内核编程.如下: 1.内核编程之hello world 2.模块参数传递 3.模块间函数调用 二.准备工作                           首先,在你的linux系统上面安装linux头文件,debian系列: 1 $:sudo apt-get install linux-headers-`uname -r` 安装后,在你的/lib/modules/目录下有你刚

编译升级linux 内核

Linux kerner即linux内核是整个系统的核心,负责管理硬件和进程之间的切换,平时是不需要进行修改的,那么为什么会有升级内核一说呢?主要来讲,升级内核是为获取新内核版本的的新功能.新特性以及支持的新设备,也就是内核可以集成更多硬件驱动,另外也可以解决旧版本内核版本存在的一直bug,也就是可以修补一些已经解决的内核漏洞,因此,在有些情况下升级内核还是有需要的. 那么问题来,在哪去下载内核呢? 当然是内核的官网了,官网地址是:https://www.kernel.org/ 下载的时候要下载

升级linux内核(2.6.32->3.10.81),安装docker

1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 yum groupinstall "Development Tools" #你必须这样才能让 make *config 这个指令正确地执行 yum install ncurses-devel #如果你没有 X 环境,这一条可以不用 yum install qt-devel #创建 Cent

【转】初探linux内核编程,参数传递以及模块间函数调用

http://www.cnblogs.com/yuuyuu/p/5119891.html ZC: 疑问,最后的 模块kernel_mod 调用 模块kernel_fun的函数fun,是成功的OK的.但是 模块kernel_mod 怎么就知道 它调用的就是 模块kernel_fun的fun函数?如果 又有一个 模块kernel_fun01它也导出了fun函数,此时 模块kernel_mod调用fun的话调用的是哪一个模块的fun函数? (ZC: 测试了一下,两个模块 有相同的导出函数的话,在 加载

64位ubuntu15.04升级Linux内核到linux4.1.0

1. 下载相关内核包 ubuntu官网linux内核仓库: http://kernel.ubuntu.com/~kernel-ppa/mainline/ 下载以下三个deb包: $ wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1-rc1-vivid/linux-headers-4.1.0-040100rc1-generic_4.1.0-040100rc1.201504270235_amd64.deb $ wget -c htt

升级linux内核

查看系统内核 #uname -r  (查看系统的内核版本) # cat /etc/centos-release (查看系统信息) yum grouplist   (查看系统是不是需要安装开发环境和开发库) yum groupinstall  "Development Tools"(确保在编译时所需要的工具齐备) yum install ncurses-devel    (确保 make *config 指令正确) yum install qt-devel    (x环境需要这条.根据真

vagrant故障记--升级虚拟机linux内核导致无法挂载共享文件夹

i'm new to use vagrant,今天升级了下vbox里的ubuntu12.04内核,结果vagrant reload后出现报错. Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in t

使用yum更新时不升级Linux内核的方法

linux下yum命令出现Loaded plugins: fastestmirror Determining fastest mirrors 原创 2013年11月07日 16:27:45 标签: linux / yum 10636 今天yum install的时候出问题了,找了半天才找到一个可行的解决办法 fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了. 不能用就先别用呗,禁用掉,先yum了再说. 1.修改插件的配置文件 # vi  /etc/yum/plu