
1. 重装卡死的那一步残留到底拦住了什么一个很典型的场景VMware Workstation 在控制面板里点卸载进度条走到一半弹窗报错或者干脆提示安装程序遇到问题未能完成再点重装安装向导第一屏直接甩出一句系统上已安装此产品请先卸载。这时候绝大多数人的第一反应是重启、再卸一遍、再重启来回折腾三四轮问题还在原地。VMware 卸载不干净导致的重装失败本质上不是卸载程序本身坏了而是它在系统里留下的几类痕迹把新安装拦在了门外——服务、驱动、虚拟网卡、注册表项、Windows Installer 记录这五样只要剩一样安装程序就会认定上一个版本还活着。我在几台长期跑虚拟机的机器上反复踩过这个坑从 Windows 10 到 Windows 11、从 Workstation 15 到 17.5 都遇到过。结论很明确这类问题不能靠多卸几次解决必须按残留类型逐层清理而且要按固定顺序清理。顺序错了清理到一半会失败因为被占用的句柄还没释放。1.1 三类报错指向三种不同的残留层报错文案不一样说明卡住的位置不一样。把报错当成线索而不是噪音排查效率会高很多。报错表现大概率卡在哪一层优先处理方向系统上已安装此产品、另一个版本已存在Windows Installer 产品记录 / 注册表 Uninstall 项MSI 记录、Installer 数据库安装进度卡在正在安装网络组件或正在配置虚拟网络残留的 VMnet 虚拟网卡或网络类注册表项设备管理器、网卡类注册表安装完成但打开报无法初始化、虚拟网络编辑器报错驱动文件残留或版本冲突驱动包、System32\drivers卸载时直接报 2503 / 2502 / 1603权限或 MSI 服务状态以管理员运行、Installer 服务状态我遇到最多的是前两种。第一种相对好处理因为它是纯粹的数据记录问题删掉记录就过去了第二种最烦因为网络组件涉及设备实例 ID、类 GUID、网络连接配置三处联动删一处留两处表现就是网卡删了又自己回来或者新装的 VMnet8 拿不到 IP。1.2 控制面板卸载为什么注定留尾巴很多人以为卸载程序就该把东西删干净这个预期在 Windows 上并不成立原因有三点。第一卸载程序只负责卸载它自己知道的组件。VMware Workstation 在运行过程中会动态生成一些东西你新建虚拟机时自动创建的虚拟网络、你调整过 MTU 或子网后写进注册表的网络配置、安装 VMware Tools 时在客户机里留下的驱动。这些属于运行时产物卸载脚本通常不管。第二正在运行的服务和驱动会拒绝被删除。VMware 在主机上常驻至少四到五个服务比如 VMware Authorization Service、VMware DHCP Service、VMware NAT Service、VMware USB Arbitration Service。只要有一个还在跑对应的驱动文件就处于被占用状态删除操作会静默失败——注意是静默失败卸载程序不会告诉你这个文件没删掉它只会继续往下走最后给你一个卸载完成。第三Windows Installer 的记录和实际文件是两套账本。文件删了记录还在重装时读记录发现已安装就拦住你记录删了文件还在重装后新旧驱动混在一起表现是虚拟机开机蓝屏或者 USB 设备直通失效。提示判断是否真的卸载干净不要看控制面板里那一栏是不是消失了要看服务列表、设备管理器和驱动目录三处。控制面板的条目属于最容易骗人的那一项。1.3 什么时候该手动清什么时候换个思路不是所有情况都值得动手深挖。我给自己定的判断标准是卸载时正常走完、重装时报已安装→ 手动清工作量中等二十分钟能搞定。卸载时报错中断服务列表里还有 VM 开头的服务在跑 → 必须先停服务再清属于标准流程别绕。系统装过多个版本比如先装 16 后装 17或者装过 Player 又装 Workstation→ 这种混装残留最复杂建议用还原点回到干净状态再装手动清性价比低。机器上有其他依赖虚拟化的工具容器、手机模拟器、其他虚拟机软件→ 优先考虑清完后统一用一个别让两套虚拟化层打架。后面讲的是完整链路。它的价值不只是修好这一台而是让你下次遇到同类问题时知道从哪一层开始查、哪一层可以跳过。2. 动手之前把清干净和别把系统搞坏同时做到清理残留本质上是在动系统的底层配置动注册表、动驱动、动网络栈这几样任何一个操作失误都会带来比装不上 VMware更麻烦的后果。所以正式开清之前有几件准备工作必须先做而且顺序不能颠倒。2.1 先把虚拟机文件搬出来再谈卸载程序这一步被忽略的概率最高后果也最严重。默认情况下虚拟机存放在文档\Virtual Machines目录卸载程序不会碰它。但很多人包括早期的我习惯把虚拟机放在安装目录旁边或者改成 D 盘某个自建目录这时候如果那个目录和安装目录撞上了卸载会连虚拟机一起清掉。正确的做法是在卸载之前先把所有 .vmx、.vmdk、.vmsd、.nvram 文件所在的整个文件夹复制到另一个位置。注意是复制而不是剪切等重装完成、虚拟机确认能正常打开之后再删原目录。顺带提一个常见的连带问题虚拟机目录里会有一个以.lck结尾的锁定文件夹。如果上次虚拟机关机不正常这个文件夹会残留下来重装后打开虚拟机会提示该虚拟机似乎正在使用中。处理方法很简单确认 VMware 相关进程全部退出后直接删掉.lck目录即可里面的文件是锁标记不是数据。2.2 还原点、快照与整机镜像的取舍三种备份方式各有适用场景别混着用。方式覆盖范围恢复速度适合情况系统还原点系统文件、注册表、驱动快几分钟只做注册表和驱动清理风险可控磁盘镜像整盘慢取决于容量混装过多个版本、注册表被改乱导出注册表分支指定注册表路径极快只删注册表项时最划算我自己最常用的是第三种配合第一种。具体做法是在注册表编辑器里选中要删的分支右键导出存成一个 .reg 文件放在桌面上万一删错了双击导回即可。只删注册表时导出分支的性价比远高于做还原点因为它精确、快、可反复执行。需要提醒的是系统还原点有个坑清理驱动时如果删掉了正在使用的驱动某些机器重启会进不了系统。所以如果你的机器上有重要工作环境做一次镜像比省那点时间划算得多。2.3 卸载的正确顺序与必须的重启节点顺序这件事我踩过的坑最多。正确的流程是这样的关闭所有虚拟机退出 VMware Workstation 主程序。打开任务管理器确认vmware.exe、vmware-vmx.exe、vmware-authd.exe、vmnetdhcp.exe、vmnat.exe这些进程都不在了。有残留就手动结束。从控制面板执行卸载。卸载程序会问是否保留配置选不保留否则它会把注册表项留着你还得手动删。卸载结束时如果提示需要重启一定要重启。这一步很多人嫌麻烦点稍后然后直接去删服务和驱动结果删除失败。重启后先检查服务列表和设备管理器确认哪些还在再开始清理。清理完成后再重启一次然后才装。第 4 步和第 6 步的重启不是形式主义。第 4 步的重启是为了让卸载程序注册的待删除文件真正被系统在重启时清掉第 6 步的重启是为了让驱动卸载生效、让网络栈重新枚举设备。跳过任何一次后面都会以清理不彻底的形式反噬你。注意如果你习惯用第三方强力卸载类工具用之前先想清楚它删什么。这类工具的价值在于扫描残留文件和注册表项但它往往不认识 VMware 的服务和驱动依赖关系删完可能留下服务指向一个已删除的 exe这种更恶心的状态。我的建议是用它扫看它列出来的清单但最终删除动作自己做。3. 从外壳到内核残留清理的完整执行链路这一节是整篇的核心。清理顺序的原则只有一条从外往里、从运行时到静态数据。先停服务再删驱动再删网卡再删注册表最后删文件。顺序颠倒会导致删了又出现的循环。3.1 服务先停再删顺序错了白干先看一眼还剩什么。用管理员权限打开命令提示符执行sc query type service state all | findstr /i vm你会看到类似VMUSBArbService、VMAuthdService、VMnetDHCP、VMware NAT Service这样的条目。注意最后两个服务名里有空格命令行处理时要加引号。删除顺序是先停再删sc stop VMnetDHCP sc stop VMware NAT Service sc stop VMUSBArbService sc stop VMAuthdService sc delete VMnetDHCP sc delete VMware NAT Service sc delete VMUSBArbService sc delete VMAuthdService如果sc stop报服务无法停止先用sc query看它的状态是不是STOP_PENDING等几秒再试一直停不下来说明有进程占着回到任务管理器再确认一遍进程列表。这里有个经验sc delete成功后服务列表里不会立刻消失可能会显示成已标记为删除。这是正常的重启后就没了。不要因为看到已标记为删除就以为失败然后反复执行删除命令。服务删完先别急着往下走去服务管理器里刷新一下确认没有 VM 相关的服务处于正在运行状态。有的话后面的驱动删除一定会失败。3.2 驱动文件与驱动包的清理驱动分两部分已经加载的内核驱动和躺在系统驱动仓库里的驱动包。前者用sc层面处理后者要用pnputil。先列出系统里所有和 VMware 有关的驱动包pnputil /enum-drivers输出会比较长重点看Original Name和Provider Name两列把 Provider 是 VMware 的记下来比如vmnetadapter.inf、vmnetbridge.inf、vmnetuserif.inf、vmusb.inf、hcmon.inf这类。记下它们的Published Name形如oem12.inf然后逐个删pnputil /delete-driver oem12.inf /uninstall /force/force参数是必要的不加的话遇到正在使用的驱动会拒绝删除。然后是驱动文件本身。打开C:\Windows\System32\drivers按名称排序找这些文件vmx86.sysvmnetbridge.sysvmnetuserif.sysvmci.sysvmusb.syshcmon.sysvnetWFP.sysVMkbd.sysvmparport.sysvsepflt.sys这些文件如果还在说明卸载没删干净。删之前先看能不能删——如果提示文件正在被使用说明对应的服务还在跑回到 3.1 再检查一遍。实在删不掉的可以改名为.bak重启后再删这是一个很实用的绕行办法。提示C:\Windows\SysWOW64\drivers目录下也可能有 32 位版本的残留尤其是从很老的版本升级上来的机器两个目录都要看。3.3 幽灵网卡设备管理器里看不见的那个 VMnet这是最容易漏的一环也是重装后虚拟网络编辑器报错的头号原因。打开设备管理器菜单栏查看→显示隐藏的设备然后展开网络适配器。你会看到比平时多出来的一堆条目其中可能包括VMware Virtual Ethernet Adapter for VMnet1VMware Virtual Ethernet Adapter for VMnet8VMware Bridge Protocol这个通常挂在物理网卡的属性里那些灰色的、你以为早就删掉的条目就是幽灵设备。选中它们右键卸载。如果卸载后又冒出来说明设备实例还留在注册表里这时候要么先删注册表见 3.4要么用devmgmt.msc配合环境变量set devmgr_show_nonpresent_devices1启动后再删一遍。同时检查物理网卡的属性右键物理网卡 → 属性 → 看此连接使用下列项目列表里有没有VMware Bridge Protocol。有的话先取消勾选再点安装/卸载把它移除。这项留着会导致新装的桥接网络冲突。删完网卡如果网络状态明显异常比如右下角网络图标带感叹号、能连内网不能上外网执行一次网络栈重置netsh winsock reset netsh int ip reset ipconfig /flushdns三条命令执行完必须重启。这是我认为清理流程里唯一可以顺手做的操作因为它成本低、收益明确。3.4 注册表的三层结构缺一层就复发注册表这块我分成三层记比死记路径有用得多。第一层是产品信息层告诉系统和安装程序这个东西装过。位置HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\VMware, Inc.HKEY_CURRENT_USER\SOFTWARE\VMware, Inc.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\下面名字带 VMware 的项第二层是服务与驱动注册层位置在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\下所有名字以 VM 或 vm 开头的项这一层如果在 3.1 用sc delete删过服务通常已经清了但如果删除时系统没重启键值可能还在。第三层是网络配置层也是最隐蔽的一层HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4d36e972-e325-11ce-bfc1-08002be10318}这两个 GUID 是网络适配器类下面按 0000、0001、0002 分了很多子项每一项对应一块网卡。你需要逐个展开看DriverDesc的值找到写着 VMware Virtual Ethernet Adapter 的那几项整个子项删掉。删除之前务必先在注册表编辑器里选中父节点导出备份。命令行方式也行reg export HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318} C:\backup\netclass.reg配置层这一项我个人的经验是如果重装后虚拟网络编辑器能正常打开、能保存网络配置、VMnet8 能拿到 192.168.x.x 的地址那这一层其实可以不动。它是三层里风险最高、收益最不确定的一层只有确定遇到网卡幽灵问题才动它。3.5 目录与文件残留清单最后是文件系统。按下面的清单挨个看存在就删C:\Program Files (x86)\VMware\C:\Program Files\Common Files\VMware\C:\ProgramData\VMware\C:\Users\用户名\AppData\Local\VMware\C:\Users\用户名\AppData\Roaming\VMware\C:\Users\Public\Documents\Shared Virtual Machines\如果开过共享虚拟机ProgramData目录下那个文件夹要特别注意它里面存着虚拟网络编辑器的配置、favicon 缓存、日志。删掉它重装后网络配置会回到默认状态这是好事。但如果你之前手工定制过 DHCP 范围或者端口转发规则记得先把vmnetdhcp.conf、nat.conf这两个文件备份出来。另外别忘了临时目录。执行%TEMP%打开临时文件夹搜一下名字里带vmware或vm_的目录删掉。这些是安装程序解压的临时文件有时会残留几 GB。全部删完重启一次。重启后回到服务列表和驱动目录再看一眼确认没有东西回来——如果回来了说明某一层没清干净从 3.1 重新走一遍。4. 安装程序自己的记忆MSI 记录与已安装提示清理完上面那些大部分机器的重装都能通过了。但有一类情况例外文件、服务、驱动都清得干干净净重装时依然提示系统上已安装此产品。这不是文件残留是 Windows Installer 数据库里的记录在作祟。4.1 提示已安装时它在读什么VMware Workstation 的安装包是 MSI 格式有些版本外面套了一层 bootstrapper。安装程序启动后第一件事是去查两个地方一个是HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\和对应的 WOW6432Node 分支看有没有匹配的产品条目另一个是HKCR\Installer\Products\和HKLM\SOFTWARE\Classes\Installer\Products\这两处的子键名是产品码的打包 GUID格式没有连字符且十六进制分组被反转所以肉眼看起来是一串毫无规律的字符。只要这两个地方有任何一处命中安装程序就会拒绝继续。所以真正要删的是这两处而不是简单的卸载条目。4.2 定位产品码与残留 MSI 记录先找产品码。在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\下逐个点开子项看右侧DisplayName是不是 VMware Workstation。找到后记下这个子项的名字它是一个带花括号的 GUID那就是产品码。拿到产品码之后可以做一次干净的静默卸载尝试msiexec /x {产品码} /qn /norestart这条命令在控制面板卸载失败的情况下经常能成功因为它绕过了图形界面的一些检查逻辑。执行完看返回码0 表示成功1605 表示找不到该产品也就是记录已经不对应了需要手动删记录。如果返回 1605说明记录残破但没清掉那就手动去删Installer\Products下的对应子项。这里有个技巧不要盲删先在注册表编辑器里用编辑→查找搜VMware逐个看命中项的内容判断它属于哪个产品、是配置还是记录。判断的标准是如果这项描述的是一个已不存在的安装删如果它描述的是某个共同组件的注册谨慎。删之前记得导出备份这一步我已经强调第三次了因为它真的救过我两次。4.3 卸载项损坏的修复路径还有一种更麻烦的情况卸载项存在但已经损坏点卸载报 2503 或 2502。这两个错误码本质是权限问题——MSI 服务需要在特定权限下运行。处理办法确认Windows Installer服务处于运行状态启动类型是手动。用管理员权限打开命令提示符而不是直接双击安装包。检查C:\Windows\Installer目录的权限。这个目录需要 SYSTEM 和 Administrators 有完全控制权限。权限被改过的话恢复默认权限再试。上面三条都无效用微软官方的程序安装和卸载疑难解答工具修复 MSI 记录。它的作用是重建损坏的 Installer 数据库条目对这类问题命中率不低。我自己的统计是在这一步卡住的机器八成是权限问题两成是 Installer 数据库损坏。所以先查权限比直接上工具更快。5. 重新安装版本选择、选项取舍与首次启动验收清理干净之后重装本身不难但有几个点选错了会让你在几天后再次遇到卸载不干净的问题。这一节讲的是怎么装得更稳。5.1 安装包与授权的几个现实问题先说版本。Workstation 目前主流的两个分支是 17.x 里的不同小版本。我的建议是如果你之前卸载的是 17.5 以上重装时优先装同一大版本的最新小版本不要跨大版本往回装。跨版本回装的典型症状是驱动版本不匹配表现为虚拟机开机缓慢或者 USB 直通不稳定。安装包来源只有一个建议从官网获取。网上流传的各种优化版精简版安装包最大的问题是它们会替换掉原版的驱动签名和配置文件这类包在你这里装得上不代表跑得稳而且后续出问题排查时你根本不知道它改了什么。关于授权需要说清楚的是使用正版授权是唯一合规的选择具体授权形式和适用范围个人还是企业以官方说明为准。请不要使用任何来路不明的授权信息除了合规风险那些信息来源本身也常常捆绑其他东西。5.2 安装向导里那几个容易选错的勾安装向导大部分选项可以默认但有三个地方值得停一下。第一个是安装路径。默认在C:\Program Files (x86)\VMware\。如果你的 C 盘空间紧张可以改到其他盘。但不要把安装目录设成虚拟机的存放目录这是我在 2.1 里提到的那个坑的根源两者必须分开。第二个是是否加入客户体验改进计划。这纯属个人选择功能上没有任何影响装了以后可以在设置里改。第三个是启动时检查更新。建议关掉。VMware 的更新提醒在虚拟机运行时弹窗会打断全屏操作而且一旦点了立即更新它会在后台重新走一遍安装流程又给自己制造一次潜在的残留机会。需要更新时手动去官网下安装包更可控。安装过程会创建虚拟网络适配器、注册服务、安装驱动耗时大概三到十分钟取决于磁盘速度。这段时间不要开别的需要网络配置的软件。5.3 装完之后必须验证的四件事装完重启别急着建虚拟机。先花两分钟做四项验证能提前发现 90% 的后续问题。第一服务状态。服务管理器里确认 VMAuthdService、VMnetDHCP、VMware NAT Service 都是正在运行启动类型是自动。有一个没起来虚拟机的网络功能就会打折。第二虚拟网络编辑器。打开它看 VMnet0桥接、VMnet1仅主机、VMnet8NAT是否都在能不能点更改设置并保存。打不开或者保存报错说明网络配置层还有残留回到 3.4。第三虚拟网卡地址。命令行执行ipconfig /all看 VMnet8 是不是拿到了 192.168.x.1 这种地址VMnet1 是不是 192.168.x.1另一个网段。如果显示媒体已断开或者地址是自动私有地址 169.254 开头说明 DHCP 服务有问题。第四建一台最小虚拟机。不用装系统新建时选稍后安装操作系统分配 1 核 1G 内存、20G 磁盘开机看能不能进到 BIOS 界面。这一步验证的是虚拟化层本身是否工作。能进 BIOS说明驱动和虚拟化支持都正常。四项都过这台机器就算装干净了。6. 装完才发现的坑主机虚拟化冲突与客户机工具有些问题不是卸载没干净造成的但在重装之后才暴露很容易被误判成还是没清干净。这类问题我归成两类主机侧的虚拟化层冲突和客户机侧的工具安装问题。6.1 主机侧虚拟化层被谁占着VMware Workstation 需要独占 CPU 的硬件虚拟化能力Intel VT-x 或 AMD-V。Windows 上有一堆功能也会去占它Hyper-V 及其子功能虚拟机平台Virtual Machine PlatformWindows 沙盒WSL2依赖虚拟机平台内核隔离里的内存完整性基于虚拟化的安全性VBS表现是虚拟机开机极慢、报此主机不支持虚拟化、或者虚拟机内部性能只有物理机的零头。检查方法是用msinfo32看系统摘要最后几行如果基于虚拟化的安全性显示正在运行就说明底层已经被接管了。处理办法是取舍不是全都要。Workstation 17.5 之后对 Windows Hypervisor Platform 有了一定程度的共存支持但性能有折扣。如果你不打游戏、不用 WSL2关掉相关功能最省事控制面板 → 启用或关闭 Windows 功能里取消对应勾选或者在管理员命令行执行bcdedit /set hypervisorlaunchtype off执行后必须完全重启不是关机再开Windows 的快速启动会让这个设置不生效。验证方式是msinfo32里 VBS 那几行不再是正在运行。如果确实需要 WSL2 和 VMware 同时用那就接受性能折扣把两个软件的虚拟化配置都调成共存模式别硬碰硬。6.2 客户机里 VMware Tools 装不上的处理有个报错文案很典型继续运行脚本未能在虚拟机中成功运行。这个报错基本都出现在 Linux 客户机里原因通常是客户机上缺 Perl 或者 Python 解释器而 VMware Tools 的安装脚本依赖它们另一个原因是客户机里残留了旧版本的 tools脚本检测到冲突就中断了。处理顺序是这样的先彻底清掉客户机里可能存在的旧 tools。如果之前是用官方 bundle 装的执行sudo vmware-uninstall-tools.pl如果这个脚本找不到说明残留不完整那就手工清sudo rm -rf /usr/lib/vmware-tools sudo rm -rf /etc/vmware-tools sudo rm -f /etc/vmware-tools.conf重启客户机然后优先考虑用发行版自带的 open-vm-tools而不是挂载 ISO 装官方 tools。原因是 open-vm-tools 由发行版维护和内核版本匹配升级内核时不会失效sudo apt update sudo apt install open-vm-tools open-vm-tools-desktopDebian/Ubuntu 系用上面这条RHEL 系用dnf install open-vm-tools open-vm-tools-desktop。装完重启分辨率自适应、共享文件夹、剪贴板共享就都正常了。注意不要同时装官方 tools 和 open-vm-tools两者会冲突表现是客户机启动时报内核模块加载失败。选一个清掉另一个。6.3 桥接与 NAT 失效的排查顺序桥接模式上不了网排查顺序我和很多人不一样先看物理网卡再看桥接协议最后才看虚拟机设置。具体步骤是物理网卡确认能正常上网 → 物理网卡属性里确认 VMware Bridge Protocol 已勾选 → 虚拟网络编辑器里确认 VMnet0 是自动桥接如果你有多个物理网卡比如有线加无线加虚拟网卡手动指定到实际在用的那块 → 虚拟机设置里确认网络适配器选的是桥接。NAT 模式上不了网重点看三点VMnet8 的虚拟网卡是否有地址虚拟网络编辑器里 NAT 设置中网关地址是否正确主机上 VMware NAT Service 是否在运行。我遇到过几次是网关地址被改成和主机所在网段冲突的地址这种改回来就好。排查这类问题有个通用原则改动一次只改一个地方改完立刻测。同时改三个设置再测你永远不知道是哪一步生效的。7. Linux 主机上的残留清理与内核模块重建最后说一下 Linux 主机。有些人在 Windows 上折腾完Linux 上遇到同样的问题思路可以借鉴但具体操作差别不小。7.1 bundle 与包管理器两条卸载路线Linux 上装 VMware Workstation 有两条路线官方.bundle安装包和发行版仓库里的打包版本比如 AUR、或者第三方源。卸载方式完全不同。bundle 装的用官方卸载器sudo vmware-installer -u vmware-workstation注意这个命令的坑卸载器本身也在/usr/lib/vmware-installer里如果那个目录被手动删过卸载器就没了只能手工清。手工清的话重点是这几个位置/usr/lib/vmware/usr/lib/vmware-installer/etc/vmware/etc/vmware-installer/usr/bin/vmware*和/usr/bin/vmrun之类的软链~/.vmware包管理器装的就用包管理器卸比如pacman -Rns、dnf remove、apt purge。后两个命令里的purge和-Rns参数很重要它们会把配置文件一起删掉普通卸载会保留。7.2 内核模块与 DKMS 残留Linux 上最容易出问题的其实是内核模块。bundle 装的 VMware 会编译vmmon和vmnet两个模块并注册到 DKMS如果卸载时没清干净DKMS 记录还在下次装的时候会报模块冲突。检查lsmod | grep -E vmmon|vmnet dkms status | grep -i vmware如果模块还在内存里先卸载sudo modprobe -r vmnet sudo modprobe -r vmmon然后清 DKMS 记录sudo dkms remove vmware-workstation/版本号 --all版本号从dkms status的输出里拿。清完 DKMS模块对应的源码目录也要删通常在/usr/src/下面名字带vmware或vmmon。重新安装后模块需要重新编译。如果是 bundle 装的安装程序会自己编译如果编译失败通常是缺内核头文件# Debian/Ubuntu sudo apt install build-essential linux-headers-$(uname -r) # RHEL 系 sudo dnf install kernel-devel-$(uname -r) gcc make还有一个躲不开的问题开启了安全启动Secure Boot的机器未签名的内核模块加载会被拒绝表现是装完启动报无法加载 vmmon 模块。这个只能用签名模块发行版打包版本通常已签名或者自己签建议直接用发行版提供的打包版本省事。7.3 配置文件最后收尾Linux 上还有两处容易被忽略的残留一个是系统服务文件/etc/systemd/system/或/usr/lib/systemd/system/下名字带vmware的.service文件另一个是桌面环境里的菜单项和图标缓存。服务文件删掉后记得sudo systemctl daemon-reload图标缓存的问题是卸载后应用菜单里还留着一个打不开的 VMware 图标。清掉/usr/share/applications/下带vmware的.desktop文件然后刷新缓存sudo update-desktop-database最后再分享一个我自己总结的小经验在 Linux 上判断是否清干净的标志不是命令跑没跑完而是lsmod、dkms status、systemctl list-unit-files | grep vmware这三条命令的输出全部为空。这三条我都养成习惯在卸载后立刻跑一遍比凭感觉判断靠谱得多。Windows 上对应的是服务列表、驱动目录、设备管理器三处逻辑是一样的——残留这东西看得见才不会反复咬你。