1. 为什么我推荐用 VMware 装 Ubuntu:三年踩坑换来的理由
要说在电脑上体验 Ubuntu,路子其实不少:双系统、WSL、Docker、云服务器、虚拟机……我折腾了一圈,最后日常开发和工作还是固定在 VMware Workstation Pro 装 Ubuntu 这条路线上。你要是问为什么,我一句话就能概括:双系统切换太折腾,WSL 不够“真”,云服务器太贵,而 VMware 刚好在“真实感”和“零成本折腾”之间取了一个最舒服的平衡点。
先说双系统。你装完之后确实性能最好,但每次要切换系统都得重启,来回一趟两分钟没了。有时候你只是需要一个 Linux 环境跑个脚本、改个配置,双系统那个“仪式感”就会让人懒得开机。更麻烦的是,一旦引导出问题,修起来能让人崩溃——我自己就遇到过升级 Windows 后引导丢了的情况,那次真的是靠 Live USB 一点点救回来的。所以除非你确定自己未来几个月都要高强度用 Ubuntu 做主力系统,否则我不建议一上来就搞双系统。
再说 WSL。WSL 2 确实进步很大,启动快、内存占用小,日常命令行操作完全够用。但问题是它毕竟是“Windows 之上的 Linux”,很多场景会露馅——比如你要跑 Docker 里的容器,或者调试带 GUI 的程序,再或者做一些和内核模块相关的实验,WSL 的表现往往不如完整虚拟机来得干脆。我印象最深的是在 WSL 里跑某些需要操作 /dev 节点的工具,权限和行为跟原生 Ubuntu 总有微妙差别,排查起来非常费劲。
VMware Workstation Pro 的优势在于:它给你的是一个完整的 Ubuntu 系统,和物理机上装的基本没区别。Snap、apt、Docker、NVIDIA 驱动、输入法、字体渲染,你在真实 Ubuntu 上会遇到的问题在这里几乎都会遇到,但修复成本和试错成本低得多——快照一拍,随便折腾,坏了就回滚,这个安全感是双系统和 WSL 都给不了的。
另外一个很多人没注意到的点:VMware 的虚拟化层现在对开发者做得越来越好。共享文件夹、拖拽文件、剪贴板互通、Unity 模式,这些功能让“在虚拟机里写代码”这个操作几乎和本地开发没有差别。你 Windows 上的 IDE、浏览器、微信都照常开着,虚拟机里跑 Ubuntu 服务,两边无缝协作,效率不比双系统低。
这篇文章我会把整个过程拆开揉碎了讲:从版本选择、下载镜像、创建虚拟机、配置硬件参数,到装完系统后的输入法、SSH、Docker、显卡驱动这些“装完必做”的初始化操作,再到我这些年实际踩过的坑和排查思路。很多人只写“怎么把系统装上去”,但我写的是“装上去之后怎么好好用起来”。如果你正准备在 Windows 电脑上用 VMware 装 Ubuntu,这篇应该能帮你少走一大半弯路。
2. 动手前先想明白:VMware 版本、Ubuntu 版本和电脑配置怎么选
2.1 VMware Workstation Pro 到底该下哪个版本
这是我对所有人的第一句忠告:不要去乱七八糟的网站下“破解版”。过去 VMware Workstation Pro 确实要钱,所以网上到处都是找密钥的帖子。但现在情况变了——VMware Workstation Pro 已经对个人用户免费了。你只要去 Broadcom 官网注册个账号,就能直接下载到官方原版安装包,还附带了个人使用许可,不用再到处找什么许可证密钥。
我从 15 版一路用到现在的 17 版,实测下来 17 系列在 Windows 11 上的稳定性、3D 加速和磁盘性能都比老版本强不少。如果你刚接触,直接下载 17 最新版就行。现在网上流传的所谓“18 Pro”或者“26H1”其实不是 VMware 的官方版本号,这些多半是第三方打包的标题党资源,拿来练手没问题,但生产环境不要碰,保不齐里面夹带了什么。
安装过程没什么好说的,一路下一步,唯一要注意的是:安装路径不要选 C 盘默认路径的话问题不大,但如果有条件,建议把虚拟机文件统一放在一个独立目录,方便后续备份和迁移。
2.2 Ubuntu 版本选择:22.04 LTS 是当前最稳的选择
Ubuntu 的版本号规则是“年份.月份”,LTS 代表长期支持版,每两年出一个,桌面版支持 5 年。现在最主流的是 22.04 LTS(代号 Jammy Jellyfish)和 24.04 LTS(代号 Noble Numbat)。
我个人的建议是:日常学习和开发,首选 22.04.4 LTS。为什么不是更新的 24.04?因为很多第三方软件和驱动的适配还没完全跟上。比如搜狗输入法对 24.04 的支持一直有些问题,NVIDIA 驱动在 24.04 上偶尔会遇到和内核版本不完全兼容的情况。而 22.04 出来两年多了,各种坑都被前人填得差不多了,你网上搜到的大多数教程、报错解决方案,也基本默认是 22.04 环境。等你熟悉了这套体系,再折腾新版本也不迟。
下载地址去 Ubuntu 中文官网或者官方镜像站都行。镜像文件是 .iso 格式,一般 4 到 5 个 GB,下载的时候注意选适合自己的源,国内用户直接用清华 TUNA 或阿里云镜像会快很多。
2.3 虚拟机配置怎么给才不卡:内存、CPU、磁盘的一次性规划
很多人装完 Ubuntu 虚拟机觉得卡,十有八九是资源给得不够或者分配策略不对。这里我给一个可以直接照抄的配置方案,实际用下来非常舒服:
- 内存:8GB 物理内存起步,建议给虚拟机分配 4GB;16GB 物理内存,可以给 6GB 到 8GB。
- 处理器:分配 2 到 4 核即可,关键是勾选“虚拟化 Intel VT-x/AMD-V”。
- 磁盘:推荐设置 40GB 以上,并选择“将虚拟磁盘存储为单个文件”。
- 网络:默认 NAT 模式就好,绝大多数场景够用。
千万不要把电脑所有资源都塞给虚拟机。Windows 自己跑起来就要占不少内存,你把 16GB 全给虚拟机,Windows 直接卡成 PPT,虚拟机反而更慢。我一开始装的时候贪心,给虚拟机分了 12GB 内存,结果 Windows 系统疯狂占用交换文件,虚拟机 3D 加速也出了问题。后来规规矩矩给 8GB,反而稳定多了。
磁盘这块,我见过太多人一开始就给 20GB,然后装完系统还剩五六个 GB,装几个软件就满了,扩容又是一顿折腾。40GB 是起步价,50GB 是比较充裕的量,而且 VMware 的磁盘是动态增长的,你设 50GB 不代表它立刻占 50GB,而是用到多少占多少,所以不用担心浪费。
3. 从零开始创建虚拟机:手把手操作流程
3.1 新建虚拟机向导:典型安装和自定义安装的区别
打开 VMware Workstation Pro,主页会看到“创建新的虚拟机”,点进去后有两个选项:典型(推荐)和自定义(高级)。
新手我建议直接选“典型”,因为 VMware 会自动识别 Ubuntu 镜像并套用一套比较合理的默认配置,不需要你自己逐个设置。但如果你已经有明确的资源分配计划(比如上面说的 4 核 8GB),选“自定义”会更灵活。
接下来会要求你选安装来源。这一步很多人会纠结:“我现在就装还是稍后装?”我的建议是:选择“稍后安装操作系统”。别急着挂载 ISO,先把虚拟机的框架搭好,再一步步来。原因有两个:一是这样能让你清楚每一步在干什么,而不是全程“下一步”;二是避免 VMware 的自动安装机制在某些情况下跳过了一些你自己想控制的操作。
当然,如果你追求省事,直接在“安装程序光盘映像文件(iso)”里选你下载好的 Ubuntu ISO,VMware 会自动检测到“Ubuntu 64 位”并进入简化流程。我自己两种方式都试过,本质没有对错,主要看你喜欢哪种节奏。
3.2 关键硬件参数详解:内存、CPU、磁盘怎么调
如果在典型模式里选了稍后安装系统,下一步就是配置硬件参数。这里我把每一项背后的考量说透,方便你自己做判断:
内存(Memory)建议给你的虚拟机分配 4GB 以上。Ubuntu 22.04 桌面版装完开机,内存占用一般在 1.5GB 左右,如果还要跑浏览器、IDE、Docker,4GB 是勉强够用的底线,8GB 才是舒服的日常配置。我这个 16GB 内存的笔记本,一般分 6GB 或 8GB 给虚拟机,Windows 自己留 8GB,两边都还能很流畅。
处理器(Processors)处理器核心数看你物理机的 CPU。如果你的 CPU 支持超线程(现在的 Intel 和 AMD 基本都支持),可以分配 2 核 4 线程,也就是在 VMware 里设置“处理器数量 2,每个处理器的内核数量 2”。不建议把核心全给虚拟机,因为 VMware 的调度本身有开销,留一些给宿主机反而整体更流畅。
硬盘(Hard Disk)40GB 是我给的最低建议。Ubuntu 22.04 全量安装后占用大概 9 到 12GB,剩下的空间给 Docker 镜像、开发工具、缓存、快照备份等场景预留。记住这是一块动态扩展的虚拟磁盘,上限设大不心疼,但设小了后续扩容要费很多功夫。
网络(Network Adapter)默认 NAT 模式就行。NAT 模式下,虚拟机通过宿主机共享 IP 访问外网,宿主机能直接访问虚拟机,虚拟机之间也可以通过虚拟网络互通。如果你后续要搭集群实验,可以再研究桥接模式或仅主机模式,这里不展开。
3.3 挂载 ISO 镜像和启动安装的细节
硬件参数配置完成后,你会回到 VMware 主界面,看到左侧多了一个虚拟机条目。这时右键点它——设置——CD/DVD(SATA)——勾选“使用 ISO 映像文件”,浏览选中你下载的 Ubuntu 22.04 ISO。然后点击“开启此虚拟机”。
这里有个细节很多人会遇到:一开机就黑屏,或者卡在“Verifying DMI Pool Data”。这种情况多半和 EFI 安全启动有关。解决方法是在虚拟机设置的“选项”——“高级”——固件类型里,把“UEFI”改成“BIOS”,或者关闭启用安全引导。Ubuntu 对传统 BIOS 支持非常好,兼容性反而更好。
开机后你会看到一个紫色的 GRUB 菜单,选第一项“Try or Install Ubuntu”就能进入安装界面。
4. Ubuntu 安装全程实录:从语言选择到首次重启
4.1 安装向导里的几个关键选项怎么选
Ubuntu 的安装器本身很友好,全程图形化,但有几个选项特别容易让人犹豫,这里逐个说明。
语言选择:建议选 English(英文),系统语言装成英文可以避免很多软件兼容性问题(尤其是一些依赖中文字符编码的软件)。装好之后,中文输入法再单独配置,中文显示也完全没有问题。如果你实在想用中文界面,选“简体中文(中国)”也没问题,后果顶多是某些第三方字体渲染怪一些,不影响使用。
键盘布局:默认 English(US)即可,中文输入法之后单独装。
安装类型:
- “交互式安装”是默认的图形界面安装方式,适合新手。
- “自动安装”是 Ubuntu 24.04 新增的功能,类似无人值守,速度更快但可控性低。
- 如果你想精简系统,可以勾选“为图形或无线硬件安装第三方软件”,建议勾上,因为 VMware 虚拟机的显卡驱动在这个选项里会被一并安装,能省后面不少事。
磁盘分区:
- 如果这是你第一次用虚拟机装 Ubuntu,直接选“擦除整个磁盘并安装 Ubuntu”,它会自动创建两个分区:一个 EFI 系统分区和一个根分区。
- 如果你后续要单独挂载 /home 或者做复杂分区,就选“手动分区”。这里顺便说下我常用手动的方案:分一个
swap(大小等于内存),一个/(根分区,60% 空间),一个/home(剩余空间)。这样重装系统时 /home 里的数据还在,文件管理也清晰。
您的姓名/您的计算机名称:
- “您的姓名”是登录显示名,可以随意。
- “您的计算机名称”会出现在终端提示符里,建议用有意义的名称,比如
ubuntu-dev。 - 用户名建议用纯英文小写,不要带空格,否则后面配置一些开发工具容易出问题。
- 密码也别太简单,因为这台虚拟机默认开启了 SSH 服务的话,弱密码容易招来扫描。
4.2 安装过程要等多久?中途能不能干别的
点完“安装”之后,系统会自动开始复制文件、安装软件包。整个过程大约 10 到 15 分钟,看你的硬盘和 CPU 性能。这个阶段可以切回 Windows 做其他事情,虚拟机窗口可以最小化,不影响安装进度。
安装完成后,安装器会提示重启。注意是重启虚拟机,不是重启电脑。重启后 VMware 会自动从虚拟硬盘启动,你会看到 GRUB 菜单,正常选第一项进入系统。登录界面输入密码,就能进入 Ubuntu 桌面了。
到了这一步,“VMware Workstation Pro 安装 Ubuntu”这件事就基本完成了。但说实话,装完只是开始,好用才是目标。如果你就这么直接开始用,很快会碰上一堆问题:网络时断时续、分辨率没法调、字体发虚、中文输入法没有、SSH 连不上……这些接下来一个个处理。
5. 装完必做的初始化:驱动、网络、SSH、输入法一个都不能少
5.1 安装 open-vm-tools:解决分辨率、剪贴板、拖放问题
很多新手装完 Ubuntu 后第一反应是“这分辨率怎么这么别扭,就 800x600”或者“我 Windows 上复制的内容粘不进虚拟机”。这几乎都是因为缺 open-vm-tools。它相当于 VMware 虚拟机的驱动包,负责屏幕分辨率自适应、剪贴板共享、文件拖拽等功能。
在 22.04 之前,Ubuntu 安装盘一般会自动装好 open-vm-tools,但如果你装的是桌面版或者自定义装法,可能没有。打开终端执行:
sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop -y装完之后重启虚拟机(或者注销重新登录),你会发现分辨率自动变成自适应 Windows 窗口大小,复制粘贴也能用了。
如果你发现剪贴板还是不通,检查一下 VMware 菜单栏的“虚拟机”——“设置”——“选项”——“客户机隔离”,确认“启用复制粘贴”和“启用拖放”都勾上了。
5.2 网络配置:为什么 Ubuntu 虚拟机 ping 不通外网
默认情况下,VMware 的 NAT 模式应该能直接上网。但现实中很多人会遇到“虚拟机里打开浏览器没反应”的情况。
首要排查命令是:
ip addr看你的网卡有没有拿到 IP。如果显示state DOWN,执行:
sudo dhclient ens33或者重启网络服务:
sudo systemctl restart systemd-networkd如果还是没有 IP,大概率是这几种情况:
- VMware 的“虚拟网络编辑器”里 NAT 网段被改过,或者 DHCP 服务被禁用。打开 VMware“编辑”——“虚拟网络编辑器”,选择 VMnet8,点击“NAT 设置”和“DHCP 设置”,确认服务正常开启。
- Windows 防火墙或者第三方安全软件拦了 VMware 的虚拟网卡流量。临时关闭防火墙再测试一下,能通的话就添加放行规则。
- 公司网络或者校园网本身有准入限制。这种情况建议改用桥接模式,让虚拟机直接接入物理网络。
这里也说个经验:如果 SSH 连不上,但虚拟机能上网,问题多半出在 SSH 服务本身,而不是网络。我见过一晚上排查网络配置,最后发现是没装 openssh-server 的情况。
5.3 SSH 远程连接:从配置到 Windows 终端连接
开发时 SSH 进虚拟机比在图形界面里操作舒服太多,尤其是跑命令、看日志的时候。第一步,安装并启动 SSH 服务:
sudo apt install openssh-server -y sudo systemctl enable ssh --now然后查一下虚拟机的 IP:
ip addr show记下 ens33 网卡的 inet 地址,比如 192.168.123.132。在 Windows 的终端里直接:
ssh yourname@192.168.123.132输入密码就连上了。
如果 SSH 连不上,按顺序排查:
ping 虚拟机IP能不能通,不通先看上一节网络问题。sudo systemctl status ssh看服务是否 running。sudo ss -tlnp | grep 22看 22 端口有没有监听。sudo ufw status看防火墙是否放行 22 端口。Ubuntu 默认 ufw 是 inactive,但如果之前开过,需要sudo ufw allow OpenSSH。
另外强烈建议配置一次 SSH 密钥登录,以后不用每次输密码:
# 在 Windows 终端执行 ssh-keygen -t ed25519 ssh-copy-id yourname@VMware的IP每次输一次密码把公钥拷过去,之后就能免密登录了。
5.4 中文输入法:为什么我推荐 Fcitx5 而不是搜狗
中文输入法这部分是热搜里的高频词,网上的安装方案也五花八门。搜狗输入法确实很多人用,但实话说,在 22.04 上折腾搜狗输入法本身就是个坑。它官方只提供 .deb 包,依赖库比较老,装完经常遇到图标不显示、候选词不同步、和 Wayland 不兼容各种问题。
我现在的方案是Fcitx5 + 中州韵(Rime),干净、稳定、完全不折腾。安装就三条命令:
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-rime -y im-config -n fcitx5注销重新登录后,右上角会出现键盘图标,Ctrl+Space 就能切换中英文输入。
如果你想保留搜狗输入法,也不是不行。官方安装包一般是 .deb 格式,下载后执行:
sudo dpkg -i sogoupinyin_xxx_amd64.deb sudo apt -f install -y但装之前一定要先装好依赖库,而且建议把桌面环境切到 Xorg(登录界面点击小齿轮选“Ubuntu on Xorg”),Wayland 下搜狗的兼容性着实堪忧。装好之后如果没出现在输入法列表,执行fcitx5-configtool,在“输入法”里手动添加。
5.5 字体优化:让终端字体接近 macOS 的体验
热搜里提到一个“wsl ubuntu写代码最推荐的字体接近macos的体验”,这个也一样适用于 VMware 里的 Ubuntu。我之前一直觉得 Ubuntu 终端默认的等宽字体有一种“说不上来的粗糙感”,看久了眼睛累。后来花了点时间折腾字体,把终端字体换成了JetBrains Mono和Fira Code,配合主题微调,整个代码阅读体验瞬间接近 macOS 终端那种舒服感。
安装字体很简单,直接用 apt 装:
sudo apt install fonts-jetbrains-mono fonts-firacode -y然后在终端设置里(Preferences——Profile——Custom font)选择“JetBrains Mono Regular”,字号设成 12 或 13,渲染风格选“次像素抗锯齿”或“灰度”,效果非常清爽。
如果你用的是 Windows 上的 VS Code 远程连到虚拟机里写代码,那还可以给 VS Code 的 Editor: Font Family 设置为'JetBrains Mono', 'Fira Code', Consolas,视觉效果也会明显改善。
6. 开发环境搭建:Docker、NVIDIA 驱动、VS Code 一条龙
6.1 Ubuntu 上安装 Docker:官方源还是国内镜像源
Ubuntu 上装 Docker 有不少教程,但很多都停留在“apt install docker.io”这种简单粗暴的方式。我个人推荐用 Docker 官方源安装,版本更新更及时,关键是后续配好镜像加速器,否则国内拉镜像能急死人。
先装依赖并添加官方 GPG key:
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg添加软件源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null然后安装:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y装完之后别忘了把当前用户加入 docker 组,避免每次都要 sudo:
sudo usermod -aG docker $USER重新登录之后运行docker version验证。
这里重点说下镜像加速器。Docker 官方仓库在国内访问非常慢,甚至直接超时。可以在/etc/docker/daemon.json里配置加速地址:
{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerproxy.com" ] }保存后执行sudo systemctl restart docker,再拉镜像试试,速度完全是两个世界。
6.2 NVIDIA 显卡驱动:虚拟机需要装吗
如果你只是普通地跑 Ubuntu 写代码,虚拟机的虚拟显卡完全够用,不需要装 NVIDIA 驱动。但如果你要在虚拟机里做 CUDA 相关的开发、跑深度学习推理,或者只是想让 3D 加速更顺滑,那就得考虑驱动方案。
这里有个概念要先捋清楚:VMware 虚拟机里的“显卡”是虚拟显卡,不是你的物理 NVIDIA 卡,所以直接装 NVIDIA 的 Linux 驱动是没用的,它还经常会因为内核模块加载失败把系统搞挂。正确的思路是:
- 在 VMware 设置里开启“加速 3D 图形”,并且分配足够显存(默认 512MB,建议调到 2GB 以上)。
- 在 Ubuntu 里安装 Mesa 相关组件,让虚拟显卡走 OpenGL 加速。
- 如果你真的要跑 CUDA,更合适的路子是物理机装 Linux 双系统,或者用 Docker + NVIDIA Container Toolkit 的方案,而不是在 VMware 里硬装驱动。
如果之前试过装 NVIDIA 驱动导致系统黑屏,可以在恢复模式下卸载掉:删除/etc/modprobe.d/里和 nvidia 相关的 blacklist 配置,以及/usr/lib/modules/下对应的内核模块,再把驱动相关包purge掉。
6.3 VS Code 和远程开发:把 Windows 和 Ubuntu 之间的体验打通
我个人非常推荐在 Windows 上用 VS Code 的 Remote-SSH 插件连接到 Ubuntu 虚拟机,这样代码编辑界面在 Windows 里跑(顺手、字体渲染舒服),执行环境在 Ubuntu 虚拟机里(真实、和线上一致)。这个方案等于把 macOS 上那种“本机码字、远端跑”的体验完美复刻了出来,习惯了真的回不去。
安装 Remote-SSH 插件后,在 VS Code 的“远程资源管理器”里添加 SSH 目标:
ssh yourname@192.168.123.132连上之后,在插件市场安装“Remote-SSH: Edit Configuration File”,把 Host 信息保存下来。之后 VS Code 会提示你在远程机器上安装一个 server 组件,自动完成,整个流程非常顺。
连上之后,你可以直接在 Windows 侧的 VS Code 里编辑、调试虚拟机里的代码。体验上和本地开发几乎没区别,但环境就是真的 Ubuntu,Docker、Python、Node 这些运行时的行为不会和线上有偏差。
7. 我这些年踩过的坑:VMware + Ubuntu 常见问题排查速查表
做技术分享如果不写踩坑记录,等于只给了一半的教程。下面这个表是我在 VMware Workstation Pro 装 Ubuntu、日常使用的过程中真正遇到并解决过的问题,按出现频率排的。
| 问题现象 | 可能原因 | 快速解决方案 |
|---|---|---|
| 虚拟机启动黑屏/卡在启动画面 | UEFI 安全启动 | 虚拟机设置里固件改为 BIOS,或关闭“启用安全引导” |
| Ubuntu 分辨率只有 800x600 | 缺 open-vm-tools | sudo apt install open-vm-tools open-vm-tools-desktop -y |
| 剪贴板复制粘贴失效 | 客户机隔离选项未开启 | VMware 设置——“客户机隔离”勾选复制/拖放,重装 open-vm-tools |
| 虚拟机 ping 不通外网 | NAT 服务或 DHCP 异常 | 虚拟网络编辑器重置 VMnet8,sudo dhclient ens33 |
| SSH 连接拒绝 | openssh-server 未安装/未启动 | sudo apt install openssh-server -y,systemctl start ssh |
| 虚拟机系统时间不准 | 宿主机休眠导致时钟漂移 | 安装 open-vm-tools,timedatectl set-ntp true |
| Docker 镜像拉取超时 | 未配镜像加速器 | 写/etc/docker/daemon.json的 registry-mirrors,重启 docker |
| 虚拟机里浏览器上网慢 | DNS 解析慢 | 在网络设置里把 DNS 改为 223.5.5.5 或 114.114.114.114 |
| apt 安装软件报依赖错误 | 软件源损坏 | sudo apt --fix-broken install或换官方镜像源 |
| 中文输入法不显示候选词 | Fcitx5 与 Wayland 冲突 | 登录界面切到 Xorg,或换用 Rime 方案 |
这里展开说几个最隐蔽的坑,因为它们的报错信息都特别有迷惑性。
坑一:虚拟机关机后 Windows 也卡顿。不是虚拟机的问题,是 VMware Workstation 的 vmware-vmx 进程没有完全退出。打开任务管理器,找到 vmware-vmx.exe 强制结束即可。设置里把“关闭虚拟机时回收内存”选项勾上会好很多。
坑二:克隆虚拟机之后,旧的网卡 UID 和 MAC 和系统里缓存的冲突,ens33 消失,网络起不来。这种情况下ip addr看不到 ens33,执行:
sudo rm -f /etc/machine-id /var/lib/dbus/machine-id sudo systemd-machine-id-setup sudo reboot重启后会重新生成 network 接口名和绑定关系。这个坑在我调整虚拟机位置后遇到过,排查了半小时才找到原因。
坑三:apt update 不成功,提示Certificate is not yet valid。这是虚拟机系统时间跑偏导致的证书验证失败,常见于休眠恢复后。解决办法很简单:
sudo apt install ntpdate -y sudo ntpdate time.windows.com或者直接用 NTP 自动同步:
sudo timedatectl set-ntp true sudo systemctl restart systemd-timesyncd坑四:Windows 防火墙导致的 SSH 无法连接。这个特别阴,因为 VMware NAT 模式下虚拟机的流量会从 Windows 侧虚拟网卡走,如果 Windows 防火墙默认拦了 VMnet8,甚至会 ping 通但 SSH 连不上。处理办法是到 Windows 防火墙高级设置里允许 VMware 和 VMnAT 相关进程通信,最省事的就是把“VMware Workstation”这个程序加进允许列表。
8. 快照功能:为什么说这是虚拟机最值得依赖的功能
前面反复提到快照,这里单独拿出来说,因为我觉得它才是虚拟机最值钱的功能。如果把 Ubuntu 虚拟机比作一个文档,快照就是文档的历史版本。你在配置环境时每一步都是潜在的“炸点”,比如装驱动装崩了、删系统文件手滑了、改配置改到起不来机——没有快照的话,就只能从头重装。
创建快照的方式非常简单:
- 在 VMware 主界面右上角,点击“快照”图标,或者菜单“虚拟机”——“快照”——“拍摄快照”。
- 给快照一个能看懂的名字,比如“系统初始装完-已配SSH”或者“Docker环境搭建前”。
- 描述里可以写上当前环境的状态,方便之后找。
我的习惯是每个关键节点拍一个快照:
- 装完系统、open-vm-tools、SSH 配置好之后,拍一个“Base”。
- 配好输入法和字体、开发环境之前,拍一个“Env-Base”。
- 每次要装大型软件之前,拍一个快照。
这样无论什么操作翻车,都能在 1 分钟内恢复到操作前的状态,完全不需要重装系统。比起物理机上小心翼翼、装个驱动都怕崩的状态,虚拟机里的试错成本低到几乎可以忽略。
快照也有缺点:它不是一个完整的备份。快照文件只记录差异数据,如果虚拟磁盘文件损坏了,快照也救不回来。所以重要的项目代码一定要用 Git 推远程仓库,重要文件定期从虚拟机里拷贝到 Windows 侧或网盘,不要把虚拟机当成唯一的数据存放点。
另外,快照拍多了也会占用大量磁盘空间。不用的时候可以删掉旧快照,保留最近一两周的即可。
9. 如何把 Ubuntu 虚拟机用得和本机一样舒服:效率技巧补充
这里再分享几个我把 Ubuntu 虚拟机当主力开发机以后验证过的高频技巧,每一项都能实打实提升日常使用体验。
技巧一:设置共享文件夹,替代原生拖拽。虽然 VMware 支持拖拽文件,但传大文件夹、批量文件时容易卡。更稳的方案是 VMware“虚拟机设置”——“选项”——“共享文件夹”,添加一个 Windows 目录,比如D:\shared。然后在 Ubuntu 里访问:
ls /mnt/hgfs/shared/这个目录在虚拟机里就是一个普通挂载点,读写速度和本地文件接近,代码、安装包、备份文档都从这儿走。
技巧二:开启“拉伸客户机”模式。如果你的 Windows 屏幕分辨率是 2K 或 4K,VMware 虚拟机的默认窗口比屏幕小,看着很难受。点击菜单栏“查看”——“自动调整大小”——“拉伸客户机”,虚拟机桌面会铺满整个屏幕,再用 open-vm-tools 的分辨率自适应技术,就把 Windows 桌面和 Ubuntu 桌面视觉上融合到一起了。
技巧三:在 Ubuntu 里配置自动挂载 Windows 共享盘。如果你不想每次开机都要手点“连接”,可以把共享文件夹配置写进/etc/fstab:
.host:/shared /mnt/hgfs/shared fuse.vmhgfs-fuse allow_other,defaults 0 0这样每次开机自动挂载,省心很多。注意不同版本的 VMware 挂载路径写法可能略有差异,可以先用vmware-hgfsclient命令确认共享文件夹名称。
技巧四:给虚拟机设置自动启动。如果你每天开机第一件事就是打开 VMware 和 Ubuntu,可以在 VMware 菜单“编辑”——“首选项”——“Workstation 首选项”里开启“启动时打开上次使用的虚拟机”,Windows 开机后 VMware 会自动把虚拟机拉起来,登录进去就能用,能少点好几下鼠标。
10. 为不同用途准备的两套精简配置参考
最后把我在不同场景下的配置方案列出来,方便你按需选择。要知道虚拟机分配不是越大越好,关键看你的使用目的。
方案一:日常学习 + 写代码(轻量)适合刚接触 Ubuntu、跑 Python/Node/Go 脚本、使用命令行工具学习的场景。
- VMware 版本:17 Pro
- Ubuntu 版本:22.04.4 LTS
- 内存:4GB
- 处理器:2 核
- 磁盘:40GB
- 网络:NAT
- 额外配置:open-vm-tools、SSH、VS Code Remote-SSH
实测:Ubuntu 开机占用 1.5GB 左右,跑一个 VS Code 远程会话和几个终端窗口,内存占用 3GB 上下,Windows 侧还剩一半内存,两边都很流畅。
方案二:Docker 实验 + 后端服务部署(中等)适合在 Ubuntu 虚拟机里跑 Docker、搭建 MySQL/Redis/Nginx 等服务,做前后端联调实验。
- VMware 版本:17 Pro
- Ubuntu 版本:22.04.4 LTS
- 内存:8GB
- 处理器:4 核
- 磁盘:60GB
- 网络:NAT(需要外部访问时可以改桥接)
- 额外配置:Docker + 镜像加速器、共享文件夹、/home 独立分区
实测:同时跑 4 到 5 个容器,内存占用在 5GB 左右,CPU 偶尔满载但不会卡死,磁盘 IO 表现比想象好很多。
配置这两个方案时记得把 Windows 侧的内存情况考虑进去。8GB 物理内存的笔记本跑方案二会比较吃力,建议直接上方案一;16GB 内存的机器跑方案二是最舒服的搭配。
我自己目前就是方案二的状态:Windows 里跑 VS Code、浏览器、微信,Ubuntu 虚拟机里跑 Docker、跑后端服务,快照留了三个节点随时回滚,稳如老狗。你说 Ubuntu 桌面环境多惊艳其实没有,但它在这台虚拟机上从没让我操过心,这就是虚拟机最大的价值——它让你用最低的成本获得了一个可以随便折腾的完整 Linux 系统。
这些配置、技巧和坑都是我在 VMware + Ubuntu 这条路上一步一步试出来的。如果你按照这个教程操作完,遇到问题也不怕——把报错信息和上面的速查表对一遍,九成能找到答案。剩下的那一成,多半就属于“重启虚拟机试试”和“重新拍个快照再来一次”的范畴了。