虚拟机创建全指南:从选型、装系统到网络配置与报错排查 装虚拟机这件事乍一看就是个向导里点下一步的活但真正把虚拟机创建出来、装好系统、配好网络、用顺手的人其实并不多。这些年我帮同事、朋友处理过的虚拟机问题从安装 Linux 蓝屏到VMware 无法连接到虚拟机从Ubuntu 全屏不了到虚拟机里配好了网站宿主机却访问不到五花八门。说到底大多数问题都出在创建阶段的一些细节没搞对。这篇就结合我自己的实操经验把创建虚拟机这条链路从头到尾捋一遍——从选型、创建、装系统到网络配置和常见报错排查尽量把每一步背后的道理讲明白而不是只给你几个下一步按钮。1. 虚拟机到底是什么先别急着点向导搞清原理能少踩一半坑1.1 一台物理机里的第二台电脑虚拟机本质上就是一个运行在操作系统之上的软件模拟层它把一台物理机的 CPU、内存、硬盘、网卡等硬件资源虚拟化成若干份分别提供给不同的客户机使用。你可以把它理解成同一套房子里隔出来的几间独立公寓每间公寓有自己独立的门窗水电操作系统、IP、文件系统但共用同一个地基物理硬件。这个比喻里藏着两个关键点。第一虚拟机的硬件并不是真实的硬件而是虚拟化软件Hypervisor模拟出来的。所以你在虚拟机里看到的网卡、显卡、声卡其实都是仿真设备驱动由虚拟化软件统一提供。第二虚拟机之间是隔离的但又不是完全隔离——它们共享同一套物理资源所以资源分配是否合理直接影响所有虚拟机的运行体验。想明白这两点后面很多问题就有了解释。比如为什么我在 VM 里装 Linux 会蓝屏大概率不是 Linux 镜像坏了而是虚拟硬件配置和客户机系统不兼容再比如为什么虚拟机很卡多半是 CPU 核数或内存分得太少。1.2 从需求看场景不同人创建虚拟机目的完全不同我见过很多种创建虚拟机的诉求大体分三类系统体验与测试想在新电脑上体验 Windows 7、Ubuntu、麒麟系统或者测试某个软件在不同系统下的表现。这类需求对性能要求不高重点在兼容性。开发环境隔离在本地跑一套 Linux 开发环境里面部署 Nginx、MySQL、Redis 等宿主机负责写代码虚拟机负责跑服务。这类需求的重点在网络互通和数据同步热搜里的本地虚拟机多端口 Nginx 开发环境多站点自定义域名配置就是典型场景。服务器运维与批量管理用 ESXi 这类裸机虚拟化平台管理多台虚拟机涉及自动开机、串口直通、加密等操作。这类需求已经偏向生产环境对稳定性和可维护性要求最高。这三类需求对应的工具选型和配置思路完全不同。所以创建虚拟机之前先问自己一个问题我建这台虚拟机到底是拿来干嘛的这个问题想清楚了后面每一步都比别人少走弯路。2. 选型这件事决定成败VMware、VirtualBox 与 ESXi 怎么选2.1 桌面级虚拟化的主流选择对比目前用得最多的桌面级虚拟化软件就三个VMware Workstation包括 Pro 和 Player 两种口味、Oracle VirtualBox以及微软的 Hyper-V。另外还有一批用户在用macOS 虚拟机方案比如 Mac mini M4 上跑虚拟机走的是 Apple 的虚拟化框架或者 VMware Fusion。从热搜词的分布看VMware Workstation 的讨论量明显最大这很正常。它稳定、功能全、对新硬件和主流系统的兼容性最好。2024 年起 VMware Workstation Pro 对个人用户免费这直接把要不要付费这个门槛取消了。VirtualBox 仍然免费开源胜在跨平台Windows/macOS/Linux 都有和轻量但性能、3D 支持、USB 设备兼容性上整体弱于 VMware。Hyper-V 是 Windows 系统自带的能力不需要额外装软件但使用体验上有不少限制尤其是在需要大量自定义硬件配置的场景里。我的建议很直接个人桌面环境优先 VMware Workstation Pro。如果你主要跟 macOS 打交道就用 VMware Fusion。VirtualBox 留给低配设备或者临时应急。至于 ESXi那不是桌面玩家该碰的它是装在一台物理服务器上的系统用来批量管理虚拟机后面第 6 节会单独说。2.2 安装前必须确认的三件事很多人装 VMware 时报错或者装好了创建虚拟机闪退问题往往出在安装前的准备工作没做足。我每次装之前都会做三件事第一确认 CPU 虚拟化已开启。打开任务管理器切到性能标签看 CPU 那一栏的虚拟化是否为已启用。如果是已禁用需要进 BIOS/UEFI 找 Intel Virtualization TechnologyIntel VT-x或 AMD SVM Mode把它设为 Enabled。这一步不做VMware 虽然能装但创建虚拟机时大概率跑不起来或者性能极差。第二确认内存和磁盘空间够用。虚拟机是吃资源的尤其是内存。我给一个参考底线装 Windows 10/11 虚拟机建议物理机内存不小于 16GB分配 4GB 给虚拟机装 Linux 桌面版分配 2GB 起步只是跑命令行服务1GB 也够。磁盘空间方面光一个 Windows 虚拟机就能吃掉 40GB 以上建议至少预留 60-80GB。第三确认 Windows 的虚拟机平台相关功能没有被误开。这里有个容易被忽略的坑Windows 自带的 Hyper-V、虚拟机监控程序Hypervisor如果处于启用状态会跟 VMware 争抢虚拟化资源导致VMware Workstation 无法连接到虚拟机或者性能暴跌。想用 VMware就把 Windows 可选功能里的Hyper-V虚拟机平台Windows 虚拟机监控程序平台这三个关掉或者在 BIOS 里把 Hyper-V 依赖的虚拟化功能关掉二选一别同时开。2.3 下载渠道与版本选择下载 VMware Workstation Pro 一定去官网Broadcom 收购后的支持站点别从第三方下载站拿原因不用多说——安装包被植入广告弹窗和捆绑软件是常态。我见过很多次VM 创建虚拟机闪退的案例排查到最后发现是精简版安装包的问题换回官方原版立刻正常。版本选择上我个人的经验是用当前最新的稳定版因为新版对 Ubuntu 22.04、24.04、Windows 11 等新系统的支持最到位。但要注意新版要求的 Windows 版本可能更严格比如 VMware Workstation 17 要求 Windows 10 64 位以上。老电脑跑不动新版的就找 Workstation 15/16 的官方历史版本别硬上 17。3. 创建虚拟机的完整实操链路从向导到系统安装的关键节点3.1 新建虚拟机向导每一步都在问什么以 VMware Workstation Pro 为例点击创建新的虚拟机进入向导后它主要问四类问题配置类型典型 vs 自定义。新手选典型即可但如果你想给虚拟机加串口、改虚拟硬盘类型、调整声卡选自定义更灵活。我习惯直接选自定义理由很简单——一次配置到位免得后面再改。客户机操作系统这一步要给即将安装的系统做预配置。比如选 Ubuntu 64 位VMware 会默认匹配对应的虚拟硬件版本和推荐的资源配额。这里要注意你选什么系统最好就装什么系统不能选 Linux 却装 Windows否则硬件兼容性会很别扭。虚拟机名称与位置名称无所谓但位置建议放在空间充裕的非系统盘。默认的C:\Users\xxx\Documents\Virtual Machines目录实际用起来很容易把 C 盘塞满。磁盘容量向导默认给的建议值偏保守。Windows 系统建议直接给 80GBUbuntu 桌面版 40GB 起步服务器版 20GB 就够。后面我会讲为什么这个数字宁可多给也别少给。3.2 内存、CPU 与虚拟硬盘的最优分配资源分配是我见过最多人拍脑袋决定的地方。给你一套我实测下来比较稳的分配思路资源项推荐分配方式说明内存物理机内存的一半以内16GB 物理机分 4-8GB32GB 物理机分 8-16GB。别把内存全给虚拟机否则宿主机卡到鼠标都飘处理器核数给 2-4 个即可不是越多越快客户机系统大多数场景用不满核数给多了反而影响宿主机虚拟硬盘80GB-120GB动态分配动态分配是按需占用物理磁盘给 120GB 上限并不会立即吃满 120GB但系统以后扩容却极其麻烦虚拟硬盘类型NVMe新版默认比 SATA 在 Linux 下性能更好Ubuntu 22.04 之后的默认选择网络NAT默认多数场景够用后面第 4 节详聊关于虚拟硬盘我要多说一句。动态分配Dynamic的文件初始只有几十 MB但会随着使用一直长大。这个过程里如果你反复写入大文件又删除磁盘文件不会自动收缩会一直保持膨胀后的体积。所以定期在 VMware 里执行清理磁盘是有必要的。另外如果你已经知道这台虚拟机会长期用于开发建议直接用固定大小或预先分配虽然创建时间更长但运行时的磁盘 I/O 性能更稳定。3.3 安装 Linux / Windows 的关键节点从启动顺序到蓝屏预防创建好虚拟机之后把系统 ISO 镜像挂载到虚拟光驱开机。这里有几个容易出错的节点启动顺序VMware 默认会先尝试从 CD/DVD 启动但如果你之前配置过开机自动进入固件有可能直接从硬盘启动跳过安装盘。遇到我明明挂载了 ISO 却没进安装界面的情况开机时不停按 F2 进固件设置BIOS把 CD-ROM 挪到启动顺序第一位。Ubuntu 安装的特殊点如果你装的是 Ubuntu 22.04启动菜单里选第一项 Try or Install Ubuntu 之后如果一直黑屏多半是显卡和显卡驱动的问题。在启动项里按e编辑内核参数在quiet splash后面加上nomodeset再按 F10 启动一般就能进安装界面。这属于创建虚拟机里最实用的一个避坑技巧很多人卡在这一步。Windows 7 的特殊点Windows 7 是个特殊案例。它在较新的 VMware 虚拟硬件版本下默认会缺少 USB 3.0 驱动和部分显示驱动导致安装时鼠标键盘失灵或装完分辨率极低。解决办法是把虚拟机的 USB 控制器改成 2.0或者在虚拟机设置→高级里把虚拟硬件版本降低到与 Win7 更兼容的版本。Windows 10/11 的特殊点Win11 安装时默认要求 TPM 2.0 和安全启动。在 VMware 里这些在虚拟机设置→选项→高级里可以通过勾选启用安全启动以及添加可信平台模块来满足。热搜里有win11 虚拟机安装出现 boot的情况多半就是安全启动或 TPM 没配好。至于安装 Linux 蓝屏这个话题把镜像换成官方最新版把虚拟硬件版本调成兼容模式把内存加到 4GB 以上能解决掉七成以上的问题。蓝屏不是 Linux 的专利Windows 在虚拟机里同样会蓝屏——原因通常指向我给内存太少、磁盘空间不够或者 CPU 虚拟化被关闭。蓝屏报错代码对应到具体硬件资源上排查往往能精确定位。3.4 装完系统后的第一步装增强工具这一步特别容易被忽略。无论你装的是哪个虚拟机软件装完客户机系统的第一件事就是安装增强工具VMware Tools / open-vm-tools / VBox Guest Additions。为什么因为没有增强工具你会遇到三个非常典型的症状鼠标在虚拟机窗口里鼠标变成一个点没反应无法捕获和释放、Ubuntu 无法全屏显示分辨率锁死、文件拖拽和剪贴板共享全部不可用。这三个问题本质上都是虚拟化软件和客户机系统之间缺了驱动和通信服务。Ubuntu 下用一句话即可安装增强工具sudo apt update sudo apt install -y open-vm-tools open-vm-tools-desktopWindows 系统则在 VMware 菜单栏点虚拟机→安装 VMware Tools然后按提示重启即可。装完之后全屏、鼠标、文件共享这些问题会瞬间消失。很多热搜里的虚拟机安装的 Ubuntu 无法全屏显示真相就是没装 open-vm-tools——装完分辨率马上自适应窗口大小。4. 网络是虚拟机绕不开的坑IP 修改、端口路由与多站点配置4.1 三种网络模式桥接、NAT、仅主机虚拟机创建好之后网络配置是紧接着就要面对的问题。VMware 默认给的是 NAT 模式这个模式也确实是新手上路的最佳选择。我把三种模式一次性讲透NAT网络地址转换虚拟机在 VMware 自己造的私有网段里默认是 192.168.x.x通过宿主机转发出外网。对外部网络来说虚拟机没有自己的独立身份所有流量都伪装成宿主机的流量。好处是配置简单宿主机断网虚拟机也断网坏处是外部设备无法直接访问虚拟机。桥接Bridged虚拟机直接接到宿主机所在的物理局域网它在局域网里有自己的 IP相当于一台独立的物理机。好处是局域网里的其他设备可以直接访问虚拟机坏处是你所在网络的 IP 地址分配将直接影响它比如换了 WiFi 就会换 IP。仅主机Host-only虚拟机只能和宿主机通信不能上外网适合完全隔离的测试环境。选哪种取决于你的目的。开发调试用 NAT 最省心要拿局域网里其他设备比如手机直接测试虚拟机里的网页用桥接完全不联网的病毒分析之类场景用仅主机。4.2 修改虚拟机 IP 地址的正确姿势热搜里有修改虚拟机 IP 地址这个需求基本是两类一是 NAT 网段默认的 192.168.139.x 不方便记忆想改成固定 IP二是桥接模式下 DHCP 分配的 IP 老变想固化一个。这里只说 Ubuntu 系统的做法Windows 的做法类似在网络和共享中心里手动改 IPv4。Ubuntu 22.04 之后用的是 Netplan修改网络配置的流程是# 查看当前网卡名 ip a # 编辑 Netplan 配置Ubuntu 22.04 通常是 /etc/netplan/01-network-config.yaml sudo nano /etc/netplan/01-network-config.yaml配置文件里这样写以 NAT 模式为例network: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.168.139.130/24 routes: - to: default via: 192.168.139.2 nameservers: addresses: [192.168.139.2, 223.5.5.5]这里的关键是网关地址NAT 模式下 VMware 的网关通常是虚拟网卡 VMnet8 的 IP默认192.168.139.2改完配置后执行sudo netplan apply生效。如果你把 IP 改到了 DHCP 分配范围之外要确保它和网关在同一网段否则虚拟机就失联了。4.3 宿主机访问虚拟机里的网站NAT 模式的端口转发主机访问虚拟机网站是这个场景里最典型的需求。NAT 模式下虚拟机有自己独立的 192.168.x.x IP宿主机确实能直接访问它因为宿主机和 VMnet8 在同一网段。但如果换一台设备比如手机要访问虚拟机里的网站怎么办答案是端口转发把宿主机的某个端口映射到虚拟机的某个端口。VMware 的端口转发在编辑→虚拟网络编辑器→NAT 设置里配置。比如你想用宿主机 8080 端口访问虚拟机里的 Nginx虚拟机监听 80就做一条规则主机端口 8080虚拟机 IP 192.168.139.130虚拟机端口 80。这样局域网里任何设备访问宿主机IP:8080就能拿到虚拟机里 80 端口的内容了。这里有个隐藏坑虚拟机里的防火墙也要放行对应端口。Ubuntu 如果开了 UFW默认会拒绝所有非本机的连接需要在虚拟机里运行sudo ufw allow 80/tcp两边端口都通宿主机的浏览器才能打开虚拟机里的页面。4.4 开发环境多端口 Nginx 与自定义域名配置如果你是一个本地开发者想把虚拟机当作一台专用开发服务器用它同时跑多个站点的服务那么配置思路就不能停留在端口转发一条就完事的层面。我的推荐做法是在虚拟机的 Nginx 里配置多站点用域名区分而不是用端口区分然后在宿主机 hosts 文件里把域名指向虚拟机的 IP。虚拟机的 Nginx 配置大致如下# /etc/nginx/sites-available/project-a server { listen 80; server_name project-a.test www.project-a.test; root /var/www/project-a; index index.html index.php; } # /etc/nginx/sites-available/project-b server { listen 80; server_name project-b.test www.project-b.test; root /var/www/project-b; index index.html index.php; }对应到宿主机编辑C:\Windows\System32\drivers\etc\hosts文件192.168.139.130 project-a.test 192.168.139.130 project-b.test这样你在宿主机浏览器里直接访问http://project-a.test就能打开虚拟机里的项目 A访问http://project-b.test打开项目 B开发体验几乎和线上一致不需要为每个站点做端口转发。这个方案是我向做 Web 开发的同事推荐频率最高的一套配置它把虚拟机只是另一个环境的搬运工变成了虚拟机就是你家服务器的效果。至于多端口呢实际开发中经常需要同时跑前端脚手架比如 Vite 的 5173 端口和后端接口比如 8000 端口。我的做法是在宿主机和虚拟机之间用端口转发对应关系建一张映射表比如宿主机端口虚拟机端口用途51735173Vite 前端 dev server80008000后端 API 服务33063306MySQL63796379Redis把这些规则全部加进 NAT 设置宿主机就能以localhost:5173、localhost:8000的方式直接访问虚拟机里的服务了。这也是本地虚拟机多端口 Nginx 开发环境的最务实落地方式。5. 高频报错实战排查这些坑我都替你踩过5.1 无法启用虚拟机平台和虚拟化功能对该用户不可用这两个报错在搜索引擎里出现频率极高通常发生在 Windows 系统里原因也高度雷同当前 Windows 会话不满足虚拟化的运行条件。我遇到的最常见情况是三种BIOS 里的 CPU 虚拟化没开或者被 Windows 的安全功能核心隔离/内存完整性占了坑。Windows 的 Hyper-V、虚拟机监控程序平台处于开启状态跟 VMware 冲突。系统组策略或用户组权限限制报功能对该用户不可用通常是电脑不在 Administrators 组或公司域策略限制。排查顺序我建议是先开任务管理器看 CPU 虚拟化是否已启用然后运行systeminfo命令查看最后几行里 Hyper-V 相关的四个项目是否为已检测到再进入启用或关闭 Windows 功能去关掉冲突项。做完这三步90% 的无法启用虚拟机平台都能解掉。5.2 VMware Workstation 无法连接到虚拟机请确保您有权运行该程序这个报错完整版本是VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用...。我遇到时第一反应是权限问题后来发现权限问题确实占大多数但处理细节上有讲究。最稳的办法是用管理员身份重新启动 VMware。右键桌面的 VMware 图标选以管理员身份运行然后打开虚拟机。90% 的情况下这个问题就消失了。如果还没解决去检查 VMware 的安装目录通常C:\Program Files (x86)\VMware\VMware Workstation给vmware.exe和vmware-vmx.exe的用户权限里加上当前用户的完全控制。另外还有一类隐蔽原因Windows 的 Credential Guard凭据保护会干扰 VMware 的运行需要在组策略里把它禁用这个操作比较敏感非必要不碰我只在实在没办法时才用。5.3 安装 Linux 蓝屏Ubuntu 在虚拟机里也会翻车Linux 在虚拟机里蓝屏严格来说不叫蓝屏是 Kernel Panic内核崩溃但用户看到黑底白字的报错或者紫色花屏时第一反应都是蓝屏了。我遇到的 Ubuntu 安装/启动失败主要原因有四类ISO 镜像文件损坏或下载不完整很多人从网盘、镜像站拿的 ISO 没校验 MD5/SHA256装到一半就报错。用官方源装前先校验哈希。虚拟硬件兼容性问题虚拟机默认硬件版本太新而 Ubuntu 版本太老比如 Ubuntu 18.04 跑在 Workstation 17 的硬件版本上内核不认识虚拟显卡。把虚拟机设置里的硬件兼容性改成 Workstation 15.x 或 16.x立刻见效。CPU 指令集问题老 CPU 缺少某个指令集导致内核崩溃。这种情况下可以先尝试加内核参数noapic nolapic或acpioff。内存不足给虚拟机的内存少于 2GB 时Ubuntu 桌面安装器很容易卡死或内存页错误。加到 4GB问题消失。5.4 VNC 鼠标变成一个点、Ubuntu 无法全屏这两个问题放一起说因为根源几乎相同——客户机里没有安装 VMware Tools/open-vm-tools。鼠标变成一个点无法在虚拟机和宿主机之间切来切去是因为 VM 没有鼠标拖放同步的驱动无法全屏、分辨率只能到 800x600是因为没有显示驱动。解决方式其实已经在上文提过安装 open-vm-tools-desktop。但有一个细节我要强调如果你用的是 VNC Viewer 连接虚拟机里的桌面鼠标失灵可能另有原因——VNC 客户端本身对高分辨率和高 DPI 的支持不好建议在 VNC 服务端的配置里把色深降到 16-bit关掉图形加速并锁定一个固定分辨率。VNC 连接时把虚拟机的显示分辨率固定为 1024x768鼠标定位瞬间准很多。这个组合拳我试过多次是处理 VNC 鼠标失真最有效的办法。5.5 Windows 7/11 虚拟机安装出错的特殊处理给 Windows 7 建虚拟机有两个现代硬件上的坎一是 VMware 17 默认的虚拟硬件版本20 以上Win7 无法识别 USB 3.0 控制器二是 Win7 需要 SP1 之后的镜像才能正常安装到 UEFI 磁盘。我的做法是把虚拟硬件版本降到 Workstation 12.x把虚拟机固件改成 BIOS 而非 UEFI再把 USB 控制器改成 USB 2.0。这样装 Win7 基本一路顺畅。Windows 11 则相反它追求高版本特性要求 UEFI 和安全启动、TPM 2.0。创建虚拟机时如果选Windows 11 x64客户机类型VMware 会默认在虚拟机设置里启用 UEFI 和 TPM。如果你把客户机类型选成了 Windows 10装 Win11 时就会卡在安装器开头的硬件检查逻辑里报 boot 相关的错误。解决办法就是客户机类型必须选 Win11TPM 和安全启动选项保持开启状态。6. 把虚拟机用得更专业串口配置、开机策略、加密与清理6.1 虚拟机配置串口调试嵌入式设备的必备操作热搜里出现VM 虚拟机配置串口这个需求在嵌入式开发和智能硬件调试比如机械臂、路由器固件调试里很常见。你在虚拟机里跑串口调试工具比如 PuTTY、minicom想要它直连物理机上的串口设备做法如下先把 USB 转串口的设备插在宿主机上确认宿主机能识别到具体 COM 口。VMware 虚拟机设置里点击添加—串行端口。选择使用物理串行端口然后在连接里手工指定宿主机对应的 COM 口。在客户机系统里的串口终端软件中设置相同的波特率9600/115200 等、数据位、停止位和校验位。这里有个经验之谈串口设备不要直接映射物理串口优先用输出到命名管道的方式配合宿主机上的 com0com 这类虚拟串口工具转发因为物理串口被 VMware 独占后宿主机自己的工具就读不了数据了。命名管道方式允许一条数据同时被虚拟机和宿主机上的分析工具读取排查问题方便太多。6.2 ESXi 设置虚拟机自动开机服务器场景的刚需如果你用的不是桌面 VM 而是 ESXiVMware 的裸机虚拟化系统设置虚拟机自动开机是运维里的常见需求——物理服务器重启后所有虚拟机应该自动跟着起来而不是一台一台手工点。做法是在 vSphere Client 里选中 ESXi 主机打开配置→软件→虚拟机启动和关机。点击属性把允许虚拟机自动启动和停止勾上。在列表里选中要自动启动的虚拟机点击上移/下移调整启动顺序并设置启动延迟比如每台间隔 30 秒避免同时启动导致物理机负载过大。这个设置的关键点是先要确保 ESXi 主机自身的网络存储共享存储、NAS已经就绪再让依赖这些存储的虚拟机开机。顺序不对虚拟机开机后挂载盘找不到数据应用直接报错。6.3 虚拟机加密与目录清理安全和空间的两件大事虚拟机加密这个需求在开发环境和办公电脑上越来越常见。VMware 的加密功能在虚拟机设置→选项→安全里可以给虚拟机设置访问密码。加密之后别的电脑即使拿到了虚拟硬盘文件没有密码也打不开。好处是防数据泄露代价是加密后虚拟机的 I/O 性能会打折扣所以只在必要的场景用别一上来就全盘加密。如何删除虚拟机目录则是每个人都该掌握的技能。正确删除虚拟机的方式不是直接在资源管理器里把文件夹删掉——那会留下一堆注册表项和虚拟网络配置。正确路径是先在 VMware 里把虚拟机关机然后在我的计算机列表中右键该虚拟机选从磁盘中删除。这样 VMware 会清理所有关联配置。删完再把磁盘文件.vmdk/.vmem在文件管理器里彻底删掉。实际经验告诉我从磁盘中删除和从清单中移除是两回事后者只是把这个虚拟机从列表里拿掉磁盘文件还在原地占空间。如果你要腾空间务必选前者。清理空间还有一个技巧虚拟机的快照Snapshot是磁盘空间杀手。很多人建了快照忘了删虚拟机的磁盘文件会越变越大有时候一个快照文件比系统盘还大。定期评估哪些快照不再需要删掉快照并执行 VMware 的清理磁盘能释放大量空间。创建虚拟机这事说白了就是一个理解硬件、操作系统和虚拟化软件三方关系的过程。我从零开始教人建虚拟机不下二十次最深的体会是绝大多数的失败和报错都源于创建阶段对资源分配、虚拟硬件兼容性和网络模式的理解不够而不是操作失误。如果你正卡在某一个报错上先别急着搜命令退回去想想这台虚拟机的定位、给它的资源、以及它和宿主机之间的通信方式答案往往自己就会冒出来。最后分享一个小技巧建好虚拟机后第一时间做一个没有任何重要数据的干净快照把它当作出厂状态。以后系统装坏了、环境配置乱了直接恢复到快照比什么都管用。就靠这个习惯我的开发虚拟机几乎从未因为装环境装崩了而重新创建过。