因为之前使用破解锐速一直用着低版本,最近机子升级内核后VMWARE无法启动。查找相关资料发现原因在于升级到ubuntu 14.04之后现在的Linux内核版本是3.13,这个内核版本修改了一些底层函数,而VMWare的相关源码包还没有来得及修改相关代码。由于是内核版本的问题,所以同样的问题也大量出现在Fedora等系统上。

因此同样的问题可以继续存在于3.14, 3.15等后续版本中。解决方法如下。

先尝试直接启用自检

vmware-modconfig --console --install-all
  • 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 

参考资料:
http://blog.csdn.net/yanxiangtianji/article/details/25656335
http://blog.csdn.net/bearox/article/details/21294609