kali安装vmware
作者:探索 来源:娱乐 浏览: 【大 中 小】 发布时间:2026-10-17 06:06:36 评论数:
在Kali里装VMware,安装最烦人的安装不是下载,是安装内核模块编译。你敲完apt install ./vmware-workstation.bundle,安装以为万事大吉,安装结果一开虚拟机就弹窗说“无法找到内核头文件”。安装这事我遇到过三次,安装每次都在不同版本的安装Kali上翻车。
先搞清楚一件事:Kali官方源里没有VMware Workstation。安装你得去Broadcom官网(以前是安装VMware官网)下.bundle文件。2024年之后Broadcom把下载页面改得很难用,安装需要注册账号,安装登录后找“VMware Workstation Pro for Personal Use”那个免费版。安装下载下来的安装文件名类似VMware-Workstation-Full-17.5.2-23298084.x86_64.bundle,版本号会变,安装别照抄。
安装命令很简单:
chmod +x VMware-Workstation-Full-*.bundle sudo ./VMware-Workstation-Full-*.bundle 图形界面会弹出来,一路下一步。但装完第一次启动虚拟机,大概率报错。报错信息通常是“Before you can run VMware, several modules must be compiled and loaded into the running kernel”。
原因就一个:Kali滚动更新太勤快,内核版本比VMware官方支持的还新。VMware自带的vmmon和vmnet模块源码,跟新内核的API对不上。你得手动编译。
先装依赖。别只装linux-headers-$(uname -r),那个不够。把下面这一串都装上:
sudo apt update sudo apt install build-essential linux-headers-$(uname -r) git 然后去GitHub找mkubecek/vmware-host-modules这个仓库。这是社区维护的补丁版,专门适配新内核。别去VMware官方论坛翻旧帖,那些方案早过期了。
git clone https://github.com/mkubecek/vmware-host-modules.git cd vmware-host-modules git checkout workstation-17.5.2 注意分支名。你的VMware版本是多少,就切到对应的workstation-分支。用git branch -a看有哪些可选。切错了编译过不去。
编译和安装:
make sudo make install 如果make报错说找不到vmmon的某个函数,说明分支还是不对。去仓库的issue区搜报错关键词,通常有人贴了补丁。我上次在Kali 2024.2上遇到vmmon: Unknown symbol,换到workstation-17.5.1分支反而好了。
模块装完,重启系统。或者手动加载:
sudo modprobe vmmon sudo modprobe vmnet 用lsmod | grep vm确认两个模块都在。然后启动vmware,新建虚拟机试试。如果还报错,检查/var/log/vmware/下的日志,里面会写具体哪个模块加载失败。
另一个常见坑是网络。VMware的NAT和桥接模式在Kali上偶尔抽风。症状是虚拟机拿到IP但上不了网。先看vmnet8这个虚拟网卡在不在:ip a。不在的话,sudo /usr/bin/vmware-networks --start。还不行就重装vmnet模块,或者去/etc/vmware/networking里检查配置。
有个细节:Kali默认用NetworkManager,而VMware的网络服务依赖systemd-networkd。两者会打架。我一般把VMware的vmnet8设成手动模式,在nmcli里忽略它。具体命令是nmcli dev set vmnet8 managed no,然后重启NetworkManager。
最后说个偷懒方案。如果你只是偶尔用虚拟机,不想折腾内核模块,直接装virtualbox或者用qemu/kvm。Kali源里都有,apt install virt-manager qemu-kvm,五分钟搞定。VMware在Kali上的体验,实话说不算好,每次内核更新都得重新编译模块。但如果你需要USB直通或者特定硬件兼容性,那还是得忍着用VMware。
我现在的做法是:把vmware-host-modules的编译命令写成一个脚本,放在/usr/local/bin/fix-vmware.sh。每次apt upgrade之后跑一下,省得重新查分支号。脚本内容就三行:cd到仓库目录,git pull,然后make && sudo make install。挺管用的。
