解決——CentOS 7 升級後VMware無法允許,提示“vmware kernel module updater”
阿新 • • 發佈:2018-12-17
【參考文獻】
【問題】
升級系統後(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):