Kali Linux下使用VMware遇到的问题

安装

到官网下载Linux的资源文件,运行按照提示下一步就可以完成安装
在这个过程中有可能会提示缺少Linux-header文件,只需要在终端用apt下载对应版本的header就可以

1
sudo apt install linux-headers-6.6.9-amd64

安装具体步骤参考文章中的安装VMware
VMware Workstation pro 17

问题出现

刚开始使用虚拟机没有任何问题,但是在安装了虚拟机并运行之后,再重启电脑就会卡在Kali的logo界面
刚开始还没在意,没有想到和VMware有关,但是随着使用虚拟机次数的增多,我渐渐发现每次只要开了虚拟机重启就会卡在logo界面,不能正常进入系统
所以我在logo界面,使用ctrl+alt+f1,打开日志信息,发现居然是vmware.service不能正常启动导致的
开机错误日志
开机错误日志

问题解决

我只能强制关机后再开机,进入系统开始解决问题,我上网搜索了很多一样的情况,他们都是不能正常启动vmnet服务或者是vmon服务,解决办法就是重新安装所有的VM模块,再手动编译安装vmnet和vmon模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash                                                 
VMWARE_VERSION=workstation-17.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 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

我也照做了,但是依旧不能解决问题,不论通过什么方法启动network服务,都不行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
┌──(pi3㉿kali-l22)-[~]
└─$ service vmware status
× vmware.service - LSB: This service starts and stops VMware services
Loaded: loaded (/etc/init.d/vmware; generated)
Active: failed (Result: exit-code) since Sat 2024-02-10 23:10:37 CST; 29min ago
Docs: man:systemd-sysv-generator(8)
Process: 1734 ExecStart=/etc/init.d/vmware start (code=exited, status=1/FAILURE)
Tasks: 1 (limit: 16495)
Memory: 5.4M (peak: 14.6M)
CPU: 444ms
CGroup: /system.slice/vmware.service
└─1861 /usr/sbin/vmware-authdlauncher

2月 10 23:10:33 kali-l22 vmware[1734]: Virtual machine monitor - done
2月 10 23:10:33 kali-l22 vmware[1734]: Virtual machine communication interface - done
2月 10 23:10:33 kali-l22 vmware[1734]: VM communication interface socket family - done
2月 10 23:10:37 kali-l22 vmware[1734]: Virtual ethernet - failed
2月 10 23:10:37 kali-l22 vmware[1734]: VMware Authentication Daemon - done
2月 10 23:10:37 kali-l22 systemd[1]: vmware.service: Control process exited, code=exited, status=1/>
2月 10 23:10:37 kali-l22 systemd[1]: vmware.service: Failed with result 'exit-code'.
2月 10 23:10:37 kali-l22 systemd[1]: vmware.service: Unit process 1806 (vmware-authdlau) remains ru>
2月 10 23:10:37 kali-l22 systemd[1]: vmware.service: Unit process 1807 (logger) remains running aft>
2月 10 23:10:37 kali-l22 systemd[1]: Failed to start vmware.service - LSB: This service starts and >

Virtual ethernet依旧是启动失败

1
2
3
4
5
6
7
8
9
10
11
12
┌──(pi3㉿kali-l22)-[~]
└─$ sudo /etc/init.d/vmware restart
Stopping VMware services:
VMware Authentication Daemon done
Virtual machine monitor done
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Virtual ethernet failed
VMware Authentication Daemon done
Shared Memory Available done

所以我也重装了好几遍VMware,也装了17、16和15的版本,15版本甚至连Virtual machine monitor都启动失败
最后在google上找了很多的问答,也都是差不多,最后只能求助AI,他告诉我:

1
2
3
**Remove Lock Files**: 
If network connections fail to initialize, check for a lock file/directory at `/etc/vmware/networking.lck/`
[Removing this directory and reconfiguring VMware Workstation might resolve the issue](https://forums.gentoo.org/viewtopic-t-955980-start-0.html)

我一看,在/etc/vmware还真有这样一个networking.lck文件,我直接删除了这个文件,然后重启服务,成功了!

1
2
3
4
5
┌──(pi3㉿kali-l22)-[~]
└─$ sudo vmware-networks --status
[sudo] pi3 的密码:
Bridge networking on vmnet0 is running
All the services configured on all the networks are running
  • .lck 通常指的是 锁定文件。这些文件用于防止多个进程同时访问或修改资源(例如文件或数据库)。当进程打开文件时,它可能会创建相应的锁定文件,以表示它正在主动使用该资源。其他进程在尝试修改相同资源之前可以检查此锁定文件。
  • 例如:
    • 在 VMware Workstation Pro 中,缺少 /etc/vmware/networking 文件可能会导致网络问题。一些用户报告找到了一个包含 /etc/vmware/networking.lck 文件夹的 M44303.lck 文件。如果您遇到网络问题,您可能需要重新创建所需的文件。
    • 在 Adobe FrameMaker 中,“网络上的锁定文件”功能会生成一个 .lck 文件,以管理对FrameMaker文档的并发访问。这个功能有时既有帮助又有时会让人感到烦恼,具体取决于情况。