
先说结论Linux下完全可以装VMware Workstation而且装好了体验不比Windows宿主差太多。昨晚我在一台Ubuntu 24.04的机器上把VMware Workstation Pro 17 for Linux完整走了一遍从下载安装包、处理内核依赖到创建虚拟机、装Linux系统、装VMware Tools、解决网络问题一条龙全部记了下来。如果你正准备把主力机换成Linux又不想抛弃Windows软件或者只是想用虚拟机装个Ubuntu、Kali来折腾这篇文章应该能帮你省下不少时间。内容适合谁刚接触虚拟机的小白被“vmnet1感叹号”“虚拟机没网络”“VMware Tools安装脚本报错”折磨的半新手以及准备在Linux桌面上跑虚拟机的朋友。我会把命令行、界面操作、排错思路都写清楚尽量做到拿来就能用。1. 方案选型与安装前检查为什么是VMware以及先确认什么1.1 三种方案怎么选VMware、VirtualBox、KVM先说选型。Linux下跑虚拟机绕不开三个选择VMware Workstation、Oracle VirtualBox、以及内核自带的KVM。很多人一上来就问哪个最好其实没有最好只有适不适合你的场景。VMware Workstation Pro的优势是图形化做得好、向导式操作、虚拟网络编辑器直观、快照和克隆都很顺。尤其是对希望“双击就能用”的人来说VMware的交互比命令行友好太多。而且从17版本开始VMware Workstation Pro对个人使用是免费的只要去官网注册账号就能拿到合法的个人许可证这解决了以前到处找注册机的尴尬。VirtualBox免费开源功能也不差但我在实际使用中遇到过几次USB设备穿透不稳定、显卡驱动加载失败的问题。如果在Windows下用还好到了Linux下Guest Additions偶尔会跟新版内核不兼容需要手动编译对新手不太友好。KVM是Linux内核自带的虚拟化方案性能损耗最小适合服务器和长期运行的生产环境。但它的管理工具virt-manager、libvirt虽然已经很成熟总体使用门槛还是比VMware高一些而且如果你在桌面环境里需要无缝剪切板、拖拽文件这类功能KVM的默认体验需要额外配置。我的建议很简单如果是个人桌面用图省心选VMware Workstation。如果是服务器、NAS、云主机场景KVM是更好的基线。VirtualBox更适合喜欢纯开源、不愿意碰闭源软件的人。这篇文章后面所有内容都基于VMware Workstation Pro 17 for Linux。1.2 安装前检查CPU虚拟化、内存、内核依赖在正式安装之前有几项检查必须做否则装完也起不了虚拟机。第一件事是确认CPU支持硬件虚拟化并且已经在BIOS/UEFI里开启。grep -E -c (vmx|svm) /proc/cpuinfo如果输出大于0说明CPU虚拟化已经开启如果输出是0大概率是BIOS里的“Intel VT-x”或“AMD-V”选项没打开。某些轻薄本默认关闭虚拟化需要进BIOS设置。还有一种情况是你本身就在另一个虚拟机里装Linux那么嵌套虚拟化没有开启时这里也会返回0这时候需要在宿主的虚拟化软件里打开“向客户机暴露虚拟化指令”一类的选项。第二步检查内存和磁盘。跑一个Ubuntu桌面虚拟机建议宿主至少有8GB内存给虚拟机分4GB比较舒服。磁盘方面虚机镜像加上系统安装后容易膨胀至少预留30GB以上。free -h df -h第三步确认内核版本和发行版信息uname -r cat /etc/os-releaseVMware Workstation 17对内核版本有要求太老的内核比如3.x会直接拒绝安装。主流发行版Ubuntu 22.04/24.04、Debian 12、Fedora 39/40、openSUSE Leap 15.5都没问题。内核版本不是越新越好偶尔内核太新反而会导致VMware的内核模块来不及适配后面我会在第5节讲怎么处理。1.3 在Ubuntu/Debian和Fedora上安装依赖VMware在安装过程中和第一次启动虚拟机时需要编译内核模块vmmon、vmnet所以要安装好编译工具和内核头文件。Ubuntu/Debian系列执行sudo apt update sudo apt install -y build-essential gcc make linux-headers-$(uname -r)Fedora/RHEL系列执行sudo dnf groupinstall Development Tools sudo dnf install -y kernel-devel kernel-headers注意如果你刚升级过内核最好重启一下再用uname -r确认当前内核与安装的linux-headers版本一致。很多人启动虚拟机时报错“Kernel headers not found”就是因为头文件版本和当前内核对不上。这个问题在Ubuntu上尤其常见解决办法是先执行sudo apt install linux-headers-generic再配合sudo vmware-modconfig --console --install-all重新编译模块。其实这一步是最容易被跳过的网上很多教程直接让你装VMware结果打开后创建一个虚拟机就崩。把依赖提前装好后面一路顺风。2. VMware Workstation 17在Linux上的安装与首次配置2.1 下载安装包与校验打开VMware官网下载页面选择Workstation Pro的Linux版本文件是一个.bundle格式的可执行安装包。目前17.5.x对应文件名大概长这样VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle。版本号可能会变下载时认准Linux版本就行。如果你更习惯命令行下载也可以直接在服务器终端里用wget拉取但要注意官网的直链地址经常变化而且现在下载需要登录Broadcom账号。我的建议还是先用浏览器登录官网下载下载完后再传到要安装的机器上。下载后最好校验一下文件完整性防止下载损坏。官方页面会给出MD5或者SHA256值用下面命令计算md5sum VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle sha256sum VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle比对一下输出值和官网给的是否一致。这一步看着多余但要是安装过程中解包报错多半就是安装包有问题先校验能排除一个变量。2.2 命令行安装详解给安装包添加可执行权限然后直接运行chmod x VMware-Workstation-Full-*.x86_64.bundle sudo ./VMware-Workstation-Full-*.x86_64.bundle --console如果你是在有图形界面的桌面上安装不加--console会弹出图形安装向导点几下“Next”就能完成。用--console的好处是全程在终端里适合SSH远程安装出错信息也更清楚。安装过程中会问是否安装“Enhanced Kernel Modules”一般选“Yes”这个模块可以提升某些场景下的性能。安装完成后终端里输入vmware回车就能启动如果命令提示找不到可以检查一下/usr/bin/vmware或/usr/lib/vmware/bin/vmware路径。第一次启动会要求阅读并接受许可协议还要选择是否自动检查更新按需勾选。启动虚拟机时如果遇到“Cannot connect to VMnet8”或“modconfig failed”之类的报错通常是因为内核模块还没编译好运行下面命令重新编译sudo vmware-modconfig --console --install-all这条命令在Linux内核升级后同样管用。很多教程把这个藏在最后我建议一遇到网络或启动问题先跑它省去后面一堆折腾。2.3 许可证、首次启动与“没有配置/打开选项”现在处理许可证。Workstation Pro 17对个人免费但你需要一个许可证密钥。打开VMware Workstation点菜单栏Help选择Enter License Key输入官网个人许可密钥即可。如果没有密钥也可以选“试用”不过试用期过了就要交钱或续期。老实说网上搜“vmware 17许可证密钥”出来的那些数字大多来路不明没必要去碰官方个人免费许可用起来简单放心。第一次启动后有人会遇到一个问题主界面看起来空荡荡没有“打开虚拟机”“创建新虚拟机”的选项。这不是软件坏了而是还没完成许可证激活或者窗口太小。先点菜单栏File确认一下里面应该有“New Virtual Machine”和“Open”。如果视图布局变了尝试点击主窗口右上角的“Library”图标把资源库面板调出来。网上的“wmware 17虚拟机没有配置和打开选项”指的大多就是这种情况。还有一个常见情况是安装完成后直接从终端sudo vmware启动导致权限混乱界面不完整。正确做法是普通用户直接运行vmware需要管理员权限时软件会自己弹窗请求。假如你想修复安装或卸载用sudo vmware-installer -u vmware-workstation即可不加sudo会提示权限不足。这个提示和你在Windows上“修复时需要管理员”是一个逻辑Linux下直接sudo执行就好。3. 创建虚拟机并安装Linux系统3.1 虚拟机硬件配置怎么选才不卡创建虚拟机时很多人上来就一通乱配结果运行起来卡成PPT。我一般是用“Custom”模式手动定义硬件重点看四个参数。第一是CPU安装时会问你每个CPU的核数和CPU数量。对虚拟机来说不是给得越多越快分配太多反而会影响宿主性能。建议先给2核后面不够再加。如果你要在虚拟机里跑嵌套虚拟化比如在Kali里再用Docker跑容器记得在“Virtualization engine”里勾选“Virtualize Intel VT-x/AMD-V/RVI”。第二是内存Ubuntu桌面版建议至少4GB如果宿主内存有16GB给8GB会更流畅。内存给太小的后果是系统频繁使用swap整台虚拟机就像在硬盘上游泳体验很糟。经验值虚拟机内存不要超过宿主机物理内存的一半否则容易出现宿主卡死。第三是磁盘选择“Create a new virtual disk”。磁盘分配里有两个选项立即分配所有空间和按需分配。按需分配更省空间但性能略差立即分配性能稳定但会马上占满对应大小的宿主机磁盘。我习惯用按需分配配合定期清理快照体积可控。磁盘接口默认NVMe即可但如果要装Windows 7这种老系统改成SATA兼容性更好。第四是固件类型新建虚拟机时可以选择BIOS或UEFI。Win10/11、新版本Ubuntu建议用UEFIWindows 7及更老的系统用BIOS。如果选错很容易出现安装中途蓝屏或引导失败。3.2 安装Ubuntu/Kali的实际流程硬件参数定好后进入选择ISO镜像的步骤选“Use ISO image”浏览到下载好的系统镜像文件。无论装Ubuntu还是Kali安装过程都差不多我就以Ubuntu 24.04为例说几个容易踩坑的点。安装Ubuntu时语言建议直接选中文装完就是中文环境省得再装语言包。安装类型选择“擦除整个磁盘并安装Ubuntu”这里擦除的是虚拟磁盘不是宿主磁盘不用担心。接着会创建用户、设置密码这一步不要跳过设置自动登录。Kali Linux稍微特殊官方安装镜像默认是安装器选“Graphical install”进图形安装向导分区那里选“Guided - use entire disk”其他选项保持默认。Kali安装完默认不给你root的图形登录直接用安装时创建的用户登录后续需要root就执行sudo -i。如果遇到安装过程中黑屏或显示器不刷新可以检查两点虚拟机设置里“Accelerate 3D graphics”是否开启如果开启了就关闭试试内存是否低于2GBKali桌面版内存低于2GB很容易卡死或花屏。这里的“花屏”很多人会描述成“蓝屏”其实思路一样先查资源再查显卡设置。安装完系统后别忘了在“设备”菜单里断开ISO镜像的光驱连接否则每次启动虚拟机会优先从光驱引导卡在“Press any key to boot from CD”的提示上。3.3 VMware Tools与open-vm-tools你怎么选VMware Tools是虚拟机顺畅运行的关键。它负责分辨率自适应、剪贴板共享、文件拖拽、鼠标无缝切换这些体验。没有Tools虚拟机最容易出现的现象是屏幕只能固定在一个分辨率鼠标进入虚拟机后按CtrlAlt才能释放文件拖拽更是想都别想。在Linux客户机里我推荐优先安装open-vm-tools这是开源版本和发行版仓库集成得很好直接一条命令搞定sudo apt update sudo apt install -y open-vm-tools open-vm-tools-desktopopen-vm-tools-desktop是桌面增强组件如果你的虚拟机只做服务器用途只装open-vm-tools就够了。Fedora上对应命令是sudo dnf install open-vm-tools open-vm-tools-desktop。如果你非要走GUI菜单的“Install VMware Tools”VMware会把一个虚拟光驱挂载到系统里里面有个.tar.gz压缩包需要自己解压编译。高校遇到的问题是解压后文件名乱码这一步其实不是文件坏了而是ISO里的字符编码和当前环境不匹配一般正常挂载后不会出现。总而言之Linux下直接apt/dnf装open-vm-tools比手动编译省心太多。3.4 “继续运行脚本未能在虚拟机中成功运行”的完整处理这可能是很多人搜索“vmware tools 继续运行脚本未能在虚拟机中成功运行”的原因。我来还原一下场景在VMware里给Windows虚拟机安装VMware Tools安装程序一路点下来最后弹出提示“安装程序无法继续运行脚本。如果您在此虚拟机中配置了自定义脚本请确保……”之类的话有的版本翻译是“继续运行脚本未能在虚拟机中成功运行”。这个报错的根源99%是权限问题。VMware Tools在Windows客户机里需要以管理员身份运行。解决办法是把安装文件解压或挂载出来后右键点击setup64.exe选择“以管理员身份运行”。如果已经弹了报错先重启Windows虚拟机再以管理员身份重新运行安装程序基本不再出现。在Linux客户机里对应的错误通常是提示脚本执行失败这时先确认已安装gcc和linux-headerssudo apt install -y build-essential linux-headers-$(uname -r) sudo ./vmware-install.pl安装脚本执行到一半退出多半是权限不够或头文件缺失重新用sudo跑一遍就行。如果反复报错但不影响使用也可以试试用open-vm-tools替代官方Tools很大程度上能绕过这个问题。4. 网络模式与宿主机访问虚拟机网站4.1 NAT、桥接、仅主机模式对比虚拟机要联网就得理解VMware的三种网络模式。我见过太多人卡在“虚拟机没网”上其实按需求选模式一分钟就能解决。模式默认VMnet能否访问外网宿主机能否访问虚拟机外部设备能否访问虚拟机适用场景NATVMnet8能能默认不能需端口转发最常用安全安装系统首选桥接VMnet0能能同网段能需要局域网内互相访问仅主机VMnet1不能能不能建隔离测试环境NAT模式相当于虚拟机躲在宿主机后面上网像家里孩子通过路由器上外网。宿主机能看到虚拟机但外面的设备看不到虚拟机。如果你想在虚拟机里跑个网站让同事通过局域网直接访问那就得用桥接模式让虚拟机跟宿主机在同一个物理网段里相当于虚拟机直接在局域网中占了一个地址。仅主机模式最简单虚拟机和外网物理隔离适合做恶意软件分析、网络攻防实验这类不希望流量出去的场景。4.2 vmnet1感叹号、没有网络适配器的排查实录Windows宿主机的设备管理器里经常会看到VMnet1带黄色感叹号Linux宿主下也类似ip addr show vmnet1看不到IP或者状态为DOWN。首先说清楚vmnet1是仅主机模式对应的虚拟网卡vmnet8对应NAT模式。如果你平时只用NATvmnet1感叹号不影响虚拟机上网但强迫症看着不舒服。排查步骤从重启虚拟网络服务开始sudo vmware-networks --stop sudo vmware-networks --start然后查看两个网卡状态ip addr show vmnet1 ip addr show vmnet8正常情况下vmnet1和vmnet8都应该有类似192.168.x.1/24的IP。如果还是没有运行sudo vmware-netcfg打开虚拟网络编辑器找到VMnet1对应的Host Virtual Adapter检查子网IP和DHCP设置是否被改成奇怪的值。遇到过有人把子网IP改成和公司局域网冲突的网段结果整个虚拟机网络乱套。如果虚拟机设置里干脆没有网络适配器这种情况一般是建虚拟机时选错了模板或者模板是导入的OVF文件里漏掉了网卡。关闭虚拟机打开“虚拟机设置”在“Network Adapter”里点“设备状态”勾选“Connect at power on”网络连接方式选NAT。如果列表里连网络适配器这项都没有点“Add”手动添加一个。记住一个原则改虚拟网络之前先关闭VMware里所有运行中的虚拟机。我踩过很多次虚拟机开机状态下改NAT设置虚拟机网卡拿不到IP重启服务也不管用关掉虚机再改就正常了。4.3 用NAT端口转发让同事访问你虚拟机里的网站最常见的需求是我在虚拟机里用nginx或者WordPress搭了个网站宿主机能打开怎么让局域网里的同事也打开最简单粗暴的办法是换成桥接模式虚拟机直接获取局域网网段IP同事访问虚拟机IP即可。但桥接在某些公司网络里行不通因为交换机上有MAC绑定或认证这时走NAT端口转发更稳。打开“编辑”-“虚拟网络编辑器”选择“VMnet8”点击“NAT Settings”。在端口转发区添加一条规则比如“主机端口8080”转发到“虚拟机IP的80端口”。宿主机上的端口就是同事要访问的端口比如http://宿主机IP:8080它会自动把流量转到虚拟机里的80端口。命令行修改也是可以的。直接编辑/etc/vmware/vmnet8/nat.conf在[incomingtcp]段下加一行8080 192.168.11.128:80保存后重启VMware网络服务sudo vmware-networks --stop sudo vmware-networks --start这里的192.168.11.128是虚拟机在NAT网段里的IP可以用ip addr在虚拟机里查看。别忘了开宿主机防火墙端口Ubuntu下如果是ufw的话sudo ufw allow 8080/tcp访问前先在宿主机上用浏览器测一下http://127.0.0.1:8080通了再让同事访问局域网IP。如果宿主机上已经装了别的服务占用8080换个端口就行。5. 一些值得记下的Linux宿主机操作笔记5.1 删除虚拟机目录、快照与克隆删除虚拟机这事看起来简单其实坑很多。如果你直接从文件管理器里删掉虚拟机目录VMware主界面的资源库列表里还会残留一条记录点击就报错“找不到虚拟机文件”。正确做法是在VMware里右键虚拟机选择“Remove from Library”然后再去磁盘上删除对应目录。目录位置一般在~/vmware或你自定义的路径用rm -rf删除前先在VMware里把虚拟机关机。快照是虚拟机的“后悔药”。但注意创建快照最好在关机状态下或者至少确保文件系统一致性。如果你在Windows虚拟机里开着数据库就拍快照恢复后数据可能不一致。Linux虚拟机配合open-vm-tools能支持静默快照但最保险的做法还是关机后再拍。快照多了会占大量磁盘空间每个快照都会保存当时磁盘的差异数据建议保留关键节点即可。克隆功能在做实验环境时很实用。克隆出的虚拟机是独立的和模板互不影响。但克隆前也要关闭源虚拟机否则克隆出的副本文件系统状态可能不一致启动后会有各种诡异问题。5.2 虚拟机里跑Windows蓝屏/卡顿怎么处理虽然这篇文章标题是“Linux下安装VMware虚拟机”但很多人装完VMware之后第一个装进去的其实是Windows用来解决某些必须用Windows的办公软件。Windows虚拟机遇到蓝屏一半以上是这三个原因。第一个原因是虚拟化安全功能。Windows 10/11默认开启基于虚拟化的安全VBS和内核完整性在虚拟机里反而容易和VMware的嵌套虚拟化冲突。解决方法是关闭客户机里的VBS或者在VMware虚拟机设置里不勾选“Virtualize Intel VT-x/AMD-V/RVI”。如果你确实要再套一层虚拟机那VBS这项就要关掉。第二个原因是固件类型不对。Windows 7的镜像用UEFI引导很容易蓝屏建议虚拟机固件选BIOSWindows 11则必须UEFI加TPMVMware Workstation 17支持虚拟TPM但在虚拟机设置里需要先勾选“加密虚拟机”才能添加TPM设备。第三个原因是内存或显卡配置太低。Windows 10虚拟机至少4GB内存显存调到128MB以上禁用3D加速是老办法但新版Windows桌面如果没有3D加速会越来越卡所以3D加速开关看你装的系统版本Win10 22H2以后建议开着。卡顿的通用解法先装好VMware Tools或open-vm-tools这是第一步。其次关闭Windows的一些视觉效果虚拟机的图形性能毕竟是虚拟的不值得为动画效果浪费CPU。5.3 内核升级后vmmon模块失效与日志查看经验Linux宿主最让人头疼的一点是内核升级太频繁。今天还能正常启动虚拟机明天系统提示内核更新重启后VMware就报错“Kernel module not found”或者“Unable to open kernel device”。原因很简单系统换了一个新内核VMware的vmmon、vmnet模块要为新内核重新编译一遍。处理命令是sudo vmware-modconfig --console --install-all执行完再启动VMware一般就能恢复。如果还是不行检查是否缺少对应的linux-headers包重新执行sudo apt install -y linux-headers-$(uname -r) sudo vmware-modconfig --console --install-all这一类问题看日志是最快的。VMware在/tmp下会生成很多日志文件比如/tmp/vmware-用户名/vmware.log里面记录了虚拟机的启动过程、模块加载情况、网络配置细节。遇到网络起不来、虚拟机启动失败先翻日志再动手改配置这是我吃了无数亏之后总结出来的习惯。如果你在虚拟机里装的是Kali、Ubuntu这类测试环境更新太频繁反而容易出问题。我个人的做法是虚拟机和宿主机分开管理更新节奏宿主机做常规安全更新虚拟机除非必要否则不随便升级内核。5.4 关于Linux下用VMware的一点个人看法用过一段时间后我对“Linux下安装VMware虚拟机”这件事的评价是可用好使但需要一点点耐心。VMware在Linux下的稳定性比早几年好太多了官方也一直在跟内核适配只要依赖装齐、模块编译通过基本能当主力虚拟化软件用。日常我更喜欢把VMware当成“系统兼容层”宿主机跑Linux写代码虚拟机里开Windows处理网银、Office或者在Kali里做安全实验完全互不干扰。比起双系统重启切换的麻烦虚拟机的快照和克隆让我有底气随便折腾坏了就还原。有人觉得虚拟机会拖慢宿主机实际上现在的CPU多核性能应付一两个虚拟机绰绰有余关键是内存要给够。这台宿主机上我把CPU核分配、内存占用、虚拟机磁盘位置都做了一次规划用了两周没有再出现明显卡顿或网络失联的情况。如果你也打算这么干我建议一开始就把虚拟机目录放到读写快的SSD上快照定期清理网络模式按需选择千万别安装时选NAT后面需要外网访问就乱改成桥接那样最容易出问题。技术这条路很多坑是别人提前踩过、写出来你才能避开的。我今天把这些整理出来也算给后来者留个路标。