ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Ubuntu 22.04安装VMware Workstation全攻略:从依赖到报错排查

Ubuntu 22.04安装VMware Workstation全攻略:从依赖到报错排查 Ubuntu 22.04装好之后我第一件做的事就是装VMware Workstation。原因很简单——我需要一个稳定的Windows环境来处理网银、发票和一些只能在Windows上跑的老软件又不想为了这些事来回重启切换系统。虚拟机软件把这个问题解决了而VMware是这类工具里我踩坑最少、最顺手的一个。这篇教程就写我在Ubuntu 22.04下安装VMware虚拟机的完整过程包括下载、安装、创建虚拟机、处理各种报错的排查思路新手照着做就能跑起来已经装过但遇到问题的人也能在对应章节找到解决办法。1. 动手之前为什么我在Ubuntu 22.04上选择VMware而非其他方案先说结论如果在Linux桌面上需要跑Windows或其他系统VMware Workstation Pro、VirtualBox、KVM这三条路线我都试过最终我留了VMware作为主力。这个选择不是拍脑袋踩过一遍之后差异很清晰。1.1 三款主流方案的差异和选型理由KVM是Linux内核自带的虚拟化方案性能最好但对新手极不友好。它的管理工具链碎片化本地图形管理界面要么靠virt-manager要么靠命令行创建虚拟机、配置网络、管理快照这些操作的学习曲线比VMware陡一个量级。如果你本身就是用Linux做服务器虚拟化的运维KVM是正路但如果你只是想装个Windows跑软件KVM是在给你增加工作量。VirtualBox免费开源装起来也简单但对Windows客户机的3D加速、高分屏适配、USB设备兼容性一直有老毛病。我在VirtualBox里装Windows 11出现过桌面撕裂、蓝牙设备无法识别、文件拖拽偶尔失效这些零碎问题。不是不能用是“能用”和“好用”之间有明显差距。VMware Workstation Pro的优势在于它的图形界面和默认配置都成熟对Windows客户机的驱动兼容性做得最好。更关键的是VMware在2024年开始对个人用户免费提供Workstation Pro的许可这个门槛一去掉它在个人桌面端的实用性立刻超过了VirtualBox。在Ubuntu 22.04这个LTS版本上VMware Workstation 17系列对内核5.15的适配已经很成熟安装过程主要问题都能解决。1.2 版本选择为什么选Workstation 17 Pro而不是老的版本官网现在只提供Workstation Pro 17.x的下载。旧版本的Workstation 16在Ubuntu 22.04上也能装但有一个实际痛点新内核发布后旧版本VMware的内核模块编译失败概率明显更高官方也不再为老版本适配新内核出了问题只能靠社区补丁非常被动。Workstation 17 Pro对Ubuntu 22.04的支持是完整的安装器、内核模块、VMware Tools配套都是官方维护状态。如果你看到某些网站推荐“VMware 16轻量稳定”我的建议是别折腾直接上17。新版本占用的内存差距对现代电脑来说几乎可忽略但省下的时间成本是实打实的。1.3 安装前确认的三个系统条件在下载安装包之前确认三件事系统是64位Ubuntu 22.04只有64位版本这一点基本不会出错。CPU支持虚拟化在终端执行grep -E --color vmx|svm /proc/cpuinfo有输出就说明支持并在BIOS里开启了。如果没有任何输出需要进BIOS打开Intel VT-x或AMD-V。这个一定要在装VMware之前确认不然装完创建虚拟机时会报“此主机不支持虚拟化实际模式”之类的错。磁盘空间足够VMware软件本身只要几个GB但你要创建Windows虚拟机的话建议预留至少60GB可用空间后面装系统、装软件、做快照都用得上。虚拟机磁盘文件是动态增长的空间不足会直接导致虚拟机崩溃。提示Ubuntu 22.04默认开启了Secure Boot。VMware安装时需要编译内核模块Secure Boot开启状态下模块加载会被阻止。这个问题会在第4章详细讲安装前建议先了解免得卡在那一步。2. 下载与安装从官网到bundle安装器的完整命令流VMware Workstation在Linux下的安装包是一个.bundle文件这是一种自解压的安装器格式需要在终端里以可执行文件方式运行。整个过程分三步装依赖、下载bundle、执行安装。2.1 第一步安装编译内核模块所需的依赖很多教程跳过了这一步直接让你运行bundle然后在安装过程中报编译错误。其实原因很简单VMware安装时要编译两个内核模块vmmon和vmnet编译需要GCC工具链和与当前内核版本完全匹配的内核头文件。sudo apt update sudo apt install -y build-essential linux-headers-$(uname -r)build-essential提供GCC、make等基础编译工具linux-headers-$(uname -r)是当前内核对应的头文件包。$(uname -r)会自动匹配你正在运行的内核版本比如5.15.0-91-generic所以这条命令不需要手动改版本号。如果你的Ubuntu 22.04之前自己编译过内核模块、装过DKMS基本上这些依赖已经有了但保险起见跑一遍不会错apt会自动跳过已安装的包。2.2 第二步从官方渠道下载bundle安装包并授权执行去VMware官网的下载页面获取Workstation Pro for Linux的bundle文件。下载时注意看清楚是Linux版本不是Windows版本。文件名类似VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle大小在500MB左右。下载完成后打开终端进入下载目录执行两条命令chmod x VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundlechmod x是给文件添加可执行权限。.bundle文件本质是一个脚本和二进制数据的组合不赋予执行权限的话系统会提示“权限不够”这是Linux的基本安全机制也是Windows转Linux用户最容易踩的第一个坑。下载文件后如果双击没反应通常就是缺这一步。2.3 第三步安装向导里的选项怎么选执行sudo命令后会弹出一个图形化的安装向导。这个向导全程比较简单但有三个地方值得注意是否提供产品更新默认勾选。我建议取消减少后台检查和弹窗。加入用户体验改善计划取消勾选。安装路径默认装在/usr/lib/vmware不用改改动路径反而可能引发后续权限问题。安装过程会持续3到5分钟期间终端会有大量编译输出。如果安装器停住不动先别急着关窗口查看CPU占用如果vmware-modconfig相关进程在跑说明正在编译模块多等一会。编译完成后终端会回到提示符安装就算结束了。2.4 安装器不弹图形界面的处理办法有时候在纯净的Ubuntu 22.04上执行bundle图形向导可能不出现直接卡在终端。这种情况通常是因为缺少图形库或者桌面环境识别异常。一个简单的处理方式是在安装命令后加上控制台模式参数sudo ./VMware-Workstation-Full-17.5.2-23775571.x86_64.bundle --console--console参数允许安装器以文本交互方式运行效果一样只是界面从图形换成终端菜单选项都一样。我个人反而更推荐用这个方式安装过程更透明出问题能直接看到错误输出。3. 第一次创建虚拟机许可证、固件类型和资源分配里容易被忽略的细节安装完VMware后第一件事是打开软件处理许可证然后创建第一台虚拟机。很多人在这一步遇到问题其实不是软件坏了而是几个细节没处理好。3.1 许可证从哪来、怎么填Workstation Pro启动后会弹出版本选择窗口官方目前对个人用户免费提供Workstation Pro许可。正确流程是去Broadcom官网注册一个账号在下载页面申请一个个人用途的许可证密钥然后把密钥填进VMware的“帮助-许可证”窗口。我遇到过的情况是有人看到要注册账号就直接去搜索“VMware 17许可证密钥”找到一堆来路不明的注册机或共享密钥。我的建议是别用那些。个人免费许可申请只需要几分钟填写的也是邮箱和基本信息官方渠道拿到的密钥稳定可靠不存在封号或密钥失效的问题。注意如果你只是试用VMware也提供30天试用期不填许可证也能用。但试用期过期后虚拟机启动会被限制所以还是尽早把密钥填上。3.2 创建虚拟机时固件类型选BIOS还是UEFI创建虚拟机的向导盘里有一个“固件类型”选项默认是UEFI。这个设置很多人直接跳过但实际影响很大。如果你要安装的客户机系统是Windows 10/11或者较新的Ubuntu、Debian版本UEFI没问题。但如果你要装Windows 7、老版Windows XP这类旧系统或者某些精简版系统ISOUEFI会导致启动失败症状是虚拟机黑屏、提示找不到启动设备。这种情况的解决方案是选BIOS兼容模式。在VMware的虚拟机设置里进入“虚拟机-设置-选项-高级”把固件类型改成BIOS再重新启动虚拟机问题就解决了。从实际操作来看如果你不确定要装什么系统先选BIOS是最保险的兼容性最好。3.3 内存、CPU、磁盘怎么给才合理资源分配的合理值取决于宿主机的硬件配置。给虚拟机的资源过多宿主机自己会卡给太少虚拟机里的系统会慢到怀疑人生。下面是我在16GB内存、8核CPU的笔记本上的参考分配配置项建议值场景说明内存4-8GB跑Windows 10/11建议至少4GB跑Linux桌面2GB就够CPU核心数2-4核根据宿主机核心数分配一半左右磁盘60-80GB系统盘空间按需扩充显卡内存2GB跑Windows建议调高处理高分屏和动画更流畅一个比较反直觉的点CPU核心数不是给得越多越好。虚拟机内部的任务调度和宿主机之间有空闲抢占的开销核心数给的过多性能反而可能下降。我的经验是双核跑日常软件足够四核跑编译和大型软件才有效果。磁盘方面VMware默认是动态分配也就是实际使用多少就占宿主机多少空间创建时填写的数字是容量上限。所以不用怕创建时分配空间太大占硬盘只要你不把文件放进去它不会真正占用这些空间。3.4 安装客户机系统时的几个实操提醒在虚拟机光驱里挂载ISO镜像启动虚拟机后就开始正常的系统安装流程。在这个过程中有几点体会第一Ubuntu 22.04的服务器版本做客户机时如果安装时不开SSH服务装完再想远程管理会比较费劲。建议在安装向导的SSH配置那一步直接勾选OpenSSH。第二Windows客户机装完后第一时间安装VMware Tools或者open-vm-tools不然屏幕分辨率固定在800x600鼠标在虚拟机内外切换不流畅剪贴板也无法共享。这部分在第5章展开讲。第三客户机系统的ISO镜像尽量用官方原版。精简版、Ghost版系统在虚拟机和实体机上一样有各种魔改问题出了问题排查成本极高。4. 常见报错排查模块编译失败、无法连接虚拟机、Secure Boot与权限问题这一章是全文的重头戏。安装VMware不难难的是装完启动时报错。我在Ubuntu 22.04上遇到过“无法连接到虚拟机”“模块编译失败”“用户没有权限”等几个高频问题把完整的排查链路和解决思路写在这里。4.1 “vmware workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用”的处理流程这个报错从现象上看非常吓人很多人以为是软件安装坏了甚至直接卸载重装。实际上它的大概率原因是VMware服务没有启动或者内核模块加载失败。我的排查步骤是这样的第一步检查vmmon和vmnet这两个内核模块是否存在ls /dev/vmmon /dev/vmnet如果提示No such file or directory说明模块没有加载。第二步加载模块sudo modprobe vmmon sudo modprobe vmnet如果modprobe没有报错再启动虚拟机问题大概率解决。如果modprobe报错比如提示Required key not available那是Secure Boot在拦截未签名的内核模块跳到第4.3节处理。第三步modprobe正常但问题依旧尝试重建模块。VMware官方提供了模块配置命令sudo vmware-modconfig --console --install-all这个命令会把当前内核对应版本的vmmon、vmnet模块重新编译并安装。编译完成后重新启动VMware Workstation一般都能恢复。4.2 模块编译失败的三种常见原因在运行vmware-modconfig --console --install-all或者安装过程中编译失败是最常见的报错。失败的本质原因通常是GCC版本或内核头文件不匹配。第一种情况是缺少内核头文件。解决办法是在前面第2章的依赖安装命令基础上再装一个通用的头文件包sudo apt install -y linux-headers-generic第二种情况是GCC版本过旧或过新。Ubuntu 22.04自带的GCC版本是11VMware 17对其支持良好。如果你自己装过其他版本编译报错时先确认当前GCC版本gcc --version如果多个版本共存cmake和模块编译会默认使用/usr/bin/gcc的软链接可以用ls -l /usr/bin/gcc查看指向哪个版本确保是gcc-11。第三种情况是内核更新后头文件失效。Ubuntu会定期推送内核更新升级后/usr/lib/modules/$(uname -r)/build这个路径指向的旧内核头文件会被清理模块自然编译失败。重启进入新内核后再重装依赖和重建模块就能解决。4.3 Secure Boot开启时的完整处理思路Ubuntu 22.04在UEFI模式下默认开启Secure Boot这是导致VMware模块无法加载的主要原因之一。执行modprobe vmmon时如果提示Required key not available就是这个原因。Secure Boot的机制是只允许加载经过签名的内核模块VMware官方模块没有对应签名所以被内核拒绝。解决思路有两条方案一关闭Secure Boot我推荐这个方案进入BIOS设置找到Secure Boot选项并关闭。不同品牌电脑的BIOS路径不同一般位于Security或Boot选项卡下。关闭后保存重启再重新编译一次VMware模块sudo vmware-modconfig --console --install-all之后启动虚拟机就不会再被拦截。对个人电脑来说关闭Secure Boot对日常使用的影响基本可以忽略这也是大多数VMware用户在Linux环境下采用的方案。方案二签名模块如果你因为某些原因不想关Secure Boot可以用Ubuntu的mokutil工具自签名VMware模块。过程比较繁琐需要生成密钥、注册MOKMachine Owner Key、导入密钥时重启确认。我试过一次之后就放弃了不是不能用而是每次内核更新后模块重新编译都要重复签名太浪费时间。我的建议很明确个人桌面使用关闭Secure Boot省下所有麻烦。4.4 “虚拟机监控程序功能对该用户不可用”和用户权限问题这个报错在Windows宿主机的VMware上更常见但在Linux上也有类似场景当前用户没有权限访问虚拟化设备。Ubuntu 22.04默认用户在sudo组但这不意味着对VMware的设备节点也有权限。检查一下当前用户是否在vmware相关的用户组中groups $USER如果你发现当前用户不在sudo组里某些定制系统会出现这种配置用以下命令将用户加入sudo组sudo usermod -aG sudo $USER修改后注销重新登录才生效。同时确认/dev/vmmon和/dev/vmnet的设备节点权限是否正确ls -l /dev/vmmon /dev/vmnet正常情况应该显示crw-------属主为root组为root。如果你之前手动改过权限可能导致混乱可以用sudo chmod 600 /dev/vmmon /dev/vmnet恢复默认。5. 安装后的收尾VMware Tools、共享文件夹和几项实用优化虚拟机系统装好只是完成了50%。另一半工作是把虚拟机工具装好让剪贴板、拖拽、文件共享和显示分辨率这些细节都顺起来。很多人忽略了这一步然后在使用中被各种小问题反复折磨。5.1 宿主机和客户机里的VMware Tools分别怎么装首先要区分一个概念VMware Tools分为宿主机和客户机两端。宿主机端就是你在启动VMware时它嵌入到Workstation软件中的那些功能客户机端才是运行在你虚拟机内部、提供鼠标无缝切换、剪贴板共享、分辨率自适应等功能的组件。在Linux客户机中装VMware Tools的正确方式不是走虚拟机菜单里的“安装VMware Tools”而是直接安装开源版的open-vm-tools。在客户机里执行命令sudo apt install -y open-vm-tools如果客户机是带桌面的Ubuntu系统再装一个桌面增强包sudo apt install -y open-vm-tools-desktopopen-vm-tools-desktop提供X11和Wayland下的分辨率自动调整、剪贴板同步、拖拽文件等功能缺了它的话虚拟机窗口会一直默认800x600体验很差。在Windows客户机中走虚拟机菜单栏的“虚拟机-安装VMware Tools”它会挂载一个虚拟光驱里面是安装程序双击运行后按向导执行装完重启即可。Windows 10/11安装一般没有障碍。5.2 共享文件夹和拖拽功能的配置配置共享文件夹的方式在虚拟机设置中操作虚拟机-设置-选项-共享文件夹选择“总是启用”点击添加把宿主机里要共享的目录加进去。客户机里访问的路径是/mnt/hgfs。如果在Linux客户机里打开/mnt/hgfs发现是空的或者目录不存在多半是vmhgfs-fuse没有挂载。手动执行sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other这条命令把宿主机共享的根目录挂载到客户机的/mnt/hgfs下。执行后再次查看应该能看到你添加的共享文件夹了。5.3 Windows客户机装VMware Tools时遇到“数字签名”报错怎么办在Windows 7或更老的Windows客户机里安装VMware Tools时常常弹出一个提示说驱动“没有数字签名”或“无法验证发布者”然后拒绝安装。这实际上是老系统缺少新签名算法支持导致的。VMware Tools新版驱动使用SHA-2签名而Windows 7在未打补丁的状态下只认SHA-1。解决办法是给客户机系统安装两个微软更新补丁KB4474419和KB4490628。这两个补丁在微软更新目录可以下载安装后重启再装VMware Tools签名问题就消失了。5.4 性能相关的优化设置装完VMware Tools之后还有一些设置值得调整虚拟机-设置-处理器里勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI”。这个选项即使客户机是32位系统也建议开启能减少虚拟化的性能损耗。显示设置里勾选“加速3D图形”显存设置到2GB。对Windows 10/11客户机开启后动画、浏览器滚动、视频播放都会流畅很多。硬盘类型保持默认的NVMe即可。VMware默认给新虚拟机配置NVMe控制器比之前的SATA模拟更贴近物理机性能运行速度更快。快照功能在重要的系统状态下做一个。比如装完系统、驱动、常用软件后打一个快照以后系统搞坏了直接还原省去重装时间。快照会占磁盘空间建议完成一个阶段的配置后再打不要频繁乱打。5.5 网络模式的选择逻辑VMware提供三种网络模式创建虚拟机时默认是NAT。对大多数人来说NAT够用且最省心。NAT模式虚拟机通过宿主机的网络地址转换上网外部网络只能看到宿主机虚拟机的IP由VMware的虚拟NAT分配。适合不需要被外部设备直接访问的场景。桥接模式虚拟机直接接入宿主机所在的物理网络拥有独立IP相当于局域网里的一台独立设备。适合需要被局域网内其他设备访问的场景。仅主机模式虚拟机只能与宿主机通信不能访问外网。适合做隔离测试。在Ubuntu 22.04下如果换了网络环境比如从家里到公司NAT模式通常不需要重启VMware的网络服务但桥接模式有时会丢IP重启虚拟机或者重新dhclient可以恢复。6. 关于卸载和升级内核更新后VMware模块失效的处理装完VMware不是一劳永逸。Ubuntu 22.04会持续推送内核更新每次更新后VMware的vmmon、vmnet模块可能因为内核版本变化而失效。这个问题处理起来不难但很多人不知道标准流程只能重装折腾半天。6.1 Ubuntu内核升级后VMware模块失效的快速恢复你在Ubuntu提示重启系统以应用安全更新重启后打开VMware准备开虚拟机结果报错无法连接这就说明新内核版本对应的VMware模块没有编译。恢复步骤非常简单sudo vmware-modconfig --console --install-all这个命令检测当前运行的内核版本重新编译VMware模块。编译完成后ls /dev/vmmon确认设备节点重新出现然后打开VMware就正常了。如果你经常遇到这种情况又不想每次都手动跑命令可以安装DKMS机制让Ubuntu内核更新时自动重建第三方模块。虽然VMware官方安装器没有直接注册到DKMS但社区有一些封装脚本可以做到需要手动配置。我的建议是如果你不是频繁升级内核也没必要配这个命令跑一遍也就几十秒不值得为它增加系统的复杂度。6.2 卸载VMware的标准方式需要卸载VMware时不要直接删目录要使用官方卸载器sudo vmware-installer -u vmware-workstation这个命令会读取VMware的安装记录把软件本体、内核模块、启动脚本一并清理干净。执行过程中会询问是否保留配置文件我建议选择保留以后重新安装可以复用之前的虚拟机列表和配置。6.3 我个人的使用体会在Ubuntu 22.04上用VMware的这段时间整体体验是稳定的。刚装好的时候我在创建第一台Windows 11虚拟机时遇到过一次模块编译失败原因是当时内核刚升级、头文件还没装全跑完第2章的依赖安装命令后重建模块就正常了。后来陆陆续续又升级过几次内核每次重启后跑一遍vmware-modconfig --console --install-all都能解决没有出现需要重装软件的情况。如果你在Ubuntu 22.04下安装或使用VMware的过程中也遇到了报错我的建议是先判断是不是内核模块的问题再判断是不是权限问题最后才考虑重装软件。不要一上来就卸载重装很多时候只是缺失一个依赖或者模块没编译而已。这篇教程里提到的命令和排查思路大多数场景下都能覆盖到亲手跑一遍比看十篇教程都管用。
返回列表