
装虚拟机这件事很多人第一次接触都是从我想在一台电脑上同时跑两个系统开始的。我最早也是这个动机——手头只有一台工作本想练手 Linux 命令又不敢在真机上折腾分区。十几年下来虚拟机成了我本机上雷打不动的常驻工具测试新系统、验证软件安装包、复现别人报的 Bug、跑一些不敢在宿主环境里做的操作。而VMware Workstation一直是我在 Windows 上首选的那一款原因不复杂——网络模式清晰、快照好用、硬件兼容性省心。这篇就把虚拟机 VMware Workstation 安装详细步骤从头到尾讲一遍不是把安装向导点一遍就完事而是把每一步背后的意图、容易忽略的选项、装完之后立刻会撞上的坑都摊开说。刚上手的新人可以照着走一遍装过几次但总在网络上栽跟头的老手也能在中间几节找到点东西。1. 动手之前先想清楚本地虚拟机到底解决什么问题1.1 本地虚拟机和云主机、容器不是替代关系我见过不少新人一上来就问现在云主机这么方便容器这么轻为什么还要在本机装一个几十 GB 的虚拟机软件这个问题问得对但答案不是哪个更好而是边界在哪。云主机的问题在于网络往返和成本。你要测一个开机启动脚本云主机上改一改重启一次来回等待的时间和流量费都是成本而本地虚拟机改完点一下重新启动十几秒就能看到结果。容器的问题在于隔离层级。容器共享宿主内核你想验证内核参数、想装一个自定义内核模块、想测试引导流程容器根本给不了你这个环境。虚拟机是完整的硬件抽象BIOS、磁盘控制器、网卡型号都是假的但完整的系统装进去以后它自己认为跑在真机上。所以本地虚拟机的定位很明确需要完整操作系统、需要反复重装、需要断网环境、需要快照回滚的实验场景。学习新系统、验证系统级配置、做软件兼容性测试、跑一些来源不明的程序看行为这几类活儿本地虚拟机是最顺手的。还有一类场景容易被忽略老系统兼容。单位里有些老软件只能在特定旧版本系统上跑真机装不上驱动虚拟机里反而轻松搞定宿主该升级升级互不干扰。1.2 装之前必须确认的三件事第一件是硬件虚拟化是否开启。这是后面所有问题的根源先查清楚能省掉大量返工。任务管理器 → 性能 → CPU右下角有一行虚拟化显示已启用才算是通的。如果显示已禁用需要进主板固件设置开机按 Del 或 F2具体键位看主板品牌找到Intel VT-x、Intel Virtualization Technology、SVM Mode、AMD-V这类名称的选项打开。笔记本上有些机型还会把它藏在高级 → CPU 配置里找不到就翻一遍所有页签名字各家不统一。第二件是Hyper-V 一系的功能是否占用着虚拟化。Windows 上开了 Hyper-V、虚拟机平台、WSL2、沙盒、内存完整性内核隔离底层都会挂一个自家的虚拟化层VMware 再想拿 VT-x 就会报此平台不支持虚拟化的 Intel VT-x/EPT。这个报错非常常见后面第 6 节会专门讲排查链路。第三件是磁盘空间。软件本体装完大概 1 GB 出头但虚拟机磁盘才是大头。一个干净的 Windows 虚拟机装完系统加常用软件30 到 50 GB 是常态Linux 服务器版可以压到 10 GB 以内。我的习惯是给虚拟机单独留一块固态盘或者一个独立分区目录结构清爽删起来也干脆。机械盘不是不能跑只是那种开机转两分钟的体验会让你放弃使用。1.3 宿主机的内存账要提前算这一条很多人装完才后悔。虚拟机内存是从宿主机物理内存里借的借出去的部分宿主就用不了。假设你机器 16 GB日常开着浏览器、聊天工具、编辑器宿主自己就要吃掉 6 到 8 GB剩给虚拟机的余量其实只有 6 GB 左右。我的经验分配比例如下供参考物理内存单台虚拟机建议同时跑几台比较舒服8 GB2 GB1 台且宿主别开太多程序16 GB4 GB1 到 2 台32 GB8 GB2 到 3 台64 GB16 GB3 台以上桌面包的 Linux 给 4 GB 够用纯命令行的服务器版给 2 GB 就够。Windows 虚拟机低于 4 GB 会很难受8 GB 才算顺手。这些数字不是硬规定但按这个来基本不会踩到宿主机卡成幻灯片的坑。2. 版本选择与安装包来源准备工作做扎实2.1 版本差异与怎么挑Workstation 有两个产品线容易混淆Workstation Pro和Workstation Player。Player 是精简版只能运行虚拟机不能创建和编辑高级配置快照、克隆、虚拟网络编辑器这些都没有。早些年 Player 免费、Pro 收费这个格局后来变了Pro 对个人使用已经开放免费功能上完全没有理由再选 Player。所以我的建议很直接装 Pro别装 Player。版本号方面选当时的最新稳定大版本就行。虚拟机软件对宿主系统的支持是有下限的太老的版本在新系统上可能装不上或者跑不稳反过来也不必追刚发布的第一个小版本等一两个补丁版本再上更稳妥。如果你要和别人交换虚拟机文件注意硬件兼容性这一项新版本创建的虚拟机可以在旧版本上通过降级兼容运行但反过来不行团队协作时统一一下版本比较省事。还有一个实际考量如果你机器上还留着旧版本的 Workstation新版本一般可以直接覆盖升级已有的虚拟机列表和网络配置会保留。但如果你是从很老的版本比如 12、14跨代升级建议先把重要的虚拟机导出或复制一份再动手跨代升级偶尔会出现虚拟网卡配置错乱的情况。2.2 安装包拿到手之后先做校验这一步九成人会跳过但我建议你别跳。安装包从网络下载中途损坏或者被替换都是有可能的装到一半报错、装完行为诡异排查起来非常耗时间。正规渠道下载页面一般会提供一个 SHA256 或者 MD5 值。Windows 上用 PowerShell 校验很方便Get-FileHash -Algorithm SHA256 D:\downloads\虚拟机安装包.exe输出的哈希值和页面上给的一比对一致就说明文件完整。Linux 或 macOS 上对应的是shasum -a 256 安装包文件名不一致就重新下载别抱侥幸心理。我遇到过下载不完整导致安装到 90% 报无法写入文件的情况重下一次就好了但当时已经浪费了半小时在各种猜测上。存放路径也提一句别放在中文路径、带空格的深层目录、或者网络映射盘里。安装程序本身对路径不算敏感但后面你创建虚拟机、挂载 ISO 镜像的时候路径里有特殊字符偶尔会引发一些奇怪的问题。我习惯在非系统盘建一个纯英文目录比如D:\VMs把安装包、ISO 镜像、虚拟机文件全归到这里长期维护起来清爽很多。3. 安装向导逐屏拆解每一屏在做什么3.1 从启动到许可协议这一段的动作含义双击安装包第一件事是 UAC 提权确认。虚拟机软件要装虚拟网卡驱动、要注册系统服务必须管理员权限这个弹窗点是就行。如果你在企业环境里点完没反应多半是组策略限制了驱动安装需要找管理员放行。欢迎界面没什么可说的直接下一步。接下来是许可协议选我接受才能继续。这里顺带说一句协议里对商用授权有明确条款如果是公司电脑上装建议先确认一下单位的软件合规要求别给自己找麻烦。再往下是安装位置。默认路径一般在系统盘的Program Files (x86)下。改不改我的看法是如果系统盘空间充裕剩余 50 GB 以上用默认就行省事如果系统盘紧张改到其他盘完全可以但要注意两点——路径全英文且不要和其他软件装在同一个目录里。装完之后想再改路径就得卸载重装所以这一步想清楚。这一屏下面还有个选项问是否为所有用户安装、是否增强型键盘驱动。增强型键盘驱动主要是解决一些特殊按键在虚拟机里失灵的问题普通使用保持默认勾选即可万一后面遇到键盘异常可以在设置里再关掉。3.2 用户体验设置这两项建议取消继续往下会看到一屏用户体验设置通常包含两个复选项启动时检查产品更新、加入客户体验提升计划。我的做法是两个都取消。检查更新这一项软件启动时联网查询会拖慢冷启动速度而且它经常在你急着开虚拟机的时候弹个提示框。客户体验计划是收集使用数据对功能没有任何帮助。取消勾选不影响软件正常使用也不影响你手动去检查更新。接着是快捷方式选择桌面、开始菜单按自己习惯勾就行。我一般只留开始菜单桌面图标太多会显得乱。3.3 点下安装之后会发生什么点安装以后进度条会走几段中间有一个容易被忽略的现象屏幕会闪一下、网络会短暂断开。这不是故障是安装程序在创建并启用虚拟网卡。Workstation 会往系统里装两块虚拟网卡通常显示为VMnet1和VMnet8分别对应仅主机和NAT两种网络模式。网卡重新枚举的瞬间宿主机网络会抖一下几秒钟就恢复。这个机制值得展开说一句因为它解释了一个常见困惑为什么装了虚拟机软件之后宿主机网络连接里多出一堆看着像真网卡的设备它们就是虚拟网络的出口别随手禁用禁用了对应模式的虚拟机就上不了网。安装完成后一般会提示重启。我的经验是首次安装建议重启一次。虽然不重启也能用但网络驱动和内核组件的加载状态在重启后才完全稳定尤其是你打算马上用桥接模式的时候不重启偶尔会遇到虚拟网卡拿不到地址的情况。重启之后第一次打开如果弹出输入许可证密钥的窗口选择个人使用的免费选项或者稍后处理都可以功能上不影响。这一步的具体形态会随版本变化跟着界面指引走就行实在卡住了跳过继续用也不影响核心功能。4. 虚拟网络编辑器三种模式选错后面全是坑4.1 桥接、NAT、仅主机的本质差别虚拟机装好之后第一件要搞明白的不是怎么创建虚拟机而是网络模式。很多人后面虚拟机上不了网的困扰八成源于一开始的模式选错。打开编辑 → 虚拟网络编辑器你会看到几种模式理解它们的关键是搞清楚虚拟机的流量最终从哪儿出去。桥接模式VMnet0虚拟机相当于直接接在你所在的物理局域网里。它会从路由器的 DHCP 拿一个和宿主机同网段的地址局域网内其他设备能直接访问它它也能访问别人。适合做服务器测试、需要被局域网其他机器访问的场景。缺点是依赖物理网络环境换个 Wi-Fi、换个网段虚拟机的地址就变了。NAT 模式VMnet8虚拟机躲在宿主机后面由 Workstation 的 NAT 服务做地址转换。虚拟机可以主动访问外网但外网和局域网看不到它。这是默认推荐模式也是最省心的宿主机能上网虚拟机就能上网换网络环境也不受影响。做开发测试、装软件、拉依赖选这个就对了。仅主机模式VMnet1虚拟机和宿主机之间可以互通但出不了这台电脑。适合做纯内网实验比如搭一套只在本机访问的服务集群不想让它碰到外网。一张表对比清楚模式对应虚拟网卡能否上外网局域网能否访问它典型用途桥接VMnet0能能局域网服务器、被其他设备访问NATVMnet8能不能日常开发、装软件、通用实验仅主机VMnet1不能不能纯内网实验、隔离测试4.2 网段规划的实操建议默认配置下NAT 用的网段通常是192.168.x.0/24网关是网段里的.2DHCP 分配的地址从.128往后。这个默认值大多数情况够用但有一个坑要提醒如果宿主机的物理网段刚好和虚拟网段撞了就会出现莫名其妙的连通性问题——你以为在访问虚拟机实际上路由到了局域网里的某台设备。判断方法很简单宿主机上跑一下ipconfig看看物理网卡的网段再对比一下虚拟网络编辑器里的 NAT 网段。撞了就把虚拟网段改掉比如改成192.168.150.0/24这种平时不太会出现的段。改完记得点应用让 DHCP 和 NAT 服务重新加载配置。另一个实用建议如果你经常需要从宿主机固定访问某台虚拟机比如用 SSH 连过去给虚拟机配静态地址比依赖 DHCP 靠谱。在 NAT 模式下配静态地址要注意地址要在虚拟网段内、避开 DHCP 分配区间、网关填虚拟网络编辑器里显示的那个网关地址、DNS 可以填192.168.x.2NAT 设备会转发 DNS 请求。配完先ping网关通了再ping外网地址最后测域名解析分三层验证出问题能立刻定位在哪一层。5. 创建第一台虚拟机硬件分配每一项的取舍5.1 典型配置和自定义配置怎么选新建虚拟机时第一个岔路口是典型还是自定义。典型配置会帮你把大部分选项定好只问系统类型、镜像、名字、磁盘大小适合快速开一台。自定义配置会一路问到底包括硬件兼容性版本、虚拟磁盘控制器类型、固件类型BIOS 还是 UEFI、CPU 和内存细节。我的建议前几台用典型熟悉了以后一律走自定义。原因在于典型配置有几个默认值在特定场景下不合适。举两个实际例子一是固件类型。典型配置默认可能给的是 BIOS而你要装的系统要求 UEFI 引导某些新系统版本、或者你要测安全启动相关的东西装到一半发现引导不了只能删了重建。自定义流程里可以直接选。二是虚拟磁盘类型。典型配置一般给 SCSI但如果你要测的是 NVMe 相关的行为或者要模拟特定存储控制器就必须在自定义里选。所以流程是先用典型跑通一台确认整体链路没问题后续需要精确控制的时候再走自定义。5.2 CPU 和内存分配的几条硬规矩处理器配置这一屏会问处理器数量和每个处理器的核心数量。很多人以为数字越大越好其实这里有个容易误解的地方虚拟机看到的是逻辑处理器而物理机的超线程核心在性能上和真核心差别很大。我的分配原则虚拟 CPU 总数不要超过物理核心数不含超线程的物理核心。比如 8 核 16 线程的 CPU虚拟机给 4 到 6 个 vCPU 是合理区间给 16 个只会让调度开销变大。处理器数量保持 1把核心都放在每个处理器的核心数量里。这样虚拟机内部看到的是单路多核避免某些软件按路数授权或者按路数做优化时出现奇怪行为。分配完记得勾选下面那两个虚拟化引擎选项虚拟化 Intel VT-x/EPT 或 AMD-V/RVI以及它下面的嵌套虚拟化相关项。这两个是给虚拟机里再跑虚拟机准备的如果你只跑一层不勾也行但勾上通常没坏处除非你的宿主本身虚拟化资源紧张。内存那一屏滑块旁边会显示推荐值也会提示宿主机当前可用内存。这里有个权衡给少了虚拟机卡给多了宿主机开始用交换文件两边都卡。前面第 1.3 节给的表格按那个走基本稳。还有一个选项叫预留全部内存有些版本在虚拟机设置的选项 → 高级里。勾上以后虚拟机启动时就把内存从宿主完整占走性能更稳定但宿主可用内存立刻减少。内存充裕时勾上体验更好内存紧张时必须取消否则宿主机可能直接卡死。5.3 磁盘容量、拆分方式与预分配磁盘这一屏有三个决定容量、是否拆分成多个文件、是否预分配空间。容量给多少给一个够用但不夸张的值。虚拟磁盘是按需增长的你给 100 GB 不代表立刻占 100 GB实际占用取决于虚拟机里真实写了多少数据。所以给大一点没有即时成本但要注意磁盘满了以后再扩容是可以的Workstation 支持扩容只是扩容后还要在系统内扩展分区稍微麻烦。我的习惯是服务器版 Linux 给 20 到 30 GB桌面版 Linux 给 40 GBWindows 给 60 到 80 GB。拆分成多个文件这个选项勾上以后磁盘会被切成若干个 2 GB 左右的文件.vmdk系列。好处是单个文件不会特别大移动到某些文件系统比如 FAT32 单文件上限 4 GB时不会失败某些备份工具处理起来也更友好。代价是文件数量多手动复制的时候容易漏。我一般是勾上的除非是纯性能测试场景。预分配磁盘空间这项勾上会在创建时就把磁盘文件撑到指定大小写入性能略有提升碎片更少但立刻占用宿主机空间。日常使用不勾按需增长就够了性能差异在实际使用中很难感知到。6. 装完之后的踩坑实录报错逐个拆解6.1 此平台不支持虚拟化的 Intel VT-x/EPT 的完整排查链路这个报错是我被问得最多的一个值得把排查过程完整走一遍而不是甩一句关掉 Hyper-V了事。第一层确认硬件虚拟化本身开了没有。任务管理器性能页看虚拟化状态。如果是已禁用问题在固件设置里跟软件无关去打开 VT-x/SVM 再回来。第二层确认没有其他虚拟化程序占用。这是最常见的一层。Windows 上会占用的包括Hyper-V 功能、虚拟机平台Virtual Machine Platform、Windows 虚拟机监控程序平台、WSL2、Windows 沙盒、内存完整性内核隔离、Credential Guard。任何一个开着底层虚拟化就被接管了。排查顺序建议这样先在Windows 功能对话框里看 Hyper-V 和虚拟机平台是否勾选勾了就取消重启。然后去Windows 安全中心 → 设备安全性 → 内核隔离详细信息看内存完整性是否开启开了就关掉重启。做完这两步八成的案例就解决了。第三层虚拟化层是否还残留在引导配置里。有些机器关了功能引导项里还留着 hypervisor 的启动标记。管理员权限打开命令提示符执行bcdedit /enum {current}看输出里有没有hypervisorlaunchtype这一项值是Auto的话就关掉bcdedit /set hypervisorlaunchtype off然后重启。要恢复就把它设回Auto。这个操作对系统没有破坏性但会影响依赖 Hyper-V 的功能如果你的 WSL2 还要用记得这是互相冲突的。第四层VMware 自己的兼容方案。较新版本的 Workstation 支持与 Windows 的虚拟化层共存走的是另一套接口但性能会有损失。如果你确实需要同时用 WSL2 和虚拟机可以在虚拟机设置的处理器里找相关的兼容选项或者在软件的首选项里找使用 Windows 虚拟机监控程序之类的开关。代价是嵌套虚拟化可能不可用性能也打折我的建议仍然是能关就关别走兼容模式两边都跑不痛快。6.2 虚拟机上不了网按层排查而不是乱试网络问题最忌讳东改西改改完自己都不知道改了啥。我固定按这个顺序排查每一层验证通过再往下走。第一步看虚拟机自己有没有地址。Linux 上ip addrWindows 上ipconfig。如果根本拿不到地址问题在链路层检查虚拟机设置里网络适配器是不是勾了已连接模式是不是你预期的那个。NAT 模式下没地址去宿主机服务列表里看VMware NAT Service和VMware DHCP Service是否在运行这两个服务挂了NAT 模式直接瘫痪。服务被某些优化软件禁用是很常见的事。第二步ping 网关。NAT 模式下网关就是虚拟网络编辑器里显示的那个地址通常是网段里的.2。ping 不通说明虚拟机到虚拟网络这一段有问题回头查网卡和 IP 配置。ping 得通说明本地链路正常。第三步ping 外网地址。用一个稳定的公共地址试试比如223.5.5.5这类。能通说明路由和 NAT 转换正常问题只在域名解析不通说明 NAT 转换或者宿主机出口有问题。第四步验证 DNS。前面通、这一步不通就是 DNS 配错了。NAT 模式下 DNS 可以指虚拟网关也可以直接填公共 DNS 地址。Linux 上改/etc/resolv.conf是临时的重启会被覆盖要永久生效得改网络管理器的配置这一点容易反复踩。第五步检查宿主防火墙。宿主机的安全软件有时会把虚拟网卡识别成未知网络并套用最严格规则导致 NAT 转发被拦。临时关掉防火墙测一下能通就说明是规则问题为虚拟网卡单独放行就行不用长期关防火墙。6.3 共享文件夹和拖拽失效装完系统很多人第一件事是往虚拟机里拖文件结果发现拖不进去。原因很简单没装 VMware Tools。VMware Tools 是装在客户机里的驱动和工具集负责显卡加速、鼠标无缝切换、共享文件夹、拖拽复制、时间同步。没装它虚拟机就是个能跑但很别扭的状态——分辨率调不高、鼠标要按快捷键才能切出来、拖拽完全没反应。安装方式虚拟机开机状态下菜单里选虚拟机 → 安装 VMware Tools它会把一个 ISO 挂到虚拟光驱里进客户机手动运行安装程序。Windows 客户机就是一路下一步Linux 客户机现在更推荐用发行版自带的open-vm-tools包兼容性更好用包管理器装一下就行。装完还拖不进去的话检查两个地方虚拟机设置里选项 → 客户机隔离中的拖拽和复制粘贴是否勾选以及 Windows 客户机上是否装了较新版本的 .NET 运行时某些版本的 Tools 安装程序依赖它。共享文件夹是另一条路比拖拽稳定。在虚拟机设置里指定宿主的一个目录客户机里就能挂载访问。Linux 下挂载命令大致是sudo mount -t vmhgfs .host:/共享名 /mnt/hgfs/共享名要注意的是共享文件夹的性能一般大量小文件读写会很慢别拿它当工作目录用传完文件还是复制到本地磁盘上再操作。7. 快照与性能调优把它用成长期工具7.1 快照怎么用才不出事快照是 Workstation 最有价值的功能之一也是被误解最深的功能。它的本质是记录某一时刻的磁盘和内存状态之后可以回滚到那一刻。做危险操作前打一个出问题几秒钟就能恢复比重装系统快一百倍。但快照不是备份这一点必须说清楚。快照文件和原始磁盘是链式依赖关系你把虚拟机目录复制一份给别人如果复制的时候漏了某个快照文件虚拟机可能直接打不开。真正的备份是关机后把整个虚拟机目录完整复制走。使用上的几条经验打快照前先关机或者挂起。运行中打快照会把内存状态一起存下来快照文件大、恢复慢还容易出现内存状态不一致。关机状态下的快照最干净。快照不要打太多层。每打一个快照就多一层磁盘增量文件读写都要穿透这个链条层数多了性能明显下降。我的习惯是同时保留不超过 3 个阶段性任务做完就删除中间快照注意是删除快照而不是删除虚拟机删除快照会把增量合并回基础磁盘这个过程可能比较久别中途断电。别长期依赖快照当存档。有人一台虚拟机挂着一年的快照链磁盘文件几十个最后自己都分不清哪个是哪个。定期整理把确定不再需要回滚点的快照合并掉。7.2 几项立竿见影的性能设置把虚拟磁盘放在固态盘上。这一条的影响比后面所有设置加起来都大。机械盘上跑虚拟机开机、编译、装软件全是等待换到固态盘体感差异是数量级的。显存和 3D 加速。虚拟机设置里显示器那一项勾上加速 3D 图形显存调到 1 GB 到 2 GB。桌面版系统用起来会流畅很多尤其是拖动窗口、看网页的时候。要注意的是如果你在虚拟机里跑的是纯命令行服务器这一项没有意义反而可能引入兼容问题关掉更稳。虚拟化引擎那两个选项按需勾选。前面提过嵌套虚拟化用不上就别勾勾了会占用一些资源。真需要在虚拟机里跑容器或者再开虚拟机再打开。关闭侧通道缓解要谨慎。虚拟机设置里有个侧通道缓解相关的选项关掉能提升一些性能但这是安全性和性能的权衡属于缓解处理器层面的推测执行风险的措施。在完全隔离的个人实验环境里关掉问题不大但凡虚拟机里要跑来源不明的程序或者处理敏感数据就别关。这类涉及安全的默认项我的一贯态度是不确定就不动。时间同步。装了 VMware Tools 之后虚拟机时间会和宿主机同步。这个功能平时无感但做证书测试、日志分析的时候非常关键——虚拟机时间漂移会导致证书校验失败、日志顺序错乱排查起来极其折磨。如果发现虚拟机时间不对先检查 Tools 是否正常运行。虚拟机目录的整理。一台虚拟机会产生一堆文件.vmx是配置文件.vmdk是磁盘.vmsn/.vmem是快照相关.log是日志。日常维护主要看两个.vmx可以用文本编辑器打开里面是键值对形式的配置改内存、改固件类型都可以在这里直接改改之前先关机改完记得备份.log在虚拟机启动异常时是唯一能提供线索的东西报错信息往往就在最后几十行里。最后分享一个我自己养成的小习惯每台虚拟机建好、系统装完、常用环境配好之后立刻关机打一个名为干净基线的快照。之后所有实验都从这个基线出发玩坏了就回滚永远有一台干净可用的机器垫底。这个习惯让我省下的重装时间粗略估计能按周算。虚拟机这东西用得顺不顺手差别往往不在装的那半小时而在装完之后你有没有一套自己的规矩。