本文章向大家介绍永久解决Linux更新后Vmware无法打开提示“kernel module updater”,主要包括永久解决Linux更新后Vmware无法打开提示“kernel module updater”使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天更新操作系统,更新完又出现了VMware-workstation无法启动的情况!启动后和上次一样提示kernel module updater,然后点击install提示在安装vmnet和vmmon 然而一会就有个失败的日志提示,打开看和上次的差不多。内容和具体原因可参见上一篇博文:https://www.cnblogs.com/4geek/p/11511592.html
这次不想再像上次那样一步一步的去重新编译再替换,所以在想有没有什么办法可以在每次更新系统后出现同样问题时一键就能顺利打开VMware workstation呢?于是乎又是一顿google操作最终找见了方法。在这里记录下来,依然是为了方便踩入坑的你!
A【参考文献】
翻了很多文献,最终还是以vmware官方的为准:https://communities.vmware.com/thread/609330
B【创建脚本】
[email protected]:~$ touch vmware-update.sh [email protected]:~$ vm vmware-update.sh #!/bin/bash VMWARE_VERSION=workstation-15.5.0 TMP_FOLDER=/tmp/patch-vmware rm -fdr $TMP_FOLDER mkdir -p $TMP_FOLDER cd $TMP_FOLDER git clone https://github.com/mkubecek/vmware-host-modules.git cd $TMP_FOLDER/vmware-host-modules git checkout $VMWARE_VERSION git fetch make sudo make install sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1 sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1 sudo /etc/init.d/vmware restart
其中“VMWARE_VERSION=workstation-15.5.1”,这里的版本号可以通过vmware-installer -l来查看
[email protected]:~$ vmware-installer -l Product Name Product Version ==================== ==================== vmware-workstation 15.5.0.14665864 [email protected]:~$
C【执行脚本】
[email protected]:/home/xxlm# sudo bash vmware-update.sh 正克隆到 'vmware-host-modules'... remote: Enumerating objects: 274, done. remote: Counting objects: 100% (274/274), done. remote: Compressing objects: 100% (161/161), done. remote: Total 1952 (delta 203), reused 153 (delta 113), pack-reused 1678 接收对象中: 100% (1952/1952), 1.10 MiB | 434.00 KiB/s, 完成. 处理 delta 中: 100% (1585/1585), 完成. 分支 'workstation-15.5.0' 设置为跟踪来自 'origin' 的远程分支 'workstation-15.5.0'。 切换到一个新分支 'workstation-15.5.0' *----------------------------------------------------------------------------- * Branch workstation-15.5.0 has been retired on 2020-02-10 and has not been * receiving any updates since. Please switch to latest 15.5.x version * available. * * Latest kernel version this branch is intended to work with is 5.5. *----------------------------------------------------------------------------- make -C vmmon-only make[1]: 进入目录“/tmp/patch-vmware/vmware-host-modules/vmmon-only” Using kernel build system. make -C /lib/modules/5.4.0-31-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[2]: 进入目录“/usr/src/linux-headers-5.4.0-31-generic” CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/linux/driver.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/linux/hostif.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/linux/driverLog.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/memtrack.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/apic.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/statVarsVmmon.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/vmx86.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/cpuid.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/task.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/comport.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/phystrack.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmcore/moduleloop.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/monLoader.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o LD [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmmon.o Building modules, stage 2. MODPOST 1 modules CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmmon.mod.o LD [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmmon.ko make[2]: 离开目录“/usr/src/linux-headers-5.4.0-31-generic” make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[2]: 进入目录“/tmp/patch-vmware/vmware-host-modules/vmmon-only” make[2]: “postbuild”已是最新。 make[2]: 离开目录“/tmp/patch-vmware/vmware-host-modules/vmmon-only” cp -f vmmon.ko ./../vmmon.o make[1]: 离开目录“/tmp/patch-vmware/vmware-host-modules/vmmon-only” make -C vmnet-only make[1]: 进入目录“/tmp/patch-vmware/vmware-host-modules/vmnet-only” Using kernel build system. make -C /lib/modules/5.4.0-31-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[2]: 进入目录“/usr/src/linux-headers-5.4.0-31-generic” CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/driver.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/hub.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/userif.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/netif.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/bridge.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/procfs.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/smac_compat.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/smac.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vnetEvent.o CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vnetUserListener.o LD [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vmnet.o Building modules, stage 2. MODPOST 1 modules CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vmnet.mod.o LD [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vmnet.ko make[2]: 离开目录“/usr/src/linux-headers-5.4.0-31-generic” make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[2]: 进入目录“/tmp/patch-vmware/vmware-host-modules/vmnet-only” make[2]: “postbuild”已是最新。 make[2]: 离开目录“/tmp/patch-vmware/vmware-host-modules/vmnet-only” cp -f vmnet.ko ./../vmnet.o make[1]: 离开目录“/tmp/patch-vmware/vmware-host-modules/vmnet-only” *----------------------------------------------------------------------------- * Branch workstation-15.5.0 has been retired on 2020-02-10 and has not been * receiving any updates since. Please switch to latest 15.5.x version * available. * * Latest kernel version this branch is intended to work with is 5.5. *----------------------------------------------------------------------------- install -D -t /lib/modules/5.4.0-31-generic/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko strip --strip-debug /lib/modules/5.4.0-31-generic/misc/vmmon.ko /lib/modules/5.4.0-31-generic/misc/vmnet.ko if test -z ""; then /sbin/depmod -a 5.4.0-31-generic; fi rm: 无法删除'/usr/lib/vmware/lib/libz.so.1/libz.so.1': 没有那个文件或目录 vmware-update.sh: 行 15: /usr/lib/vmware/lib/libz.so.1/libz.so.1: 没有那个文件或目录 Stopping VMware services: VMware Authentication Daemon done VM communication interface socket family done Virtual machine communication interface done Virtual machine monitor done Blocking file system done Starting VMware services: Virtual machine monitor done Virtual machine communication interface done VM communication interface socket family done Blocking file system done Virtual ethernet done VMware Authentication Daemon done Shared Memory Available done [email protected]:/home/xxlm#
最后就是见证奇迹了!以后只要更新系统出现类似问题,只需要重新运行一下这个脚本就可以很方便的解决这个问题了!
转载自http://www.manongjc.com/detail/15-mhlhjdrpsiywfnf.html