前几天帮人看一台机器,症状是 VMware 装完能打开,但一按“开启此虚拟机”就黑屏十几秒然后报错,重装三遍都没用。最后发现是系统里同时开着内存完整性和虚拟机平台功能,两个虚拟化层在抢同一块 CPU 扩展,跟安装包本身一点关系都没有。
这类问题在大部分“VMware 安装教程”里根本看不到,因为它们只讲到“点下一步、点完成、重启”就结束了。可真正的麻烦恰恰从重启之后开始。这篇我按自己实际装机的顺序重写一遍:从判断这台机器适不适合装、安装包怎么验真、许可证这件事怎么处理干净、安装向导每一屏到底在问你什么、装完要核对哪几个开关,一直到第一台虚拟机跑起来和常见报错的排查链路。VMware Workstation 17 在 Windows 上的安装动作本身也就十分钟,真正花时间的是前后这些核对。下面全部基于我自己的操作习惯和常见实践整理,你照着走一遍,能省掉后面反复重装的工夫。
1. 动手装之前,先算清楚这台机器扛不扛得住
很多人拿到安装包就直接双击,装完发现虚拟机卡成幻灯片,回头怪软件。其实 VMware 本身对宿主机的占用很轻,安装完大概吃掉 1.5 到 2 GB 磁盘,常驻内存几百兆,真正的资源黑洞是你后面要跑的那台虚拟机。所以在点安装之前,先把账算明白,比装完再调参数省事得多。
1.1 三种典型用途对应的资源分配账
我自己装虚拟机基本就三种场景,每种对资源的要求完全不同,先对号入座再决定给多少。
第一种是学习或者熟悉 Linux 命令,跑一台最小化的发行版,不装桌面环境。这种给 2 核 CPU、2 GB 内存、20 GB 磁盘就够了,宿主机是 8 GB 内存的轻薄本也能带得动,是我最推荐新手起步的配置。
第二种是兼容性测试,比如某个老版本软件只在特定系统上跑得起来,或者要验证一份安装包在不同系统版本下的行为。这种通常需要装桌面环境,内存至少给 4 GB,磁盘 40 GB 起步,而且要开快照,因为测试完你要能一键回到干净状态。
第三种是搭一套隔离的测试环境,可能同时开两三台机器互相通信。这时候瓶颈在内存和磁盘 IO,CPU 反而没那么吃紧。我一般的做法是宿主机 16 GB 内存时,最多给虚拟机合计 8 GB,剩下的留给宿主系统,别把宿主机压到开始用交换文件,那体验比虚拟机本身卡得多。
| 用途 | vCPU | 内存 | 磁盘 | 宿主机建议 |
|---|---|---|---|---|
| 命令行学习 | 2 | 2 GB | 20 GB | 8 GB 内存 / 固态盘 |
| 桌面系统兼容测试 | 2 到 4 | 4 GB | 40 GB | 16 GB 内存 / 固态盘 |
| 多机隔离组网 | 每台 2 | 每台 2 到 4 GB | 每台 20 GB | 16 GB 以上 / 固态盘 |
1.2 CPU 虚拟化开关和磁盘空间的两个隐性门槛
CPU 这一关最容易被忽略。Intel 平台叫 VT-x,AMD 平台叫 SVM,都在主板固件里,绝大多数机器出厂是开的,但有些品牌机、尤其是整机预装的机型会默认关掉。判断方法很简单,任务管理器里看“性能”页的 CPU,右下角会写“虚拟化:已启用”或“已禁用”。如果是禁用状态,你得进固件设置里把它打开,通常在 Advanced 或者 CPU Configuration 菜单下。这一项不开,VMware 能装上,但一开虚拟机就报“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”,或者干脆 64 位系统装不上。
磁盘这边有两个隐性门槛。一是安装位置,我不建议把 VMware 装到机械盘上,倒不是装不下,而是虚拟机磁盘文件读写全在那一块盘上,机械盘的随机读写会让虚拟机开机慢到你想砸键盘。二是虚拟机文件存放位置,默认在用户目录下的文档文件夹里,如果你的系统盘只分了 100 GB,跑两台虚拟机就快满了,建议在装之前就把存放路径规划到数据盘,这个在首选项里可以统一改,比事后一台台搬要省事。
提示:虚拟磁盘有两种分配方式,一种是随用随涨的精简模式,一种是装的时候就占满的预分配模式。前者省空间但写入时有膨胀开销,后者性能更稳。我给测试机用精简,给要长期跑的生产型虚拟机用预分配。
2. 安装包和许可证这两件事,处理干净再动手
这一段我想说得直白些。网上流传的“VMware 17 安装包下载加许可证密钥”组合里,真正有问题的从来不是安装包本身,而是你不知道那个包被人动过什么。我见过最典型的情况是安装包被重新打包,多装了一个常驻服务,平时不显山不露水,等你哪天排查网络问题才发现多了个不明监听端口。
2.1 拿到安装包之后先做两件事
第一件事是核对版本号和文件名。正规渠道拿到的安装包,文件名里会带完整的版本号,主版本是 17,后面跟着小版本和构建号,安装包大小在几百兆这个量级。如果你拿到的文件名叫“VMware 最新版破解版”或者大小只有几十兆,基本可以直接扔掉。
第二件事是验数字签名。这个动作三十秒能做完,但能挡掉九成的改包风险。右键安装包,属性,数字签名选项卡,正常情况下会有一条签名信息,签名者应当是官方主体,状态显示正常。如果这个选项卡是空的,或者签名状态提示无效,不管来源多可靠都别装。
# 用 PowerShell 快速核对签名与文件哈希 Get-AuthenticodeSignature -FilePath "D:\setup\VMware-workstation-full-x.x.x.exe" | Format-List # 计算 SHA256,和官方页面给出的值逐位比对 Get-FileHash -Algorithm SHA256 -Path "D:\setup\VMware-workstation-full-x.x.x.exe"我自己的习惯是装之前把哈希值抄在安装包同目录的一个文本文件里,将来出问题要回溯的时候能对得上。这个习惯看起来啰嗦,但只要有一次遇到“装完系统变慢但找不到原因”,你就会感激当时的自己。
2.2 许可证这件事,别拿网上的密钥凑数
标题里提到的“许可证密钥”,我必须把话说明白:任何一篇正经的技术文章都不应该给你一串能直接用的密钥,包括这篇。原因不是藏着掖着,而是这类密钥在网上公开流传之后,基本都已经被回收或者拉黑了,你填进去要么提示无效,要么激活成功但过几天掉激活,中间还可能触发一连串奇怪的问题。
正规路径其实有三条,按适用人群排一下更清楚。
第一条是试用。装完首次启动会让你选择“试用”,一般是三十天,功能完整,没有阉割。如果你只是想临时验证一个系统镜像,三十天完全够用,很多人根本用不到付费那一步。
第二条是个人非商业用途的免费授权。厂商在 17.5 之后的版本调整过授权策略,个人在非商业场景下可以免费激活使用,具体在启动界面的许可证选项里会有对应入口,按提示完成注册即可。这里要注意边界,免费授权限定个人非商业,你在公司电脑上这么干是越界的,具体条款以官方页面当时的说明为准,别听二手转述。
第三条是商业授权,买的是正式密钥,格式通常是五组、每组五位字符,用短横线连起来。拿到之后在软件的“帮助”菜单里找到输入许可证密钥的入口,粘贴进去确认即可,激活状态会在关于页面显示。
| 授权方式 | 适用场景 | 有效期 | 需要注意 |
|---|---|---|---|
| 试用 | 临时验证镜像、短期测试 | 通常三十天 | 到期后功能锁定,需转正式授权 |
| 个人免费授权 | 个人学习、非商业用途 | 依官方策略 | 商业环境使用属于越界 |
| 商业密钥 | 企业办公、商用开发 | 按购买周期 | 密钥妥善保管,勿外发 |
顺手提一句密钥管理。如果你确实买了多份授权,别把密钥写在共享文档里所有人都能看到的位置,也别贴在公司群公告。我见过密钥外泄后被超额激活,最后整批授权被锁的情况,排查起来非常难受。放在密码管理工具里,用的时候取出来,用完关掉。
3. 安装向导逐屏拆解:每一页到底在问你什么
安装向导一共就那么几屏,但其中有三个选项是大多数人无脑点“下一步”点过去的,而这三点恰恰决定了你后面会不会遇到莫名其妙的问题。我按顺序走一遍,每一屏说清楚它在问什么、我为什么这么选。
3.1 安装路径与快捷方式:中文和空格是隐形雷区
向导前两屏是欢迎页和许可协议,没什么好说的,同意之后来到安装位置。默认路径在系统盘的 Program Files 目录下,我一般不动它。有人喜欢把它挪到 D 盘,这么做本身没问题,但有个前提:路径里不能有中文,不能有空格,不能有特殊符号。VMware 的服务在启动时会按路径加载组件,路径里带中文的时候,某些组件加载会失败,表现是安装成功但服务列表里少了一两个服务,之后网络怎么配都不通。
如果你确实要改路径,用纯英文加下划线的目录名,比如D:\VMware\Workstation。改完之后记得看一眼磁盘剩余空间,安装本身加上后续的组件缓存,留 5 GB 比较稳妥。
再往后是快捷方式和用户体验计划那一屏。快捷方式按自己习惯勾就行。用户体验计划是收集使用数据,非必选,我在做测试环境的时候一律取消勾选,减少不必要的后台行为,出问题时排查面也小一些。
3.2 增强型键盘驱动和共享虚拟机:两个该认真看一眼的勾选框
接下来这两屏是我认为整篇教程里最值得展开的地方。
第一屏问你要不要安装增强型键盘驱动。这个驱动的作用是让虚拟机里的键位映射更完整,比如某些组合键、多媒体键、特殊布局的键盘,在虚拟机里能正常工作。代价是它会在系统里装一个内核级驱动。我的选择是勾选,因为日常敲命令、用快捷键的场景太多,没有它体验会明显打折。但有两类情况我会取消勾选:一是这台机器上跑着对驱动比较敏感的安全类软件,二是纯粹拿来做隔离测试、不希望宿主系统多任何常驻组件。这个判断没有标准答案,取决于你怎么用。
第二屏问你要不要启用共享虚拟机。这个功能的作用是把本机的虚拟机共享给局域网里其他设备访问,本质上会在本机开一个监听服务,端口是 443。注意,这不是给你远程连接用的普通功能,它是把整个虚拟机共享出去。单人使用的场景,我建议直接取消勾选。开了之后多一个监听端口,多一层需要维护的入口,收益却接近于零。等哪天真有团队协作需求,再回来在首选项里打开也来得及。
安装选项建议(个人单机场景) [√] 增强型键盘驱动 —— 键位完整,日常敲命令体验更好 [ ] 共享虚拟机(端口 443) —— 单机使用无收益,减少监听面 [ ] 加入客户体验提升计划 —— 非必选,减少后台行为勾完这两项,点安装,等进度条走完。中间如果弹出驱动安装确认,选信任并继续。装完会提示重启,我一般直接重启,别图省事跳过,服务注册有些要重启之后才生效。
3.3 首次启动的三个选项,选错了后面全是麻烦
重启之后第一次打开软件,会连出三个选择,这三屏决定了软件的基本行为,值得停一下。
第一屏是许可协议,同意即可。第二屏会让你输入许可证或者选择试用,这里按第 2 节说的路径处理,别在这一步乱填密钥。第三屏问“是否允许软件在启动时检查更新”,我通常选是,但把自动下载关掉。原因很实际:更新有时候会改动虚拟网络驱动的行为,自动装上之后如果正好在赶一个测试,很容易被打断;手动更新能让你挑时间。
进入主界面之后,先别急着新建虚拟机,花两分钟做一件事:打开首选项,把虚拟机的默认存放位置改到数据盘。这个设置管的是以后所有新建虚拟机的默认路径,改在源头比事后一台台迁移高效得多。同一页里还有一个“内存”选项,可以设定保留给宿主系统的内存下限,这个值我一般设成宿主机内存的四分之一,防止开多台虚拟机时宿主系统被压死。
4. 装完不等于能用:网络与虚拟化引擎的核对清单
软件装完能打开,只说明安装流程走通了,不代表虚拟机跑得起来。这一步要做的是两类核对:网络能不能通,虚拟化引擎有没有被别的功能占住。这两件事任一不成立,你都会遇到“装完了但用不了”的尴尬。
4.1 虚拟网络编辑器里的三种模式怎么选
打开虚拟网络编辑器,会看到几个虚拟网卡,名字是 vmnet 加编号。新手最容易在这里懵,其实只要理解三种模式的差别就够了。
桥接模式对应 vmnet0。虚拟机直接接入你所在的物理网络,跟宿主机是平级的,路由器会给它单独分配一个同网段的地址。局域网上其他设备能直接访问这台虚拟机,反过来也一样,适合模拟一台真实独立的机器。
NAT 模式对应 vmnet8。虚拟机躲在一个虚拟路由器后面,由宿主机的网络替它转发,对外只有一个出口。虚拟机会拿到类似 192.168.x.x 的地址,网关通常是同网段的 .2。这个模式的好处是不管你换到哪个网络环境,虚拟机的地址都不变,不依赖路由器分配,我用得最多。
仅主机模式对应 vmnet1。虚拟机只能和宿主机通信,出不了外网。做隔离实验、模拟内网环境的时候用它,很干净。
| 模式 | 虚拟网卡 | 能否上网 | 局域网能否访问 | 典型用途 |
|---|---|---|---|---|
| 桥接 | vmnet0 | 能 | 能 | 模拟独立主机、对外提供服务测试 |
| NAT | vmnet8 | 能 | 不能 | 日常开发、换网络不用改配置 |
| 仅主机 | vmnet1 | 不能 | 不能 | 隔离实验、断网测试 |
桥接模式有个高频坑我必须点出来:多网卡机器上,桥接需要绑定到具体的物理网卡,而默认设置是自动选择。如果你笔记本同时有有线和无线两块网卡,或者装了额外的虚拟网卡(比如某些开发工具自带的),自动选择很容易绑错,表现就是虚拟机能开机但拿不到地址,你怎么改虚拟机里的设置都没用。处理方式是进虚拟网络编辑器,把桥接改为手动指定,明确选到当前真正在用的那块物理网卡。判断方法:宿主机上能正常上网的那块网卡,就是该选的那块。
4.2 虚拟化引擎之争:为什么你的虚拟机启动像卡死
这一节是我最想写的,因为它是我见过最多“重装十次也没用”的根源。
现象通常是这样的:虚拟机开机进度条走得极慢,或者走到一半直接报错,报错内容大致是说当前主机与某个虚拟化功能不兼容。原因不在 VMware,而在系统里已经有一个虚拟化层占着 CPU 的虚拟化扩展没放手。常见的占用者有这么几个:系统自带的虚拟机平台功能、子系统功能(很多人为了跑 Linux 环境开过它)、沙盒功能,以及安全中心里的内核隔离和内存完整性。
排查顺序我一般是这么走的。
第一步,用一条命令看系统当前到底有没有虚拟化层在跑。
# 查看 Hyper-V 相关要求与当前状态 systeminfo | findstr /i "Hyper-V" # 查看当前虚拟机监控程序是否已启动 bcdedit /enum {current} | findstr /i hypervisorlaunchtype如果 hypervisorlaunchtype 显示为 Auto,说明虚拟化层在启动时就加载了,跟 VMware 抢资源。可以临时关掉它,让修改在下一次重启生效。
# 临时关闭,重启后生效(需要管理员权限) bcdedit /set hypervisorlaunchtype off第二步,去“启用或关闭 Windows 功能”里看。虚拟机平台、虚拟机监控程序平台、沙盒、子系统这几项,只要当前没有实际用途就关掉。注意,关掉子系统功能会让已经装好的 Linux 环境失效,如果你还在用,得权衡一下:要么保留子系统不用 VMware,要么让 VMware 走兼容模式。
第三步,去安全中心关闭内核隔离里的内存完整性。这一项开启时同样占用虚拟化扩展,而且它的开关需要重启才生效。关掉它之后,VMware 通常就能正常启动虚拟机了。
需要说明一点:较新版本的 VMware 已经支持与系统的虚拟化层共存,代价是性能有明显下降,因为虚拟机不再直接使用硬件虚拟化,而是嵌套在另一层之上。我实测过,同一个镜像在共存模式下开机时间大概是独占模式的两倍多,跑编译类任务差距更明显。所以我的建议是:如果这台机器主要用途就是跑虚拟机,那就让 VMware 独占,把其他虚拟化功能关干净;如果那些功能同样重要,接受性能损失,别反复折腾。
5. 装崩了怎么收场:卸载重装的完整链路
安装失败、装完服务缺失、反复装卸把网络配置搞乱,这三种情况我都遇到过不止一次。这一段讲的是怎么把现场收拾干净,而不是简单地“再装一遍试试”。因为在不清理残留的情况下重装,问题往往会保留下来,甚至变得更乱。
5.1 判断是安装失败还是服务没起来
先分清性质。安装向导中途回滚、弹出错误提示,这是安装失败。安装显示成功,但软件打开报错、虚拟机无法启动,这多半是服务没起来或者驱动没加载。
判断方法很直接,打开服务管理器,找以 VMware 开头的几项服务。正常安装完成后,至少会有负责授权、NAT 网络、DHCP 分配、USB 设备仲裁这么几个服务,状态应当是正在运行或者手动。如果缺少某一项,说明对应的组件没装上;如果都在但停止了,手动启动一下看能不能起来,起不来再去看系统日志里的具体报错。
# 列出所有 VMware 相关服务及状态 Get-Service | Where-Object { $_.Name -like "VMware*" } | Format-Table Name, Status, StartType # 尝试启动授权服务(多数虚拟机启动失败与它有关) Start-Service -Name "VMwareAuthorizationService"授权服务是个高频点。它没起来的时候,软件界面一切正常,新建虚拟机的向导也能走完,但一点开机就报权限类错误。很多人以为是系统权限问题,去改用户账户设置,越改越乱,其实只要把服务拉起来就好了。
5.2 彻底卸载:残留清理的四个位置
如果确定了要重装,就得清干净。我按位置列一下,这四处是我每次都会过一遍的。
第一处是程序卸载入口。从控制面板或者设置里的应用列表找到对应条目卸载,走正规流程,别直接删文件夹。
第二处是安装目录。卸载之后去看原来的 Program Files 下那个目录还在不在,通常在的话里面剩的是配置文件或者日志,可以整个删掉。同样,ProgramData 下也会有一个隐藏目录存配置和虚拟网络信息,这个目录如果不删,重装之后虚拟网卡的配置会沿用旧的,可能带着之前的错误设置一起回来。
第三处是网络适配器残留。这是最容易被忽略的。打开网络连接列表,看你机器上有几块 vmnet 开头的虚拟网卡。反复装卸之后,编号会一路往上涨,变成 vmnet9、vmnet11 这种,而软件内部预期的是 vmnet1 和 vmnet8,对不上就会出现虚拟网络编辑器里一片空白、点“还原默认设置”也没反应的情况。处理办法是在设备管理器里把多余的虚拟网卡全部卸载,然后重装软件,或者装完之后进虚拟网络编辑器点一次“还原默认设置”,让它重建。
| 现象 | 大概率原因 | 处理动作 |
|---|---|---|
| 虚拟网络编辑器空白,还原无效 | 虚拟网卡编号错乱或残留 | 设备管理器卸载多余 vmnet 网卡后还原 |
| 虚拟机开机报权限错误 | 授权服务未运行 | 手动启动服务并改为自动 |
| 桥接模式拿不到地址 | 桥接绑定了错误的物理网卡 | 改为手动指定当前在用网卡 |
| 开机进度条极慢后报错 | 系统内其他虚拟化层占用 | 关闭内存完整性与虚拟机平台后重启 |
| 安装中途回滚 | 路径含中文、权限不足、旧版残留 | 换纯英文路径,彻底清理后重装 |
第四处是注册表。这一处我要提醒一句,不懂就别动。如果确实要清,只清软件自身的那几个项,别碰系统相关的分支。绝大多数情况下,前面三处清干净,重装就能成功,不需要动注册表。
注意:清理虚拟网卡之前,先确认自己没有别的软件在依赖这些网卡。有些开发工具会借用 vmnet 做本地回环通信,删掉之后那部分功能会断。删之前截个图,出问题能对照着恢复。
最后分享一个我自己一直在用的小技巧:装完并且确认一切正常之后,立刻给系统做一个还原点,命名里带上日期和版本号。以后不管是升级软件、改网络配置还是装了什么乱七八糟的东西导致虚拟机起不来,回滚一次十分钟搞定,比重装一遍省太多时间。这个习惯我保持了几年,救回来的时间远超过做还原点花的那几分钟。