1. 先搞清楚:VMware为什么卸不干净
VMware Workstation 卸载不干净导致重装失败,这事儿我踩过不止一次。最典型的场景是这样的:你原本装的是 VMware Workstation Pro 17,用了半年想升级到 17.5.2,或者虚拟机里 Ubuntu 折腾坏了想推倒重来,于是进控制面板点了卸载。进度条走完,重启,重新运行安装包,结果弹出来一个冷冰冰的提示——"无法安装 VMCI 驱动""安装程序无法继续,错误 1603",或者干脆卡在"正在配置 VMware Workstation"然后自动回滚。
很多人第一反应是"安装包坏了",去官网重新下载一遍,换版本、换路径、换管理员身份,全都试过,还是失败。真正的原因其实很简单:上一次卸载只删掉了看得见的文件,没删掉服务、驱动、虚拟网卡和注册表键值。新的安装程序一进来,先检查环境,发现有旧版本的驱动注册信息、有同名服务、有残留的虚拟网卡,于是判定"这台机器上已经存在 VMware",然后安装逻辑直接走异常分支。
我这里说的"卸干净",不是指把图标删了、把文件夹拖进回收站就完事。VMware 这类内核级虚拟化软件,跟普通的应用软件完全不是一个量级:它要往系统里塞七八个内核驱动(vmx86.sys、vmci.sys、hcmon.sys 这些),要注册四五个系统服务,要创建两张虚拟网卡并修改网络适配器类注册表,还要在注册表里写一大堆设备实例 ID。这四类东西只要有一类没清掉,重装就有概率翻车。
这套流程适合谁?装过 VMware 又卸载过的、升级失败过的、装虚拟机时卡在驱动阶段的、以及准备把机器彻底清一遍再重来的朋友。不管你是刚接触 VMware 虚拟机安装教程的新手,还是用了好几年的老用户,卸载与清理这件事都必须按顺序来,顺序错了做十遍也没用。下面我按"为什么会残留 → 卸载前准备 → 手工清理全流程 → 工具辅助 → 重装验证 → 踩坑记录"这条线,把我实测能一次过的方案完整写出来。
1.1 残留到底藏在哪五个地方
很多人以为残留只是"文件夹没删干净",其实真正卡住重装的是那些看不见的地方。我把它归成五类,你对照着检查一遍就知道自己漏了哪:
| 残留类型 | 具体位置 | 是否影响重装 | 清理难度 |
|---|---|---|---|
| 程序文件 | C:\Program Files\VMware\、C:\Program Files (x86)\VMware\ | 中等 | 低 |
| 数据与配置 | C:\ProgramData\VMware、%LOCALAPPDATA%\VMware、%APPDATA%\VMware | 中等 | 低 |
| 注册表键值 | HKLM\SOFTWARE\VMware, Inc.、HKCU\SOFTWARE\VMware, Inc. | 高 | 中 |
| 系统服务与内核驱动 | vmx86、VMnetDHCP、VMware NAT Service、VMAuthdService、hcmon、vmci、VMkbd、vmusb | 极高 | 高 |
| 虚拟网卡与网络栈 | VMnet1 / VMnet8 适配器、{4d36e972-...}类注册表下的实例、vnetWfp 过滤驱动 | 极高 | 高 |
我把它分得这么细是有原因的。前两类属于"看得见"的,随便一个卸载工具都能处理;后三类才是"重装失败"的真凶,而且它们互相之间还有依赖——比如你删了注册表但服务还在,服务启动时会去读配置,读不到就报错,安装程序检测到异常服务状态,一样拒绝安装。
注意:不要用"先删文件夹再去控制面板卸载"这个顺序。一旦安装目录没了,Windows Installer 找不到卸载程序的源文件,卸载会失败,然后残留就彻底固化下来了。正确顺序永远是先卸载、后清理。
1.2 三种典型报错分别对应哪块残留
报错信息其实是很好的线索,它能告诉你到底卡在哪一类残留上。我整理了三组我实际遇到过的:
第一类,VMCI 驱动相关。提示"Setup failed to install the VMCI driver"或者中文的"安装 VMCI 驱动失败"。这基本可以判定是旧版本的vmci.sys还挂在驱动库里,或者HCIM相关的设备实例没清干净。VMCI 是虚拟机与宿主机之间的通信接口驱动,它对版本极其敏感,新旧版本同时存在必冲突。
第二类,错误代码 1603 / 2503 / 2502。这三个都是 Windows Installer 的通用错误码,含义是"安装过程中某个自定义动作执行失败"。在 VMware 这个场景下,绝大多数情况是服务注册失败或者权限不足——要么是旧服务同名删不掉,要么是当前用户对C:\ProgramData\VMware没有完全控制权限。这种情况光清理注册表没用,得把目录权限和被占用的服务一起处理。
第三类,"此产品无法安装到这台计算机上"。这个提示最直白,说明安装程序在注册表的卸载信息里读到了旧版本的记录。位置在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下面,跟 VMware 相关的 GUID 子键,有些卸载工具清不干净这一块。
还有一种比较隐蔽的:安装过程全程没报错,装完了也能启动,但一开机就提示"无法打开内核设备\\.\Global\vmx86",或者虚拟机一开机就蓝屏。这属于驱动装了但服务没起来,通常是杀毒软件拦截了驱动注册,或者vmx86服务被其他软件禁用了启动类型。这个问题的排查思路跟前面三种不太一样,我会放在第五节讲。
2. 卸载前的准备工作
正式动手之前,有三件事必须先做。这一步看着琐碎,但它决定了你后面是"一次过"还是"清理三小时、重装五分钟、然后继续失败"。我见过太多人上来就删注册表,删到一半发现虚拟机文件还在默认目录里,或者清理完发现原来的虚拟机没法挂载了,只能重建。
2.1 虚拟机文件的备份与确认
VMware 的虚拟机默认放在C:\Users\你的用户名\Documents\Virtual Machines\这个路径下,每一个虚拟机是一个独立文件夹,里面至少包含.vmx配置文件、.vmdk虚拟磁盘、.nvram、.vmsd快照描述等文件。清理主程序不会删掉这些文件,但如果你在清理过程中顺手把整个Documents下的相关目录删了,那数据就真没了。
我的做法很简单:先在 VMware 界面里把每台虚拟机右键"移除"(注意是移除不是删除),然后在文件资源管理器里把这些虚拟机文件夹整体复制到 D 盘或者外接硬盘。复制完再打开一次确认.vmdk文件完整——有些虚拟磁盘是分片的,比如Ubuntu-22.04-s001.vmdk到s020.vmdk,少一个就挂不起来。
如果你只是想把系统换个地方放,其实更省事的办法是直接改默认虚拟机目录:编辑 → 首选项 → 工作区,把"默认虚拟机位置"指到 D 盘的大容量分区。这样以后新建的虚拟机默认就不会占系统盘了,卸载重装的时候也不用来回搬文件。
提示:如果虚拟机里有正在运行的业务或者重要数据,先在虚拟机内部做一次完整关机,别用挂起状态保存。挂起状态下复制出来的文件重新挂载会有概率提示"此虚拟机可能已被复制或移动",虽然选"我已移动该虚拟机"通常能恢复,但没必要冒这个风险。
2.2 关闭服务、进程与虚拟机的正确顺序
卸载之前一定要把 VMware 相关的进程和服务全停掉,否则卸载程序会因为文件被占用而跳过某些步骤,跳过的那部分就是残留。
顺序是:先关虚拟机 → 再关 VMware 主界面 → 再停服务 → 最后才点卸载。
关虚拟机好理解,就是每台虚拟机都关机,别留挂起。关主界面就是退出托盘图标,右下角那个 VMware 图标右键退出。
停服务这一步很多人会漏。你可以按Win + R输入services.msc,然后在列表里找这几个:
VMware Authorization Service(服务名 VMAuthdService)VMware DHCP Service(服务名 VMnetDHCP)VMware NAT Service(服务名 VMware NAT Service)VMware USB Arbitration Service(服务名 VMUSBArbService)
右键属性,把启动类型先改成"手动",再点停止。改成手动是为了防止你一重启它们又自动跑起来,等你清理完、确认要重装了再改回来。
如果你习惯用命令行,可以直接用管理员身份的 PowerShell 一次性处理:
$svc = @("VMAuthdService","VMnetDHCP","VMware NAT Service","VMUSBArbService") foreach ($s in $svc) { Get-Service -Name $s -ErrorAction SilentlyContinue | Stop-Service -Force Set-Service -Name $s -StartupType Manual -ErrorAction SilentlyContinue } Get-Service | Where-Object { $_.DisplayName -like "*VMware*" } | Format-Table Name, Status, StartType最后一行是用来确认还有没有漏网的,如果输出的 Status 全是 Stopped,说明处理干净了,可以进下一步。
还有一个容易被忽略的点:杀毒软件。有些安全软件会实时监控驱动注册行为,VMware 安装时会往System32\drivers写文件、往注册表注册内核驱动,被拦下来之后安装程序就回滚,报 1603。我的建议是在卸载和重装的整个过程中,把安全软件的实时防护临时关掉,装完再开。这是纯粹的软件行为冲突问题,跟软件本身的取舍无关,装好之后正常开启即可。
3. 手工彻底清理的完整流程
准备工作做完,正式开始清理。我按执行顺序分成五步,每一步做完建议重启一次——重启不是仪式感,而是让内核把已经卸载的驱动彻底释放掉,不重启的话有些驱动的文件句柄还挂着,删不掉。
3.1 用正确的入口卸载主程序
第一步,进"设置 → 应用 → 已安装的应用",找到VMware Workstation,点卸载。如果提示"是否保留配置信息",选不保留。这一步是关键,很多人为了省事选保留,结果配置信息被原封不动留在ProgramData和注册表里,重装时版本号一对比就冲突。
卸载过程可能比较慢,尤其是硬盘是机械盘的时候,等它跑完。如果卸载过程中弹窗报错,比如"无法访问网络位置"或者直接失败,不要慌,这时候用官方清理工具接手(第四节讲),或者按后面步骤手工清理。
卸载完成后先别重启,直接去检查一下控制面板里还有没有 VMware 相关的条目。有时候会剩下VMware Workstation Player、VMware Tools、VMware Remote Console之类的独立条目,有就一并卸掉。
注意:虚拟机内部的 VMware Tools 是装在客户机系统里的,跟宿主机卸载无关。你在 Ubuntu 里执行过卸载命令,宿主机这边还是要按本流程清一遍。两边是独立的两套东西。
3.2 目录与文件残留清理
卸载完成后,按顺序检查并删除以下目录。我给的是标准路径,如果你的安装位置自定义过,对应替换即可:
C:\Program Files\VMware\ C:\Program Files (x86)\VMware\ C:\ProgramData\VMware\ C:\Users\<用户名>\AppData\Local\VMware\ C:\Users\<用户名>\AppData\Roaming\VMware\ C:\Users\<用户名>\AppData\Local\Temp\vmware-<用户名>\ProgramData是个隐藏文件夹,需要在资源管理器里先打开"显示隐藏的项目"。里面的VMware目录通常保存着许可证信息、共享虚拟机配置和一些缓存,删掉没有副作用。
另外两处容易漏的:
一是C:\Windows\System32\drivers目录下的驱动文件。这些是内核驱动,正常情况下卸载程序会删,但失败时会留下。相关文件名包括vmx86.sys、vmci.sys、vmkbd.sys、vmusb.sys、hcmon.sys、vmnetbridge.sys、vmnetuserif.sys、vnetWfp.sys。不要直接在这里删文件,因为驱动还在服务注册表里挂着,直接删会导致下次开机时系统找不到驱动文件而报错。正确做法是先在设备管理器里卸载对应的设备,再删文件。设备管理器的操作见 3.4 节。
二是 Windows Installer 的缓存目录C:\Windows\Installer。这个目录里的文件是 MSI 安装缓存,命名是一串随机字符加.msi,不要手动删,因为其他软件的修复和卸载都依赖它。如果要清理 VMware 相关的,用微软官方的Microsoft Program Install and Uninstall Troubleshooter工具处理,比手删安全得多。
3.3 注册表精确清理(先备份再动手)
注册表是这一步的核心,也是最容易出事的地方。动手之前,必须先导出备份。打开注册表编辑器(Win + R输入regedit),定位到要删的项,右键 → 导出,存成.reg文件放桌面。
命令行方式也可以,我用这个比较多:
reg export "HKLM\SOFTWARE\VMware, Inc." D:\backup\vmware_hklm.reg /y reg export "HKCU\SOFTWARE\VMware, Inc." D:\backup\vmware_hkcu.reg /y备份完了再删。需要清理的位置清单:
| 注册表路径 | 说明 |
|---|---|
HKLM\SOFTWARE\VMware, Inc. | 主程序配置,整个键删掉 |
HKCU\SOFTWARE\VMware, Inc. | 当前用户配置,整个键删掉 |
HKLM\SYSTEM\CurrentControlSet\Services\vmx86 | 核心虚拟化服务 |
HKLM\SYSTEM\CurrentControlSet\Services\hcmon | 硬件监控驱动 |
HKLM\SYSTEM\CurrentControlSet\Services\vmci | 通信接口驱动 |
HKLM\SYSTEM\CurrentControlSet\Services\vmkbd | 虚拟键盘驱动 |
HKLM\SYSTEM\CurrentControlSet\Services\vmusb | 虚拟 USB 驱动 |
HKLM\SYSTEM\CurrentControlSet\Services\VMnetDHCP | DHCP 服务 |
HKLM\SYSTEM\CurrentControlSet\Services\VMware NAT Service | NAT 服务 |
HKLM\SYSTEM\CurrentControlSet\Services\vmnetbridge | 网桥驱动 |
HKLM\SYSTEM\CurrentControlSet\Services\vmnetuserif | 用户态网卡接口 |
HKLM\SYSTEM\CurrentControlSet\Services\vnetWfp | 网络过滤驱动 |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\下 VMware 相关 GUID | 卸载记录,导致"已安装"误判 |
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318} | 网络适配器类,里面有 VMnet 实例 |
最后一项要特别小心。这个 GUID 是 Windows 的"网络适配器"设备类,里面按0000、0001编号排列着所有网卡的配置。你要找的是那些子键里DriverDesc值为VMware Virtual Ethernet Adapter for VMnet1或VMnet8的项,只删这些,别整个类删掉,否则你的物理网卡配置也会一起没。
我的做法是先进这个类键,逐个点开000X子键看DriverDesc的值,确认是 VMware 的再删。删完之后顺手把同级Properties里残留的配置一起处理,但如果有不确定的项,宁可留着不动,也不要乱删——留着最多是重装时被覆盖,删错了就是网卡驱动重装。
提示:注册表清理完成后不要立刻重启,先在注册表编辑器里按
F5刷新一遍,确认删除的项确实消失了。有时候删操作会失败但不报错,尤其在权限不足的情况下,刷新一下就能看出来。
3.4 服务、驱动与虚拟网卡的清理
注册表清完,接下来处理服务和设备。这两个是"看得见"的,但也最容易被忽略。
服务检查。打开services.msc,按名称排序,把所有名字里带 VMware 的服务再确认一遍。如果前面注册表删对了,这里应该已经没有了。如果还有,说明注册表删除没生效,回去重新检查权限问题,用管理员身份运行 regedit。
也可以命令行验证:
sc query vmx86 sc query VMnetDHCP sc query "VMware NAT Service"如果返回指定的服务未安装,说明清干净了。如果返回状态信息,用sc delete 服务名删除,然后重启。
驱动与隐藏设备清理。这一步是最多教程会漏掉的。打开设备管理器,先点菜单栏"查看 → 显示隐藏的设备",然后重点看这几个分类:
- 网络适配器:找
VMware Virtual Ethernet Adapter for VMnet1和VMnet8,右键卸载,勾选"删除此设备的驱动程序软件"。 - 非即插即用驱动程序:这里会出现
vmci、vmx86、hcmon、VMkbd、vmusb等条目,灰色的表示当前没在用,一样右键卸载。 - 系统设备:可能有
VMware VMCI Bus Device之类的条目。 - 通用串行总线控制器:
VMware USB Device相关条目。
卸载的顺序建议从"非即插即用驱动程序"开始,因为它们是底层的,先卸完再卸网卡和 USB 控制器,逻辑上更顺。每卸载一批,重启一次。
虚拟网卡的彻底清理。如果设备管理器里怎么都删不掉 VMnet1/VMnet8,说明有驱动文件被占用。这种情况可以进"网络连接"(ncpa.cpl),右键那两个 VMware 网卡禁用,然后重启进安全模式再删。安全模式下驱动不会加载,删除成功率最高。
虚拟机重装后,VMnet 网段是自动生成的,通常是192.168.x.0/24里的某个随机段。如果你所在的内网正好用了192.168.0.0/24或192.168.1.0/24,有概率跟虚拟网段撞车导致网络异常。这个可以在重装后到"编辑 → 虚拟网络编辑器"里改成别的网段,比如192.168.188.0/24,不冲突就行。
3.5 顺手处理虚拟化平台冲突
这一步不是必做项,但它跟"重装失败"有间接关系,而且很多人栽在这里。
现在 Windows 11 默认开启了一些虚拟化功能,比如 Hyper-V、虚拟机平台、WSL2、Windows 沙盒、内核隔离里的内存完整性。这些功能会占用 CPU 的硬件虚拟化指令(VT-x / AMD-V),VMware 跟它们抢不到资源的时候,要么报"此平台不支持"、要么虚拟机跑起来极慢、要么安装过程中检测异常直接失败。
如果你不需要用 Hyper-V 相关的功能,可以在"控制面板 → 程序 → 启用或关闭 Windows 功能"里,把Hyper-V、虚拟机平台、Windows 虚拟机监控程序平台、Windows 沙盒前面的勾去掉。同时进"Windows 安全中心 → 设备安全性 → 内核隔离",把"内存完整性"关掉。
改完必须重启,这些功能的开关只有重启后才生效。重启后再装 VMware,成功率会明显不同。
注意:关掉这些功能会影响依赖它们的软件(比如 WSL2、Docker Desktop 的 WSL2 后端、安卓模拟器)。如果你的日常工作需要它们,可以改用 VMware 和 Hyper-V 共存的方式,但那需要另一套配置,这里不展开。核心原则是:先保证 VMware 能装上,按需再决定留哪个。
4. 清理工具怎么选怎么用
手工清理当然最彻底,但它耗时,而且注册表部分对新手不太友好。所以工具是必要的补充。我的建议是工具负责扫尾,手工负责关键项,两者配合用,别指望一个工具点一下全解决。
4.1 官方清理工具的使用姿势
VMware 官方其实提供过清理工具,早期版本里有VMware_Install_Cleaner.exe,后来也出现过针对 Workstation 的 Cleanup Tool。它的定位很明确:当你安装失败、卸载失败、或者控制面板里已经找不到卸载入口时,用它来把残留清掉。
使用方式很直接:下载之后右键以管理员身份运行,它会自动检测残留的注册表项、服务和目录,然后一并清理。跑完重启一次。
但这里有三个坑我得说清楚:
第一,官方清理工具主要针对的是它出品的旧版本,对于 17.x 这个版本,它能清掉的东西不如新版本多,注册表里一些新增的项它不认识。所以跑完工具之后,还是要去注册表里手动确认一遍HKLM\SOFTWARE\VMware, Inc.和几个服务键,没有才是真干净。
第二,它清理的时机有讲究。必须在官方卸载程序跑完、并且失败或部分失败之后再用。如果卸载程序还在正常执行中你就插进去跑,两边同时改注册表,反而会搞出更乱的残留。
第三,它不会处理虚拟网卡和内核驱动这两块,那部分还是得回到设备管理器里手工卸。
4.2 第三方工具辅助排查
第三方工具我用得比较克制,主要是拿它做"扫描"而不是"清理"。原因是通用卸载工具的分支逻辑是按普通应用写的,遇到内核驱动这种深的东西,它要么不认,要么直接强删文件导致服务注册表悬空,反而更难处理。
比较稳妥的用法是:
- 用它们扫描一遍,把扫出来的 VMware 相关项导出成清单,然后你拿着清单对照我第三节的表格,看哪些是真残留、哪些是误报。
- 真正执行删除的时候,用注册表编辑器手工删、用设备管理器手工卸,或者用工具只在"删除注册表项"这一个维度上动手。
- 全程开启工具的"创建还原点"或者"操作前备份"选项。
用命令行方式做一次全盘搜索也是个办法,比如用 PowerShell 搜注册表里所有含 VMware 字样的键:
$roots = @("HKLM:\SOFTWARE","HKLM:\SYSTEM\CurrentControlSet\Services","HKCU:\SOFTWARE") foreach ($r in $roots) { Get-ChildItem -Path $r -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.Name -like "*VMware*" -or $_.Name -like "*vmnet*" -or $_.Name -like "*vmci*" } | Select-Object -ExpandProperty Name }这条命令输出的是路径清单,不会做任何删除动作,单纯用来排查。你把这个清单跟前面表格一比,就知道还剩什么。
提示:任何工具在清理前都会建议你关掉系统还原点或者关闭系统保护,不要关。清理注册表这事儿本身有风险,留一个还原点就是留一条后路。万一清完系统异常,至少能回滚。
5. 重装与验证
清理完不重启直接重装,是我见过第二常见的失败原因(第一是没清干净)。所以这一节的重点是:验证到底清干净没有,以及重装之后怎么确认一切正常。
5.1 重装前的自检清单
在双击安装包之前,我会花两分钟过一遍这个清单。它不长,但每一条都对应着一类实际踩过的坑:
| 检查项 | 合格标准 |
|---|---|
| 服务状态 | services.msc里搜不到任何 VMware 服务 |
| 注册表主键 | HKLM和HKCU下的VMware, Inc.都不存在 |
| 安装目录 | Program Files、ProgramData、AppData下无 VMware 残留目录 |
| 设备管理器 | 显示隐藏设备后,无 VMware 网卡、无 vmci/vmx86 等驱动条目 |
| 网络连接 | ncpa.cpl里只有物理网卡和正常虚拟网卡 |
| 虚拟化功能 | Hyper-V 相关功能已按需关闭,内存完整性已关 |
| 安全软件 | 实时防护已临时关闭 |
| 磁盘空间 | 系统盘至少留出 40G(虚拟机默认存这里的话要更多) |
| 系统重启 | 最后一次清理操作之后已经完整重启过 |
其中"设备管理器"和"系统重启"这两条最容易省。我建议别省,尤其是重启——驱动卸载后不重启,内核里还留着旧的驱动对象,重装时安装程序检测到会误判。
安装时还有个细节:右键安装包,选"以管理员身份运行",而不是双击。VMware 的安装需要写内核驱动和系统服务,权限不够就是 1603。另外安装路径建议放在纯英文路径下,虽然 17.x 对中文路径已经比以前友好很多,但没必要在这种事上给自己找麻烦。
5.2 常见报错速查与排查思路
重装过程中如果又出问题,先别急着重来一遍,看看报错落在哪个区间:
| 报错表现 | 大概率原因 | 处理方式 |
|---|---|---|
| 错误 1603 / 2503 / 2502 | 权限不足或旧服务同名 | 管理员运行安装包,检查服务是否删净 |
| 提示已安装其他版本 | Uninstall注册表残留 | 清理CurrentVersion\Uninstall下 VMware GUID |
| 无法安装 VMCI 驱动 | 旧 vmci 驱动未清 | 设备管理器卸非即插即用驱动,重启 |
无法打开内核设备vmx86 | vmx86 服务未启动或被禁 | services.msc启动,检查启动类型 |
| 网络适配器创建失败 | 网卡类注册表残留 | 清理{4d36e972-...}下 VMnet 实例 |
| 安装完虚拟机开机极慢 | 虚拟化功能冲突 | 关 Hyper-V / 内存完整性,重启 |
| 虚拟机开机蓝屏 | 驱动版本冲突或旧驱动残留 | 彻底清理驱动后重装 |
这些报错里,最难处理的是"控制面板里找不到 VMware,但装的时候说已安装"。这种情况属于注册表卸载记录残留,你需要手动定位到HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall和HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall两个位置,逐个点开子键看DisplayName值,找到 VMware 相关的 GUID 项删掉。删之前记得导出备份。
5.3 装完之后怎么确认一切正常
装完不代表结束,得验证一下核心功能是否可用。我一般按这个顺序走一遍:
第一步,打开主界面,看版本号。关于 → 关于 VMware Workstation,确认版本和你装的一致,并且许可证状态正常。如果提示需要输入密钥,说明许可证信息在清理时被清掉了,重新输入即可。
第二步,看虚拟网络编辑器。编辑 → 虚拟网络编辑器,点"更改设置"提权,确认 VMnet0(桥接)、VMnet1(仅主机)、VMnet8(NAT)三个都在,并且各自有网段。如果 VMnet1/VMnet8 缺失,说明网卡没创建成功,去设备管理器看看那两张虚拟网卡是否正常存在。
第三步,新建一台测试虚拟机。我习惯用 Ubuntu 22.04 的 ISO 做测试,因为它兼容性好、装得快,而且能顺便验证虚拟化功能是否真的可用。配置就给 2 核 4G 内存、40G 磁盘,网络选 NAT。
第四步,装 VMware Tools。系统装完后挂载工具镜像安装,这一步主要是验证 USB 驱动、显示驱动、共享文件夹这些增强功能好不好用。如果 Tools 装不上,通常是虚拟机的 CD/DVD 设备没挂对,检查一下虚拟机设置里光驱是不是指向了windows.iso或linux.iso。
第五步,测一下共享文件夹和拖拽。在虚拟机设置 → 选项 → 共享文件夹里添加一个宿主机目录,重启虚拟机看能不能访问。这一条能同时验证虚拟化内核驱动、服务和文件系统共享是否都正常,是很好的收尾验证。
6. 实操心得与踩坑记录
前面都是流程,这一节讲点流程之外的、我实际踩过的东西。这部分内容你在官方文档里基本看不到,但往往是决定成败的细节。
6.1 几个反直觉的细节
第一,卸载失败的时候不要反复点卸载。有些朋友一看卸载失败就再点一次,点了五六次。Windows Installer 每次执行都会在注册表里留下记录,反复失败会导致状态越来越乱,最后连清理工具都识别不出来。卸载失败一次之后,就该切换到手工清理路径了。
第二,清理完当天不要装,隔一天再装反而更稳。这话听着像玄学,其实有道理:Windows 系统里有一堆延迟删除机制,比如文件删除后句柄还没释放、驱动卸载后要等下次重启才真正从内核清除、某些注册表项的删除要等系统空闲时同步。你今天清完重启一次就装,有概率撞上这些延迟操作还没完成。我的习惯是清完重启,用一天,第二天再装,成功率确实更高。
第三,控制面板卸载的速度异常快,往往是没卸干净。正常的 VMware 卸载要跑几分钟,因为它要停服务、删驱动、删网卡。如果你点卸载之后十秒钟就提示完成,基本可以确定它只是删了入口,后面那堆东西还在。这种情况直接按第三节走手工流程。
第四,虚拟机文件不要放在系统盘。这条跟卸载没直接关系,但对重装体验影响极大。虚拟机放系统盘,一是占空间导致系统卡顿,二是重装系统时容易连数据一起清掉。我的做法是在 D 盘建一个VMs目录,首选项里把默认位置改过去,之后所有虚拟机都往里放。这样就算哪天要重装系统,数据都是安全的。
6.2 后续可以怎么扩展
如果你经常需要重建环境,可以把这套清理流程脚本化。核心思路是:把要检查注册表、要删的目录、要卸的服务写成一个 PowerShell 脚本,运行前自动导出备份。下次再遇到类似情况,一条命令就能出排查报告,比你翻半小时注册表快得多。
另外如果你同时用多个虚拟化平台,建议把"哪个软件占用硬件虚拟化"这件事搞清楚。Hyper-V、VMware、VirtualBox、安卓模拟器这几家的冲突关系是随版本变化的,某个版本能共存不代表下个版本还能共存。我的经验是固定用一个主力平台,其余的按需开关,比追求"全都能同时跑"要省心得多。
最后分享一个小技巧:清理注册表的时候,把所有要删的路径先在记事本里列一遍,然后按列表逐条执行、逐条打勾。看着笨,但能有效避免"删了一半忘了另一半"。我第一次折腾这事儿的时候就是因为漏了一个vnetWfp的过滤驱动,来回重装了三次才找到。后来用清单法,一次就过了。