你有没有遇到过这种场景:想体验Linux又舍不得动主力Windows,想跑一个临时测试环境又不想重装系统,或者拿到一个预置好的开发镜像却怕弄坏宿主机。我这些年解决这类问题,最常用的就是虚拟机。它的本质是在你的物理电脑里用软件模拟出一整套计算机硬件,让Windows、Ubuntu、CentOS等系统各自住进独立房间,互不干扰,想折腾就折腾,出问题删掉重建就行。
VMware Workstation Pro和VirtualBox是目前个人用户最常用的两个方案,前者功能全、对硬件兼容性好,后者免费开源、跨平台。这篇文章我会以VMware为主,串起一整套从下载安装、创建虚拟机、装系统、网络配置到故障排查的完整流程,也会带上VirtualBox的常见坑。不管是第一次接触虚拟机的新手,还是被蓝屏黑屏折磨过的老手,都能在这里找到直接能用的操作方案。
1. 方案选型:为什么用虚拟机,主流方案怎么避坑
1.1 虚拟机的核心价值,就是“拆电脑”
你可以把物理电脑理解成一套实体房产,一台CPU、一块硬盘、一组内存。虚拟机做的事情,是把这个实体房产里面的空间重新做隔断:房东自己住主卧,剩下的房间每间都配好独立的门锁、水电、卫生间,租客进来以后看到的是一套完整的房子,根本感觉不到隔壁还住着别人。
这个“隔断”技术叫Hypervisor,也就是虚拟机监控器。VMware Workstation这类软件跑在系统之上,属于Type 2虚拟化,它会为每台虚拟机分配虚拟CPU、虚拟内存、虚拟硬盘和虚拟网卡。对客户系统来说,这些虚拟设备和真实硬件长得一模一样,所以Ubuntu、Windows、Linux发行版都能正常安装运行。
说到这里,很多人会问:我直接物理机装双系统不行吗?能,但代价你未必接受。双系统切换要重启,两个系统的文件基本不能同时访问,一个系统崩了另一个也会受引导影响。虚拟机则不同,它是“同时运行、相互隔离”的,你可以在Windows里开着Ubuntu窗口,同时挂着CentOS做测试,所有数据都存在宿主机的文件夹里,复制、备份、迁移都极其方便。
1.2 主流方案横向对比,不追求绝对最优
我列一张表,把常见的几个方案放在一起对比,方便你按自己的需求挑。
| 方案 | 类型 | 许可方式 | 优势 | 劣势 |
|---|---|---|---|---|
| VMware Workstation Pro | Type 2 | 个人免费 | 功能全面、稳定性强、硬件兼容性好 | 闭源、资源和内存占用略高 |
| VirtualBox | Type 2 | 开源免费 | 跨平台、轻量、支持ARM设备 | 兼容性有时不如VMware,3D性能弱 |
| Hyper-V | Type 2(部分Type 1特性) | Windows自带 | 无额外费用、企业环境通用 | 需要在系统功能里开启,与VMware易冲突 |
| ESXi | Type 1 | 企业级 | 数据中心标准方案,性能高 | 不适合个人桌面场景,上手门槛高 |
如果你只是个人学习、开发、测试,我建议优先选VMware Workstation Pro。为什么?因为它的向导做得非常成熟,虚拟硬件兼容性出色,USB直通、拖拽文件、剪贴板共享这些体验细节都做得很好,而且从某个版本开始官方明确允许个人用户免费使用。VirtualBox也不是不行,但如果你同时在VMware和VirtualBox之间切换,会明显感觉到VMware的鼠标流畅度和磁盘性能更好。
这里有个关键提醒:不要在物理系统里同时开启Hyper-V。之前很多用户遇到“启动虚拟机后蓝屏”“CPU被禁用”“VirtualBox无法打开新任务”这类问题,多数不是虚拟机软件坏了,而是Windows自带的Hyper-V、内核隔离、内存完整性等功能霸占了虚拟化指令。后面的故障排查章我会专门展开讲。
1.3 虚拟机的应用场景,你已经能做什么
- 学习Linux:在虚拟机里折腾Ubuntu、CentOS,不怕把系统搞崩。
- 运行旧软件:Windows 11跑不了的老程序,装个Windows 10虚拟机解决。
- 隔离运行未知程序:把可疑软件丢进隔离的虚拟环境,跑完删掉。
- 还原本地环境:拿到预装Zabbix、EDA开发环境的镜像,直接导入就能用。
- 服务器测试:在虚拟机里模拟多台服务器主机,做网络实验。
一句话总结:虚拟机的价值不是“能跑几个系统”,而是“把折腾的成本降到最低”。
2. 环境准备:版本下载、安装细节与硬件体检
2.1 版本怎么选,从哪里下载
VMware Workstation Pro目前常见的版本是16和17。16.2之后官方调整了许可策略,个人用户不再需要找许可证密钥,安装完成后在“帮助”里选择“个人使用”即可免费使用。17版本更新了对Windows 11更完整的支持,创建虚拟机向导里直接内置了TPM模块配置,推荐优先选择17。
下载渠道尽量去官方站点,看到“VMware Workstation Pro”字样再动手。很多搜索引擎出来的第三方下载站都捆绑了全家桶,我踩过一次,装完桌面多出三个不知名软件。与其后面慢慢清理,不如一开始就多花两分钟确认域名。
下载完成后得到一个安装包,双击运行。如果系统提示“用户账户控制”,直接选“是”。这里有个容易忽略的点:安装向导的第二步会问“是否自动更新”和“是否加入用户体验改进计划”,我一般把自动更新取消掉,原因不是软件不更新,而是VMware的新版本偶尔会和旧版虚拟机配置文件不兼容,等稳定了再手动升级更稳妥。
2.2 安装路径和组件,别让C盘背锅
安装过程中会要求选择安装位置。很多人直接用默认的C槽,结果虚拟机文件也全放在默认虚拟机目录下,几百G的虚拟磁盘很快把系统盘塞满。我的习惯是:软件本体装在C盘没问题,但“虚拟机文件默认位置”必须在向导里提前改到另一个大容量分区。
VMware Workstation的菜单路径是“编辑 - 首选项 - 工作区 - 虚拟机默认位置”。这一点后面创建虚拟机时也可以单独指定,但提前设置好能省掉很多不必要的麻烦。虚拟机文件包含vmdk(虚拟磁盘)和vmx(配置文件),动辄几十个G,放在固态盘上性能会好很多,建议优先找一个剩余空间充足、通电稳定的SSD或机械盘分区。
安装完成后,首次启动会要求接受许可协议。16.2以上版本会提示个人用途许可,选“用于个人使用”就行,不需要输入激活码。如果打开软件就提示“您需要许可证密钥”,说明下载的版本不对,退回官网重新找Workstation Pro的安装包。
2.3 硬件体检:确认CPU虚拟化已开启
创建虚拟机之前有一件事必须做:确认CPU的虚拟化技术已经开启。Intel平台叫VT-x,AMD平台叫AMD-V。大多数电脑默认是开启的,但部分品牌机出厂默认关闭,这就导致你一启动虚拟机就报“提示虚拟机CPU已禁用”。
怎么看是否开启?在Windows里打开“任务管理器 - 性能 - CPU”,右下角有一个“虚拟化”条目。显示“已启用”就没问题;显示“已禁用”就需要进BIOS开启。不同品牌进BIOS的方式不同,常见的是开机按Del或F2,找到“Intel Virtualization Technology”或“SVM Mode”,设为Enabled,保存退出。
还有一个隐藏干扰项:Windows的“内核隔离”和“基于虚拟化的安全”会占用VT-x指令,可能让VMware无法正常运行。如果你确认BIOS里已经开启虚拟化,但虚拟机还是报CPU问题,去“Windows 安全中心 - 设备安全性 - 内核隔离”看一下,把“内存完整性”关闭,重启后通常就能解决。
3. 核心实操:创建虚拟机的完整流程
3.1 新建向导里的关键参数到底怎么填
安装好VMware后,从主页点击“创建新的虚拟机”,会进入新建向导。第一页会问“典型(推荐)”还是“自定义”,我建议选自定义,原因很简单:典型模式很多配置点会自动隐藏,后面想改还得返工。
接着会让你选“安装程序光盘映像文件”还是“稍后安装操作系统”。如果你手里已经下载好了ISO镜像,可以直接指向镜像文件;如果还没下载,选“稍后安装操作系统”,先创建空虚拟机,后面再挂载镜像。这一步有个常见误区:选了镜像文件后,向导会根据镜像自动识别系统类型,但有时候识别不准,所以系统类型一定要手动确认一遍。
接下来的关键参数按这个逻辑填:
| 配置项 | 建议值 | 说明 |
|---|---|---|
| 客户机操作系统 | 根据实际选择 | 选错会导致Tools安装异常 |
| 虚拟机名称 | 见名知意 | 比如“Ubuntu-22.04-测试” |
| 安装位置 | 非系统盘 | 单独放一个大分区 |
| 固件类型 | UEFI优先 | Windows 11和现代Linux都推荐UEFI |
| 处理器数量 | 2-4核 | 按物理CPU核心数的一半以内分配 |
| 内存大小 | 2048-4096MB | 内存不够会卡,分配过多会拖累宿主机 |
| 网络类型 | NAT | 新手建议先用NAT,后文详解 |
| I/O控制器类型 | 默认NVMe | 现代系统对NVMe支持良好 |
| 磁盘类型 | NVMe或SATA | 备选SATA兼容性更广 |
| 磁盘容量 | 60-80GB | 按需设置,别贪大 |
| 磁盘存储方式 | 拆分成多个文件 | 便于迁移,但性能略低于单文件 |
这里多说一句内存。很多人以为虚拟机内存给得越多越好,其实不是。VMware默认是动态分配,但如果你给一台虚拟机分8GB内存,而宿主物理机也只有16GB,那么运行大程序时两边都不够用,整个系统会卡到想砸电脑。我建议:宿主机内存16GB的,虚拟机给2-4GB;32GB以上的,可以给6-8GB。虚拟机主要是做开发和测试,内存吃紧就少开几个应用,效果远比盲目加内存明显。
3.2 从镜像安装Ubuntu的现场记录
假设你已经下载好了Ubuntu 22.04 LTS的ISO,并在向导里挂载好了镜像。启动虚拟机后,屏幕会跳出GNU GRUB菜单,选第一项“Try or Install Ubuntu”,然后按回车。
进入安装界面后有几个点要注意。第一,语言选中文或English都可以,建议英文,因为后续命令行操作时很多教程都是英语环境,中英文界面切来切去容易找不到入口。第二,在“Update and other software”页面,建议取消勾选安装中下载更新,这一步能省下大量时间,等系统装完再执行apt update也一样。
分区建议保持默认的“清除整个磁盘并安装Ubuntu”。有基础的朋友可以手动分区,但新手没必要折腾,因为虚拟磁盘本身就是一个文件,重装清掉完全不影响宿主机。设置用户名和密码时,密码一定要记住,后面很多操作要用sudo权限。
安装过程一般5到10分钟,和物理机安装速度差不多,取决于硬盘性能。装完重启后,第一步就是做系统更新:
sudo apt update && sudo apt upgrade -y更新完顺手装一下常用基础工具:
sudo apt install vim curl wget net-tools openssh-server -y这一套操作完成后,你的Ubuntu虚拟机基本可以正常开发使用了。如果卡在安装过程中或者重启后黑屏,直接跳到第六章的故障排查。
3.3 安装Windows 10/11虚拟机的额外步骤
Windows虚拟机比Linux简单一些,因为VMware对Windows的适配做得最完善。但你如果直接装Windows 11,有可能会提示“这台电脑无法运行Windows 11”,主要是因为缺少TPM 2.0和安全启动。
解法很简单:创建虚拟机时,客户机操作系统类型一定要明确选择“Windows 11”,这样VMware会自动添加虚拟TPM模块。如果创建时没选对,可以关机后在虚拟机设置里的“选项 - 高级 - 固件类型”确认UEFI,并在“硬件”标签里点击“添加 - 可信平台模块”。
Windows 10则没有TPM的强制要求,装起来非常顺。系统装完以后,你会感觉屏幕分辨率很小,鼠标移动卡顿,这是因为还没有装VMware Tools。别急,下一步就是它。
4. 装完系统后的第一件事:Tools与剪贴板
4.1 为什么必须装VMware Tools
很多新手装完Ubuntu或Windows虚拟机,第一反应是“为什么屏幕这么小”“为什么鼠标移不出去”“为什么复制不了命令”。这些问题的答案只有一个:你没装VMware Tools。
VMware Tools不是单独安装的软件,而是VMware Workstation内置的一套驱动和优化组件,装好后能带来三样核心改进:第一,图形驱动让分辨率自动适应窗口大小;第二,集成鼠标,让鼠标能在宿主机和虚拟机之间无缝移动;第三,打开“复制粘贴”和“拖拽文件”的通道,让你可以在Windows里复制命令直接粘贴到Ubuntu终端。
对于Linux系统,安装Tools的标准操作是:先启动虚拟机,然后点击VMware菜单栏的“虚拟机 - 安装VMware Tools”,这时虚拟机内部会挂载一个虚拟光驱。Ubuntu系统里执行以下命令:
sudo mount /dev/cdrom /mnt cd /mnt tar zxvf VMwareTools-*.tar.gz -C /tmp cd /tmp/vmware-tools-distrib sudo ./vmware-install.pl安装过程中一路回车使用默认值就行。安装完成后一定记得重启虚拟机,让它加载新内核模块。Windows系统就更简单了,光驱挂载后双击setup.exe,然后一路下一步。
4.2 复制粘贴失效与分辨率不适配的解决
装好Tools之后仍有小概率遇到复制粘贴不工作。这个问题的排查顺序我总结过:
第一,确认Tools是否真的在运行。Ubuntu里执行:
sudo systemctl status vmtoolsd如果状态不是active,重新执行一次安装脚本。
第二,检查VMware菜单“虚拟机 - 设置 - 选项 - 客户机隔离”,确保“启用复制粘贴”和“启用拖放”是勾选状态。
第三,如果只有单向能用,比如宿主机能粘到虚拟机但虚拟机粘不回来,最常见原因是虚拟机的“剪贴板会话”卡住了。重启虚拟机的图形环境即可,Ubuntu是:
sudo systemctl restart lightdm还有一个容易被忽略的问题:如果你用的是Wayland会话,部分版本的VMware Tools剪贴板支持不完善。Ubuntu登录界面选择“Ubuntu on Xorg”登录,而不是“Ubuntu on Wayland”,剪贴板就不会再丢东西。
5. 联网问题与网络模式解析
5.1 三种网络模式,搞懂NAT就解决了一半
绝大多数虚拟机网络问题,都出在不懂VMware的三种网络模式。
- NAT模式(网络地址转换):虚拟机共享宿主机IP上网。宿主机相当于一个迷你路由器,虚拟机内部使用私有网段(比如192.168.x.x),对外访问通过宿主机的IP地址转换。这个模式适合新手,因为不需要任何额外配置就能上网。
- 桥接模式:虚拟机直接使用物理网卡,和宿主机在同一个局域网中,拥有独立的IP地址,相当于局域网里多了一台真实电脑。适合需要让局域网内其他机器直接访问虚拟机的时候用。
- 仅主机模式:虚拟机只能和宿主机互相通信,不能访问外网。适合搭一个完全隔离的测试环境。
一句话帮我选择:要上网、追求省事的用NAT;要让别人访问你虚拟机里的网站或服务的用桥接;要做隔离网络实验的用仅主机。
实际操作就两步:先关机(或关机状态下),在“虚拟机设置 - 网络适配器”里选择模式;然后到虚拟机系统里确认IP和DNS配置。
5.2 虚拟机固定IP配置,别每次开机都变
NAT模式下,默认的DHCP会动态分配IP,虚拟机重启后地址可能变掉。做服务器测试时,IP漂移很痛苦。解决思路有两种。
第一种是把VMware的DHCP设置改成固定分配,这个对新手稍复杂。第二种更简单:直接在虚拟机系统内部配置静态IP。
Ubuntu 18.04及以上版本用的是netplan。先执行:
ip addr找到你的网卡名称(一般是ens33或ens160)。然后编辑配置文件:
sudo vim /etc/netplan/01-network-manager-all.yaml写入:
network: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.168.100.100/24 routes: - to: default via: 192.168.100.2 nameservers: addresses: - 8.8.8.8 - 114.114.114.114以上配置里的192.168.100.2是NAT模式下VMware虚拟网卡的网关地址。如果你不确定自己的网段,在宿主机CMD里执行:
ipconfig找到名为VMware Network Adapter VMnet8的条目,它的IPv4地址前三段就是你虚拟机的网段,默认网关就是那个IP本身。保存后执行:
sudo netplan apply再用ip addr验证,IP就不会变了。
5.3 宿主机访问虚拟机里的网站和服务
你想在宿主机浏览器里访问虚拟机里的Nginx或开发服务器,最简单的方案就是用桥接模式。把网络适配器切到“桥接模式”,然后在虚拟机里启动服务,宿主机直接用虚拟机IP访问。
如果不想切换到桥接,也可以保持NAT模式,通过端口映射实现。操作路径是:宿主机CMD先找到VMware VMnet8网卡的IP,比如192.168.100.1;再到虚拟机内部启动服务,监听80端口;然后去VMware的“虚拟网络编辑器”里做NAT设置,把宿主机的某个端口映射到虚拟机的80端口。这种方式适合不想让虚拟机占用局域网IP的场景,但配置比桥接稍绕。
还有一个高频需求:“主机访问虚拟机网站打不开”。排除顺序是:先确认虚拟机内部服务是否监听对外端口(curl localhost测试);再确认防火墙是否放行(Ubuntu用sudo ufw disable临时测试);最后确认网络模式是否允许互访。按这个顺序排查,九成问题都能解决。
6. 高频故障排查:蓝屏、黑屏、关机、CPU禁用
6.1 安装Linux时蓝屏是什么情况
听起来像是Windows才有的问题,其实VMware里装Linux偶尔也会出现蓝屏或者花屏。原因通常有三个:
第一,镜像文件不完整。下载Ubuntu ISO时中断过,或者用的是第三方改版镜像,安装过程就会莫名其妙出错。这一步我只能说认准官方镜像源,别图快用一些来路不明的站。
第二,虚拟硬件兼容性问题。VMware 16及以下版本对某些新版Linux内核支持不完整,优先更新到Workstation 17。如果已经装好系统但开机蓝屏,把虚拟机设置里的“硬件兼容性”调低一档试试。
第三,分配的内存或CPU核数过大。给虚拟机太多资源导致宿主机内存吃紧,安装程序异常终止。遇到这种,把内存降到4096MB,CPU降到2核,再从头创建一次。
6.2 Ubuntu黑屏进不去桌面,是内核和驱动的锅
Ubuntu虚拟机最容易见到的故障之一就是“开机黑屏但系统在运行”。最常见场景是:你执行了sudo do-release-upgrade或者手动升级了内核,重启后卡在黑屏,或显示几行日志就断掉。
这种问题的通用排查思路:
第一步,确认系统是不是真的起来了。按Ctrl+Alt+F1或F2,如果能切换到字符终端登录界面,说明系统内核已经启动,只是图形界面挂了。
第二步,进入终端后执行:
sudo journalctl -b | grep -i error查看最近的错误日志,重点看和显卡驱动相关的内容。
第三步,临时禁用图形界面驱动。编辑GRUB配置:
sudo vim /etc/default/grub找到GRUB_CMDLINE_LINUX_DEFAULT这一行,在引号里加一个参数:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"这个nomodeset参数会让内核不启用显卡管理框架,绕过很多驱动问题。保存后执行update-grub,重启多半就亮了。
如果黑屏原因是安装了NVIDIA闭源驱动导致,在恢复模式下卸载驱动也能救回来:开机时按住Shift进入GRUB菜单,选“Advanced options for Ubuntu”,进入“recovery mode”,在恢复菜单里选“root”,执行:
apt purge nvidia-* -y reboot6.3 启动报“CPU已禁用”怎么办
这个问题我在开头提过,这里完整展开。报错信息通常是“提示虚拟机CPU已禁用”或“VMware Workstation cannot run while Hyper-V is configured”。
第一步去BIOS确认VT-x/AMD-V已开启。第二步检查Windows侧是否占用了虚拟化资源。CMD以管理员身份运行:
systeminfo拉到最下方,查看“Hyper-V要求”条目。如果显示“已检测到虚拟机监控程序”,说明Hyper-V正在占用底层虚拟化。
解决办法:关闭Hyper-V相关功能。在“启用或关闭Windows功能”里取消勾选“Hyper-V”和“虚拟机平台”,然后重启。还可以在“Windows 安全中心 - 设备安全性 - 内核隔离”里关闭“内存完整性”。
如果关闭之后VMware能跑了,但还是想用Hyper-V和VMware共存,那比较麻烦,我个人的建议是别折腾共存,两者取其一就好。
6.4 电脑启动虚拟机后自动关机或断电重启
这种问题看着吓人,排查下来通常是两类。第一类是宿主机电源或散热问题引起的物理保护,不太常见但不排除。第二类才是重点:给虚拟机分配的资源超出了宿主机实际可用的容量,导致宿主机内存压力过大,系统触发某种保护性重启。
遇到这个问题,先把虚拟机的内存调小,CPU核数降低,然后观察会不会复现。如果问题消失,就是资源超分了。
另外,有些老版本VMware在“虚拟机设置 - 选项 - 高级”里有个“以调试模式运行虚拟机”的选项,勾选后虚拟机启动会受影响导致宿主机异常。一般不推荐开启。
6.5 忘记Linux root密码的恢复方法
这个场景请先确认一个前提:你操作的是自己的虚拟机,是在自己有权管理的环境中恢复密码。如果是帮别人恢复,务必先获得对方明确授权。
操作思路很简单:Ubuntu开机后,在GRUB菜单界面按Shift键进入高级选项,选择“recovery mode”。在恢复菜单里选择“root”进入root shell。如果这时文件系统显示为只读,先重新挂载:
mount -o remount,rw /然后直接重置密码:
passwd root输入两遍新密码,重启即可。这个办法在绝大多数Linux虚拟机上都适用,包括CentOS、Debian。
6.6 VirtualBox的报错“不能为虚拟机打开一个新任务”
这个标题下的热词里多次出现VirtualBox相关报错,我也简单说一下。VirtualBox提示“不能为虚拟机电脑打开一个新任务”,绝大多数原因是VT-x不可用。
排查重点和VMware一样:BIOS开启虚拟化技术。其次,检查Windows侧是否启用了Hyper-V、内核隔离、Credential Guard等占用虚拟化功能的组件。VirtualBox本身对虚拟化层的竞争比VMware更敏感,开着Hyper-V基本必报错。
如果是Win10/11,且明确不需要Hyper-V,关闭后重新装VirtualBox的最新版本,即使用“VirtualBox 7.x”系列,兼容性已经好了很多。
7. 进阶管理:加密、删除、快照与性能优化
7.1 给虚拟机加密,防止别人拷走你的镜像
虚拟机文件本质就是一个或多个大文件,别人把文件夹拷贝走,就等于把整台电脑搬走了。如果你虚拟机里存放了敏感项目或账号配置,建议启用VMware的加密功能。
操作很直接:先把虚拟机关机,然后在“虚拟机设置 - 选项 - 访问控制”里点击“加密”,设置密码。加密完成后,每次启动虚拟机都需要输入密码,就算文件被拷贝走,没有密码也打不开。
这里有个细节:加密后虚拟机不能使用快照功能。鱼和熊掌不可兼得,如果你正在做快照相关实验,建议等快照方案确定了再启用加密。
7.2 删除虚拟机目录,避免怀孕的垃圾文件
删除虚拟机不是简单地把文件夹删了。最干净的方式是先在VMware里右键虚拟机,选择“从磁盘中删除”,它会同时移除清单中的记录和文件目录。如果直接手动拖进回收站,下次打开VMware时会发现列表里还留着一条无效记录。
如果虚拟机已经关联了多个快照,直接删文件列表会导致“孤儿磁盘文件”,占据大量空间但无法恢复。处理办法是:先打开VMware,在快照管理器里把快照删除合并,再执行删除。
有些文件夹里会有.lck后缀的锁文件,这是虚拟机运行异常退出留下的。有时虚拟机提示“被占用无法启动”,把.lck文件删掉就能解决。
7.3 快照与迁移:虚拟机最划算的功能
快照相当于虚拟机的“存档点”。我在装系统、配置开发环境、做危险实验前都会拍一张快照,万一搞坏了,一条命令回到从前。
拍摄位置:“虚拟机 - 快照 - 拍摄快照”。恢复位置同样在快照菜单里,选择“恢复到该快照”。
快照虽然方便,但我提醒一下:快照数量别太多,尤其是套娃式的多层快照。每层快照都记录磁盘差异,过多会导致磁盘空间膨胀,虚拟机性能严重下降。我的习惯是保留2到3个关键节点,确认系统稳定后再把旧快照删掉。
迁移虚拟机也很简单。同版本VMware直接把整个虚拟机文件夹拷到新机器,用“打开虚拟机”选中vmx文件即可。跨版本迁移建议先兼容版本,再拷贝,避免配置文件不兼容。
需要注意:迁移时虚拟机的内存文件和锁文件全部关闭,就是先把虚拟机关机,然后停止VMware Workstation本身,等两分钟再拷贝文件夹,否则文件被占用会拷贝不完整。
7.4 性能优化:让虚拟机更流畅的几个小技巧
第一,磁盘文件尽量放在SSD上,这是最有效的提升方式,机械盘上的虚拟机开机和启动应用都明显慢。
第二,虚拟机内存不要超分。如果宿主机只有16GB,虚拟机总分配量最好低于8GB,否则宿主动不了。
第三,给虚拟CPU分配时,别超过物理核心数的一半。比如四核八线程的CPU,虚拟机分2核是合理的,分8核只会带来大量上下文切换开销。
第四,给虚拟机目录排除杀毒实时监控。杀毒软件会频繁扫描vmdk文件,严重影响IO性能。Windows Defender的排除项设置里,把虚拟机文件夹加进去,性能提升很明显。
第五,如果虚拟机里跑的是图形桌面,可以适当调低桌面特效。Ubuntu里把动画、特效关掉,卡顿感会少很多。
最后聊一个大家容易忽略的小习惯
从创建第一台虚拟机到现在,我最大的体会是:虚拟机本身只是工具,真正要养成的是“隔离思维”。每次调试都用单独的虚拟机环境,设置、环境变量、依赖包都记录在案,出问题了不猜,直接回滚快照。这种习惯一旦形成,你会发现自己敢于尝试很多以前不敢动的东西。另外,给虚拟机打快照这件事,多按几次没坏处;但删除快照前,一定先确认快照树里当前运行的位置,不然很容易变成“我以为我恢复到了上个状态,结果删掉了不能回头的历史记录”。设置好虚拟机默认存储位置、命名规则、网络模式,平时可能看不出差别,等你有三台虚拟机同时跑的时候,就会感谢当初那个愿意花几分钟整理方案自己了。