一说到虚拟机,很多人第一个想到的工具就是 VMware,不管你是做开发的、搞运维的,还是大学里上操作系统课的学生,只要想在自己电脑上再开一台或者几台“电脑”,大概率都会打开 VMware Workstation,然后开始搜安装教程、虚拟机装 Linux 系统、设置网络、处理蓝屏……这些问题几乎天天有人在问。今天这篇,我就把你创建虚拟机和最常用的基础应用串成一条线:从新建向导一个一个选项怎么选,到装 Windows 和 Linux 系统,再到快照、克隆、网络配置和本地多站点开发环境的搭建,最后顺便把实际遇到的报错与排查经验也写出来。适合刚接触 VMware 的同学,也适合用了一阵子但一直靠“点点点”绕过原理的老手,看完能少走很多弯路。
1. 开始之前:先把虚拟机和环境准备讲透
1.1 虚拟机到底是什么,为什么很多人第一选择是 VMware
VMware Workstation 是少数能在 Windows 和 Linux 宿主机上都流畅运行的桌面虚拟化工具。它可以在你当前操作系统上模拟出一整套计算机硬件,包括 CPU、内存、硬盘、网卡、声卡,然后在这套虚拟硬件上安装另一个操作系统,这个被模拟出来的机器就叫虚拟机。
你可能想问,这不就是多装一台电脑吗?图什么?用途实在太常见了,开发人员可以在 Windows 主机上开发测试 Linux 环境下的服务,直接在虚拟机里装 Ubuntu 或 CentOS,改坏了就恢复快照,不用反复重装;想试验一些不太常用的软件或系统,比如安装 Windows 7、Windows Server 2022,甚至早期的 Windows XP,虚拟机里跑完再删,不影响日常使用;培训机构做演示、企业做员工测试环境,用克隆功能一次性批量生成多台配置一致的机器,比买真机器省钱省时。
VMware 能做这件事,靠的是中间那层虚拟化监控器,它让虚拟出的 CPU 指令和硬件中断都能被正确捕获并转发。技术细节不用背,你可以把它想象成一个调度员:宿主机把物理资源按时间片分给虚拟机,同时保证一台虚拟机的故障不会波及另一台。这也是虚拟机和“双系统”最大的区别——双系统一次只能运行一个操作系统,虚拟机则可以五六个系统同时开着互不干扰。
1.2 版本和许可证:个人用 Workstation Pro 现在怎么选
VMware 产品线比较多,桌面端常见的就是 Workstation Pro 和 Workstation Player,另外还有专门给 macOS 用的 Fusion 系列。Workstation Player 偏向“只跑现成虚拟机”的轻量入门,免费但功能有限;Workstation Pro 才是完整功能版本,也是大部分人搜“VMware 安装教程”时默认在用的版本。
这里有一个很重要的政策变化值得说:VMware Workstation Pro 17 对个人使用者已经调整为免费授权,个人可以在官网下载安装,省去了很多找许可证的麻烦;公司内部商业使用则建议以正式授权为准,不要图省事在网上随便下载来路不明的许可证文件,安全风险极高。
下载安装都不难,注意选对对应宿主系统的安装包,Windows 版本安装向导一路下一步即可。装完一般会提示重启宿主机,重启后再走“新建虚拟机”的流程,这一步不要跳过,否则后续启用虚拟化时很可能报奇怪错误。
1.3 硬件配置和系统镜像准备清单
创建虚拟机的门槛其实不高,但有一个前提必须在 BIOS/UEFI 里提前确认:CPU 虚拟化功能是否已经开启,对应 Intel 的 VT-x 或者 AMD 的 SVM。打开任务管理器,在“性能”标签里看到“虚拟化:已启用”就说明没问题。如果显示“已禁用”,需要重启进 BIOS/UEFI 设置,找到类似“Intel Virtualization Technology”或“SVM Mode”的选项开启并保存。
除了 CPU 虚拟化,内存、硬盘、镜像这三样也要提前备好:
- 内存:宿主机建议至少 8GB。装 Windows 10/11 虚拟机建议分 4GB,宿主自身还要留够余量;Windows 7 虚拟机 2GB 就能跑。
- 硬盘:剩余空间至少准备 30GB,虚拟机磁盘文件会随着使用不断膨胀,尽量别放在系统盘 C 盘。
- 系统镜像:Windows 直接用微软官方工具生成 ISO,Ubuntu 和 CentOS 到各自官网下载,注意别随便下第三方打包的镜像,干净系统才是虚拟机稳定的基础。
把这些准备妥当后再开始创建,后面就会顺畅很多。
2. VMware 里创建虚拟机的完整操作流程
2.1 新建向导的五个关键步骤
打开 VMware Workstation 后,主界面创建新虚拟机的按钮很明显。很多人习惯一路 Next,结果虚拟磁盘文件全跑到 C 盘,磁盘容量随手点个 40GB,当时看着省事,后面真要装大型软件时才发现不够用。我建议从第一步就冷静点,一项一项看清。
新建向导会让你选“典型”还是“自定义”。绝大多数场景选“典型”就够,“自定义”留给需要改硬件兼容性、磁盘控制器这类细节的高级用户。后续的关键步骤可以归纳成五个点:
第一是安装程序光盘映像文件。如果 ISO 镜像已经下好,直接指向它;如果没有,选“稍后安装操作系统”。我个人更推荐“稍后安装”,因为先建一个空虚拟机再挂载 ISO,很多参数后续还能继续调整,也不会因为路径里带中文或特殊字符导致装载失败。
第二是客户机操作系统类型。这里要选对系统系列和版本,比如 Windows 10 x64、Ubuntu 64 位、CentOS 7/8 64 位。版本选错有时安装也能过,但 VMware 会加载不匹配的默认参数,尤其是 Linux 内核版本差异大的时候,所以尽量准确。
第三是虚拟机名称和位置。名称用于识别,位置是虚拟机文件存放目录,建议统一建一个目录,比如D:\VMs\Win10-Dev,方便后续整体备份迁移。
第四是磁盘容量。根据实际需求填写,给 Windows 10 一般分 60GB 到 80GB,Ubuntu 桌面分 40GB 左右。下方有两个复选框:“将虚拟磁盘存储为单个文件”和“拆分为多个文件”。如果后续经常要整体拷走,单个文件更容易;担心文件系统对大文件支持不好就选拆分,性能几乎没差别。
第五是自定义硬件。向导最后一步可以点“自定义硬件”直接调内存、CPU、网络适配器。这里不用太纠结,网络适配器先保持默认 NAT,后面随时能改。
完成之后,左侧库中多出来一台虚拟机。先别急着点“开启此虚拟机”,建议再检查一遍内存和 CPU 分配。
2.2 Windows 和 Linux 的推荐配置参数
很多人一上来就把 CPU 核心数和内存全部拉满,理由是“虚拟机越快越好”。这其实是误区。虚拟机性能靠的是宿主机资源调配,给少了浪费,给太多了宿主机卡顿,尤其当你还要同时开几台虚拟机的时候,资源反而会互相抢。
虚拟机的资源分配遵循“够用且留有余量”的原则。下面是我在长期使用中整理的参考表:
| 虚拟机用途 | 操作系统示例 | CPU 核心数 | 内存 | 磁盘 | 网络模式 |
|---|---|---|---|---|---|
| 轻量实验 | Windows 7 | 1~2 核 | 2GB | 30GB | NAT |
| 日常办公开发 | Windows 10/11 | 4 核 | 8GB | 80GB | NAT 或桥接 |
| 服务器测试 | CentOS/Ubuntu Server | 2~4 核 | 4GB | 60GB | 桥接或仅主机 |
| 资源密集场景 | Windows Server 2022 | 4~8 核 | 8~16GB | 100GB+ | 桥接 |
内存这里特别说明一下:如果宿主机只有 16GB,给 Win10 虚拟机分 8GB,同时再打开几个浏览器页面,宿主机还能应付;但如果你同一时间还想开第二台虚拟机,就要适当缩减一线,否则宿主机内存耗尽会进入卡死状态。CPU 建议给双核以上,单核跑现代操作系统确实明显偏慢。虚拟 CPU 数量在“虚拟机设置 → 处理器”里调整,注意不要超过宿主逻辑处理器总数。
2.3 UEFI 与 BIOS、虚拟化引擎等容易被忽略的设置
在虚拟机设置里有一个“选项 → 高级 → 固件类型”字段,平时保持“自动”就好,但有两个场景需要手动指定。一是安装 Windows 11 时,需要选 UEFI 固件并启用可信平台模块;二是某些旧版本 Linux 或 Windows 7 在特定激活方式下需要 BIOS 兼容模式。选错固件会出现奇特故障,比如 Windows 11 安装时报“这台电脑无法运行 Windows 11”,其实就是固件和 TPM 设置没配对,并不是电脑真的不合格。
“虚拟化引擎”相关的勾选项,比如“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”和“虚拟化 CPU 性能计数器”,作用是让虚拟机访问底层 CPU 的硬件虚拟化能力。如果你不需要嵌套虚拟化(虚拟机里再开虚拟机),保持默认就行。相反,如果你开了这些选项后虚拟机频繁异常,可以先关掉它们做排除,很多相互冲突的怪问题都能这样定位。
3. 安装操作系统和 VMware Tools 实战
3.1 Windows 虚拟机安装:从 ISO 启动到蓝屏处理
在虚拟机列表上右键选择“设置”,在 CD/DVD 中指向下载好的 ISO,然后点击“开启此虚拟机”。调整一下虚拟机窗口,屏幕上出现 Windows 安装界面时,你会切实感受到“这就是一台真电脑嘛”。
Windows 7 和 Windows 10/11 的安装注意点不太一样。Win7 安装比较快,但默认不带 NVMe 驱动,磁盘控制器最好用 IDE 或 SATA 模式,用新版 Workstation 默认的 SCSI 控制器装 Win7,启动阶段有几率蓝屏,遇到就把磁盘控制器类型改回 IDE 或 SATA。Win10/11 安装时提示“此电脑无法运行 Windows 11”,基本都是 CPU 不满足、TPM 没启用或没有 UEFI 固件,在虚拟机设置里把固件换成 UEFI,再启用可信平台模块,基本能解决。
安装过程过半时突然蓝屏,大多指向内存不足或磁盘空间不足。回到宿主机看看 VMware 提示的内存和磁盘占用,把内存调到 4GB 以上再重启虚拟机重装。还有一种蓝屏出现在安装完成后,主要是显卡 3D 加速或虚拟驱动兼容性问题,先把“显示”选项里的 3D 加速关掉,再重装一次 VMware Tools,多数情况下能稳定下来。
3.2 Linux 虚拟机安装:Ubuntu 与 CentOS 的差异
Linux 安装整体比 Windows 顺利,但有两个地方容易翻车:分区和软件选择。Ubuntu 桌面版安装界面很友好,新手按“清除整个磁盘并安装”走就行,注意这里的“磁盘”指的是虚拟磁盘,不是宿主机物理盘,大胆点继续就行。CentOS 安装时要手动选“软件选择”,想带图形界面就选“带 GUI 的服务器”,如果默认最小化安装,装完只能看到黑底命令提示符,很多人会误以为是操作出错了。
另一条经验是,如果安装 Linux 过程中网络不通畅,可以先把“网络和主机名”放一放,装完后再慢慢配置。网络配置工具在中不同发行版里有区别:Ubuntu 适合用netplan,CentOS 可以直接编辑网卡配置文件比如/etc/sysconfig/network-scripts/ifcfg-ens33,修改后重启网络服务就行。
装完 Linux 如果分辨率特别低,只有 800x600,或者鼠标没法自由移出窗口,不要怀疑显卡坏了,十有八九是还没装 VMware Tools。虚拟机里对 VMware Tools 的依赖很大,这东西不装,体验会差一大截,下面专门说明。
3.3 VMware Tools:基础应用中的关键一步
很多人装完系统就急着用,却忽略了 VMware Tools。它是一套连接宿主机和虚拟机的驱动与服务,装好之后才能实现鼠标在窗口间自由移动、分辨率自动适应、宿主机和虚拟机之间直接拖拽文件、复制粘贴文本,以及更稳定的磁盘、网络和显卡性能。
安装方法不复杂:在虚拟机窗口顶部菜单点“虚拟机 → 安装 VMware Tools”,虚拟机内会出现一个光驱。Windows 双击 Setup 一路下一步就好;Linux 里需要挂载 CD-ROM,解压出压缩包,然后运行sudo ./vmware-install.pl,一路按回车接受默认值,装完重启虚拟机即可。
如果 VM Tools 装完还是无法拖拽文件,别急着重装,先到“虚拟机设置 → 选项 → 客户机隔离”里看看“启用拖放”和“启用复制粘贴”有没有勾选,这个选项经常被某些清理软件顺手关闭,检查一下就能恢复。
4. 生命周期管理基础应用:快照、克隆、备份与迁移
4.1 快照:用“后悔药”降低实验成本
快照就是把虚拟机的当前状态完整保存下来,包括内存、磁盘和配置。做实验时用了快照,就相当于有了时间机器,环境改坏了直接回到保存点,不需要重装系统。
做快照的时机要讲究。我通常会在刚装好操作系统、打完补丁并配置完 VMware Tools 时打一个快照,命名成“初始状态”;接下来每准备安装一类新软件或者修改重要系统配置前,再打一个“已装 Nginx”这样的快照。这样即便后续反复折腾,也能快速回到几个关键节点,比每次重装省太多时间。
快照会占磁盘空间,不要无脑疯狂打快照。每打一次,VMware 都会生成一个差额磁盘文件,快照树太深会慢慢把硬盘塞满。我的经验是只保留两三个关键节点,环境确认稳定后就把旧快照删掉。删除快照时磁盘合并需要一定时间,耐心等完成,不要中途强制关闭 VMware,否则磁盘文件状态会异常。
4.2 克隆:快速复制出同一配置的多台机器
如果手动复制虚拟机文件夹来做“备份”,文件缺一不可,稍不注意就会漏掉一个磁盘文件。VMware 自带的“克隆”功能是更正统的方式,它支持两种模式:
“创建完整克隆”生成一套独立副本,与原虚拟机完全无关,占用完整磁盘空间,适合交付给他人或作为长期保留的基线模板。“创建链接克隆”依赖父虚拟机,生成速度快、占用空间小,适合临时搭建测试集群,但有天然限制:父虚拟机被删除或移动后,链接克隆无法正常使用。
克隆前建议把即将作为母本的虚拟机关机,或者先打一个快照,保证数据一致。克隆出来的新虚拟机会自动生成新的 MAC 地址,不会和原虚拟机网络冲突,这一点 VMware 处理得很好,不需要手工干预。
4.3 备份和迁移:复制目录、导出 OVF
备份虚拟机最土也最直接的方法就是复制虚拟机目录。确认源虚拟机关机,把整个文件夹拷贝到移动硬盘或网络共享目录即可,下次用 Workstation 主界面的“打开虚拟机”选择.vmx文件,虚拟机就能跑起来。如果是别人给你的目录,一定要先确认文件完整,至少要有.vmx、.vmdk、.nvram三个关键文件,缺了任一个都可能启动不了。
如果要跨宿主机迁移,可以用“文件 → 导出为 OVF”。OVF 是一种通用的虚拟机打包格式,导出后是.ovf格式的配置描述文件加若干个磁盘文件,导入时在 Workstation 里选择“打开”即可。需要提醒的是,OVF 导出暂时不支持带快照导出,导出前可能需要先删除快照,而且整个导出过程比较耗时,大磁盘镜像建议选在空闲时段做。
要不要加密虚拟机?VMware 的“虚拟机设置 → 选项 → 访问控制”提供基于密码的加密功能,如果虚拟机里放的是客户敏感数据,加密确实是好选择,但一定记得加密密码要保存好。忘了密码基本等于数据永久丢失,这个风险比虚拟机被偷走还要大,普通学习环境其实没必要加密。
5. 虚拟机网络与本地多站点开发环境实战
5.1 三种网络模式:NAT、桥接、仅主机
虚拟机要是脱离网络,很多功能根本没法用,网络配置因此成了继操作系统安装之后最常用的基础操作。VMware 里每台虚拟机可以选三种网络模式,理解它们的区别对排查问题特别重要。
桥接模式相当于虚拟机直接插到宿主机所在的局域网,虚拟机拿到和宿主机同网段独立 IP,其他设备可以直接访问它,适合部署对外提供服务的测试环境。NAT 模式让虚拟机通过宿主机共享网络上网,宿主机像一个路由器,虚拟机 IP 是私有网段(比如 192.168.73.x),虚拟机和宿主机互不干扰,宿主网络环境变了也不影响虚拟机上网,个人日常单机开发最推荐。还有一种仅主机模式,虚拟机之间、虚拟机和宿主机能互相访问,但没法访问外网,适合隔离实验或者纯内部演示。
刚入门用默认 NAT 最省心。宿主要直接访问虚拟机里的 Web 服务时,最简单的方法是临时把网络改成桥接,或者使用 NAT 模式下的端口转发,在“编辑 → 虚拟网络编辑器”里配置好端口映射规则即可。
5.2 实战:虚拟机内用 Nginx 配置多站点自定义域名
最近我刚做了一个小项目,在 Ubuntu 虚拟机里用 Nginx 跑两个 Web 站,本地通过自定义域名访问,正好覆盖了很多人关心的“本地+虚拟机 多端口 nginx 开发环境多站点自定义域名配置”场景。这里把配置思路完整梳理一遍,可以直接照着做。
假设虚拟机 IP 是192.168.73.128(NAT 模式),两个站点分别是shop.test和blog.test,Nginx 分别监听8081和8082端口。先在虚拟机内安装 Nginx:
sudo apt update sudo apt install -y nginx创建站点目录,比如/var/www/shop和/var/www/blog,然后在/etc/nginx/conf.d/下写两个配置文件。第一个是shop.test.conf:
server { listen 8081; server_name shop.test; root /var/www/shop; index index.html; location / { try_files $uri $uri/ =404; } }第二个配置文件blog.test.conf内容类似,把listen改成8082,server_name改成blog.test,root指向/var/www/blog。写完先执行sudo nginx -t校验语法,提示 ok 之后sudo systemctl reload nginx让配置生效。
接下是宿主机访问的关键。因为shop.test不是真实公网域名,Windows 宿主机需要在C:\Windows\System32\drivers\etc\hosts文件末尾加一行:
192.168.73.128 shop.test blog.test保存后,在宿主机浏览器输入http://shop.test:8081就能访问虚拟机内的站点,http://blog.test:8082访问第二个站。如果纯 NAT 模式下宿主机访问不通,可以先检查宿主机到虚拟机 IP 的连通性,不通时改用桥接模式,或者配置 NAT 端口转发。
配置过程中最容易出错的就是 hosts 文件本身:不要加https://前缀,不要写#注释到同一行,也不要在行尾多敲空格。打不开时先ping shop.test,如果 ping 出来不是192.168.73.128,说明 hosts 没生效或者改错文件了。
提示:Nginx 多站点配置的核心是
server_name和listen配合。两个 server 块监听同一端口时,Nginx 靠server_name区分;监听不同端口时,浏览器访问路径要带上对应端口号。server_name不用真的能公网解析,本地 hosts 映射已经足够。
5.3 网络问题排查:线缆已拔出、无法获取 IP
虚拟机里网络图标显示“线缆已拔出”,十有八九不是虚拟网线真的被拔了,而是虚拟网卡没有在虚拟网络拓扑里选中“已连接”。解决办法是把虚拟机关机,在虚拟机设置的“网络适配器”里勾选“已连接”,并确认网络模式正确,再开机看状态。如果“已连接”本来就勾着,就去宿主机 Windows 服务管理里看 VMware DHCP Service、VMware NAT Service 是否都处于运行状态,这两项被优化软件关掉是常见故障源。
无法获取 IP 时,虚拟机内可以先强制获取一下:
sudo dhclient -v # Ubuntu 系统也可以尝试 sudo netplan apply如果还不行,多半是 VMware 虚拟网络编辑器里的子网网段和物理网段冲突,或者 NAT 服务状态异常。可以打开“编辑 → 虚拟网络编辑器”,点“恢复默认设置”重置虚拟网络,再重新配置 NAT 网段。这个操作我修复过大量网络问题,简单有效,但要记住恢复默认后,之前自定义的端口转发规则可能会被清空,需要重新添加。
6. 常见报错与排查经验速查
6.1 “无法连接到虚拟机。请确保您有权运行该程序”
Workstation 偶尔会在开启虚拟机时弹出“无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用”的提示。很多人第一反应是重装,其实大多是 VMware 服务或权限问题。排查顺序建议这样:先把 VMware Workstation 完全退出,去服务管理器看 VMware Authorization Service,确保启动类型是“自动”并且当前正在运行;然后右键 VMware 图标,选择“以管理员身份运行”,Win11 上权限控制更严格,这个步骤尤其有用。
如果服务和权限都没问题,检查安装目录有没有中文路径,或者是否被安全软件拦截了 VMware 相关驱动。再不行就备份好虚拟机目录,卸载重装一次 Workstation,注意安装时保持默认英文路径。重装后问题基本都能解决,虚拟机文件本身通常不会受损。
6.2 “无法启用虚拟机平台”与 Hyper-V 冲突
“无法启用虚拟机平台”的报错,多数出现在宿主机把 Hyper-V、虚拟机监控程序平台或者核心隔离打开的情况下,它们会和 VMware 的虚拟化引擎抢占底层资源。解决方式是到控制面板“启用或关闭 Windows 功能”,取消“Hyper-V”勾选,同时确认“Windows 虚拟机监控程序平台”处于关闭状态,然后重启电脑。Win11 用户还要去“设置 → 隐私和安全性 → Windows 安全中心 → 设备安全性 → 内核隔离”,把“内存完整性”暂时关掉。
反过来讲,如果你确实需要同时用 Hyper-V 和 Workstation,新版 VMware 提供了 Windows Hypervisor Platform 的兼容方案,可以共存,但实际用下来性能和稳定性都不如纯虚拟化模式,日常使用还是建议两个虚拟机平台二选一。关掉 Hyper-V 之后,VMware 启动速度明显更快,虚拟机内图形响应也跟手很多。
6.3 虚拟机卡顿、卸载与删除目录的补充技巧
虚拟机卡顿的原因不外乎资源分配、快照太多、磁盘碎片和存储介质太慢这几种。内存分配超过宿主物理内存一半时,例如 16GB 的机器硬给虚拟机分 10GB,建议降回 8GB 以下。快照树太深时要及时清理旧快照,删除快照后不要马上开机,给它一点合并时间。机械硬盘跑 Win10/11 虚拟机确实吃力,有条件把虚拟机目录放到 SSD 上,再用“编辑 → 首选项 → 高级”里的“为虚拟机预留部分内存”,能明显减少虚拟机内部程序不跟手的情况。
卸载 VMware 时,先用自带卸载功能,再手动删除安装目录和临时目录残留。删除虚拟机目录之前,要先在 Workstation 里彻底移除这个虚拟机的列表项,再回收磁盘空间。不要图方便直接在资源管理器里删.vmdk文件,因为快照目录和一些加密配置可能就藏在看不见的位置,直接删容易留下大量隐藏垃圾文件,甚至影响其他虚拟机。
我在实际使用中最大的体会是,不要像操作真机一样操作虚拟机,配置完了该打快照就打快照,VMware Tools 该装就装,网络出问题先看服务和网卡状态,而不是一上来就重装系统。创建虚拟机本身不难,难的是后期坚持按合理习惯维护。你只要把第 2 节的向导参数、第 4 节的快照克隆、第 5 节的网络配置真正用起来,大部分日常需求都能覆盖。如果第一次找不到某个设置,就按菜单名称慢慢翻,Workstation 的中文界面已经足够友好,动手试上几次,慢慢就会形成肌肉记忆。这套思路的通用性也很强,以后就算换用其他虚拟化产品,底层逻辑也大致是相通的。