• 升级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

    转载请注明出处



  • 相关阅读:
    struts2学习笔记(二)
    struts2学习问题(一)
    struts2学习(一)
    给 ecplise 配置struts2配置环境
    Servlet的生命周期
    奇数位丢弃
    快速排序和归并排序(C语言)
    学习正则表达式及c#应用
    C#string与stringBuilder的区别
    c#之字符串函数
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6724995.html
Copyright © 2020-2023  润新知