解决——CentOS 7 升级后VMware无法允许,提示“vmware kernel module updater”

【参考文献】

    vmware12 的kernel module updater的解决办法https://yq.aliyun.com/ziliao/221344

【问题】

    升级系统后(yum update) VMware12打不开,出现了kernel module updater的提示。弹出窗体内容大意是: 找不到机器上已安装的 Kernel header。

【解决】

1. 运行如下命令,重新建立模块,如果建立成功应该就没问题了。

vmware-modconfig --console --install-all

2. 如果出错,error提示如下:

/tmp/modconfig-5AxYzD/vmnet-only/compat_netdevice.h:343:46: 
error: ‘struct net_device’ has no member named ‘trans_start’ 
#define compat_netif_trans_update(d) do { (d)->trans_start = jiffies; } while (0)

3. 继续解决

(1). cd进入到 /usr/lib/vmware/modules/source目录,

cd  /usr/lib/vmware/modules/source

(2). 解压并备份 vmnet.tar。解压后出现文件夹vmnet-only

#解压vmnet.tar文件
tar  -xf  vmnet.tar

#备份vmnet.tar文件
mv  vmnet.tar  vmnet.tar.bak

(3). 进入vmnet-only文件夹,修改compat_netdevice.h文件

#找到compat_netdevice.h文件中的如下内容:
#define compat_netif_trans_update(d) do { (d)->trans_start = jiffies; } while (0)
#endif

#修改为如下内容
#define  compat_netif_trans_update(d) do {  } while (0)
#endif

(4). 打包vmnet-only文件夹,然后再次运行vmware-modconfig  --console  --install-all

#返回上一级目录,ls看看vmnet-only文件夹在不在
ls
tar -uf vmnet.tar vmnet-only

vmware-modconfig --console --install-all
 

(5). 运行vmware-modconfig  --console  --install-all后,出现如下提示后表示成功(只截取了最后几行)。重新打开VMware后可以正常运行。

  CC      /tmp/modconfig-sOvyPU/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-sOvyPU/vmnet-only/vmnet.ko
make[1]: 离开目录“/usr/src/kernels/3.10.0-862.14.4.el7.x86_64”
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: 进入目录“/tmp/modconfig-sOvyPU/vmnet-only”
make[1]: “postbuild”是最新的。
make[1]: 离开目录“/tmp/modconfig-sOvyPU/vmnet-only”
cp -f vmnet.ko ./../vmnet.o
make: 离开目录“/tmp/modconfig-sOvyPU/vmnet-only”
Starting vmware (via systemctl):    
 

猜你喜欢

转载自blog.csdn.net/u013894429/article/details/83345332