每次看到有人拿 VMware 折腾 Ubuntu,最后卡在装完系统之后分辨率 800×600、网络不通、中文打不出来这三座大山上,我都觉得这套流程里的坑其实大部分能提前绕开。在 Windows 宿主机上用 VMware Workstation 跑 Ubuntu 虚拟机,是接触 Linux 成本最低、也最不容易把主系统搞坏的方式。这篇文章就是给所有准备用 VMware 配置 Ubuntu 的朋友一条完整实操路线,涵盖镜像下载、虚拟机参数、Ubuntu 安装、VMware Tools、网络、输入法和高频故障,照着走基本能保证从零到日常可用。
我自己从 Ubuntu 16.04 一路装到 24.04,中间换过 VirtualBox、Hyper-V,最后还是回到 VMware Workstation。原因很简单:它对 Linux 桌面环境的硬件兼容性最完整,快照、克隆、网络模式这套东西做得也顺手。下面这些内容不是把官方文档复述一遍,而是我把这些年实际踩过的坑、验证过的方案一次说清楚。
1. 开局之前:VMware 版本、Ubuntu 镜像和宿主机这三个坑先填上
很多新手喜欢直接百度搜"VMware 下载"和"Ubuntu 下载",结果装上来的东西要么是来路不明的打包版,要么是版本太老跟新硬件冲突。这一步多花十分钟,后面能省下俩小时。
1.1 VMware Workstation Pro 17 的免费授权和下载
先说一个很多人不知道的信息:VMware Workstation Pro 17 对个人用户已经免费,不需要再去找什么许可证密钥。官方网站直接下载安装之后就是完整功能,网上那些"破解版""注册机"反而是最需要躲开的风险源。
下载时注意看版本号,Workstation Pro 17 和 Workstation Player 是两个东西。Player 只能运行现成虚拟机,不能创建,别下错。如果手头已经装了 16.x 的旧版本,建议直接升级到 17.x,因为新版对 Win11、对较新的 CPU 调度都做了适配,旧版在部分笔记本上会出现无法创建虚拟化进程的问题。
1.2 Ubuntu 选哪个版本最合适
Ubuntu 镜像去官网或者正规镜像站下载。官网是 ubuntu.com/download/desktop,想用国内加速的话找高校或云厂商的镜像站,认准.iso后缀安装镜像。
版本选择上,新手直接选 LTS 长期支持版。Ubuntu 22.04 LTS 和 24.04 LTS 目前都在维护期,如果没有特定软件只支持 22.04 的老依赖,我建议直接上 24.04 LTS。理由是桌面环境更新、对虚拟机的 Wayland 支持更好,中文输入法的坑也相对少了。
下载时注意区分 Desktop 版和 Server 版。桌面日常开发、学习、跑代码用 Desktop;如果你只是想开个终端写程序、搭服务,Server 版会更省资源,但新手不推荐一上来就玩纯命令行。
1.3 宿主机内存、磁盘与 Hyper-V 预留检查
装之前先看宿主机配置。我的经验是:宿主机至少 16GB 内存,虚拟机分 4GB–8GB,这样两边都不会太难受。8GB 内存的机器开虚拟机就要精打细算,Ubuntu 桌面版建议最低给 4GB,否则开个浏览器加编辑器就开始交换分区。
磁盘方面,虚拟机文件别放 C 盘。VMware 默认会把虚拟机文件夹放在C:\Users\用户名\Documents\Virtual Machines,一旦创建了 60GB 的动态磁盘,C 盘很容易被吃满。建议预先在 D 盘或者移动硬盘建一个VMware目录,创建虚拟机时把存储位置指过去。
还有一个 Win11 用户必须注意的点:如果宿主机开着 Hyper-V、内核隔离、内存完整性这些基于虚拟化的安全功能,VMware Workstation 即使能运行,性能也会明显下降。表现为启动慢、虚拟机里鼠标飘、CPU 占用高。这一步可以先确认,等真卡了再按后面第 7 章的方案处理。
2. 配置虚拟机的 CPU、内存、磁盘与系统固件:别用默认值蛮干
新建虚拟机时,VMware 的向导会给出很多默认值。这些默认值能用,但谈不上好用。这一节把这几个关键选项按重要性拆开讲。
2.1 CPU 与内存分配:给多了反而浪费
VMware 官方默认一般是给 1 核、2GB 内存,这配置跑 Ubuntu 桌面版打开设置都卡。但也不是无脑往高了给。
CPU 的误区在于:虚拟机里给 8 核,不代表它变快了,反而因为 VMware 需要在物理 CPU 上模拟 vCPU 调度,跨核开销增大,整机响应可能变慢。桌面临时用、写写代码,2 核足够;如果要编译内核或跑大型构建,4 核也够了。推荐选"处理器数量 1,每个处理器的核心数量 4",这种组合的调度开销比"2 个处理器 × 2 核"更小。
内存分配建议这样算:虚拟机内要跑 GNOME 桌面加浏览器再加一个 IDE,4GB 是下限,8GB 才舒服。宿主机 16GB 内存时,我通常给虚拟机 6GB,留 10GB 给 Windows;宿主机 32GB 时直接给 8GB–10GB。
2.2 虚拟磁盘大小与预分配细节
虚拟磁盘建议 40GB–60GB。40GB 对 Ubuntu 桌面日常开发够用,如果还要装 Docker 镜像、Android SDK、编译缓存,60GB 更保险。虚拟磁盘会动态增长,一开始实际占用很小,不用怕浪费。
这里有一个隐藏选项值得说:创建磁盘时勾选"立即分配所有空间",虚拟机读写性能会比默认的"逐步分配"稳定很多,缺点是创建时间长、瞬间吃掉你分配的磁盘容量。如果宿主机空间充裕,我推荐勾上;如果硬盘紧张,保持默认动态分配问题也不大。存储格式上优先选"单个文件",大文件连续读写的性能比"拆分成多个文件"略好。
2.3 固件类型、显存与 3D 加速
新建虚拟机向导里会让你选固件类型,推荐用 UEFI。Ubuntu 24.04 对 UEFI 支持已经非常成熟,后续如果出现开机提示no bootable device,再考虑切回 BIOS 引导试试,但绝大多数情况下 UEFI 不会出问题。
容易被忽略的是图形这一块。Ubuntu 桌面版默认开着 GNOME 动画,如果虚拟机的 3D 加速没开或者显存太小,桌面操作会明显掉帧。位置在"虚拟机设置 → 显示器"里,把"加速 3D 图形"勾上,图形内存不要给默认的几百兆,直接往上调。如果你用的 VMware 版本里显存滑块上限不够,可以关机后编辑.vmx文件,找mks.enable3d = "TRUE",再加一行svga.graphicsMemoryKB = "2097152",也就是 2GB 显存,装完 VMware Tools 后桌面动画会顺滑很多。
2.4 ISO 镜像加载与快照时机
在 CD/DVD 选项里选择"使用 ISO 镜像文件",指向你下载的 Ubuntu 镜像,并勾选"启动时连接"。这一步很基础,但有人确实会犯"把 ISO 挂上但没勾连接,开机进了 Windows 而不是安装界面"的低级错误。
我还有一个习惯:刚建好空白虚拟机时先做个快照打底。快照名就叫"clean-base",这是系统最纯净的初始状态,后面装坏了大不了三秒钟回到这里。安装完系统和驱动后,建议再做一个"installed-tools"快照,后面折腾开发环境就踏实了。
3. 进入 Ubuntu 安装向导后,这四个选择直接影响后续体验
镜像引导进入 Ubuntu 安装界面后,大多数人关注点只在点"继续",但中间有几处选择会直接影响装完之后的体验,我按步骤拆开说。
3.1 最小安装还是完整安装
Ubuntu 24.04 安装器会让你在"最小安装"和"完整安装"之间选。这里我直接建议选完整安装。原因不是功能多少,而是最小安装在 VM 里常常会缺一些桌面组件和基础驱动,装完以后你会发现连右键压缩工具都要自己装。虚拟机不差那几 GB 空间,完整安装替你省掉一堆apt install的补课时间。
3.2 是否勾选安装时下载更新
安装向导会问是否在安装过程中下载更新。这是一个典型的"看着有用、实际坑爹"选项。虚拟机里系统刚装完没配置网络栈,连接更新源的速度通常很慢,勾选后安装时长可能翻倍,而且一旦网络波动还会让安装进程卡住。我的建议:不要勾,装完进系统之后再执行sudo apt update && sudo apt upgrade也是一样效果。
3.3 分区策略:整块磁盘的默认方案最省心
Ubuntu 安装器检测到虚拟机的空磁盘后,会提示"清除整个磁盘并安装 Ubuntu"或者"手动分区"。新手或者普通开发用户,直接用默认的"清除整个磁盘"就行,系统会自动划分 EFI、根分区、交换分区,足够日常使用。
不用碰 LVM。虽然这是不少教程里推荐的方案,但 LVM 的抽象层在你后续给虚拟磁盘扩容时,会平白多出一步修改逻辑卷的操作。虚拟机场景下前期就用标准 ext4 做整盘分区,是最少出错的组合。手动分区是确实有特殊需求的人才会碰的东西,普通场景没有任何必要。
3.4 用户名密码的细节与常见翻车
创建账户时,很多人随手输个短密码就过去了,等一个月后忘了登录密码直接傻眼。虚拟机密码也是密码,建议用大小写字母加数字的组合,长度在 8 位以上。另外,Ubuntu 默认禁用 root 密码,日常操作靠的是你创建的账户加 sudo 权限,所以这个密码本质上是你的管理员密码,别设置成123456这种。
安装向导会让你选区域和键盘布局,选好时区后其他默认即可。安装过程会持续几分钟,这里不要做任何强制关机或强制从光驱弹出的操作。等进度条走完,提示重启时再操作,重启时如果 VM 提示"请移除安装介质",直接回车或者按提示继续即可。
4. 装完系统先别高兴,VMware Tools 与显示适配器必须处理
Ubuntu 装完第一次启动,你大概率会看到一个分辨率异常、显示粗糙的桌面,比如 800×600 或者 1024×768。这不是 Ubuntu 的问题,而是虚拟机的显卡驱动和 VMware 的集成组件还没准备到位。
4.1 为什么 open-vm-tools 是正解
要在 VMware 虚拟机里让 Ubuntu 正常显示、共享剪贴板、支持文件拖拽,需要安装一套"客户机工具"。很多人会下意识点 VMware 菜单里的"Install VMware Tools",然后开始光驱加载,但这条路在新版 Ubuntu 里已经不建议走。
原因在于,VMware 官方同时在维护一套开源版本open-vm-tools,它已经包含在 Ubuntu 软件源里,和 VMware 的专有版本功能基本一致,而且和 Ubuntu 内核的适配更及时。如果你把两套同时装上,反而可能出现服务冲突和重复驱动。
我的做法是直接执行:
sudo apt update sudo apt install -y open-vm-tools open-vm-tools-desktop装完以后重启虚拟机,分辨率会自动适配窗口大小,窗口拖多大系统分辨率就跟着变多大。
4.2 分辨率上不去和复制粘贴失效的解决方案
如果你装完 open-vm-tools 重启后分辨率还是上不去,先做两件事。
第一,确认 VMware 菜单里的"查看 → 自动调整大小"是开启状态,同时"虚拟机 → 设置 → 显示器"里 3D 加速和显存没问题。第二,检查内核模块是否加载成功:
systemctl status open-vm-tools状态应该是active (running)。如果显示模块加载失败,多半是内核升级后模块没自动重建,再执行一次sudo apt install --reinstall open-vm-tools open-vm-tools-desktop通常能解决。
复制粘贴和拖拽恢复的逻辑类似:这一套能力就来自 VMware Tools 提供的剪贴板同步进程。如果重启后还不能双向拖文件,可以再检查一下 VM 菜单里的"VMware Tools 状态"图标是否正常显示日期时间。另外注意,Linux 里拖拽放进去的文件权限默认是当前用户,如果你发现拖进去的文件打不开,大概率是权限问题,用sudo chmod调整一下即可。
4.3 共享文件夹配置与 vmhgfs-fuse 挂载
比拖拽文件更方便的,是让 Windows 和 Ubuntu 共享一个文件夹。VMware 的共享文件夹功能在 Linux 客户机里不是自动挂载的,需要手动挂一下。
先到"虚拟机 → 设置 → 选项 → 共享文件夹",启用并添加一个 Windows 目录。然后在 Ubuntu 里执行:
sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o uid=1000,gid=1000,allow_other之后 Windows 那个目录里的内容就会出现在/mnt/hgfs下。这里最常踩的坑是权限:如果不加uid=1000,gid=1000,挂载出来的目录虽然能看,但普通用户没有写入权限。想开机自动挂载,可以把它写进/etc/fstab:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other,uid=1000,gid=1000 0 0我个人强烈建议用共享文件夹代替拖拽,因为拖拽大文件经常卡进度条,而共享文件夹是 Win 和 Linux 之间的"局域网",两边操作起来自然得多。
5. 虚拟机联网与固定 IP:从 NAT 到 SSH 的全套配置
Ubuntu 装完默认通过 DHCP 获取到 VMware 分配的 IP,能上网。但如果你后续要 SSH 登录虚拟机、搭开发环境,动态 IP 不够用——虚拟机重启后 IP 变了,你的 SSH 配置就失效了。所以这节值得认真看。
5.1 NAT 是最稳的默认方案
VMware 新建虚拟机默认网络连接是 NAT。简单理解 NAT,就是虚拟机通过宿主机作为"网关"上网,对外是一台宿主机,虚拟机有自己独立的私有 IP。这是我最推荐的默认方案,原因有三点:不需要宿主机和虚拟机在同一网段也能上网;宿主机断网虚拟机也连不了外网;外部设备默认访问不到虚拟机,安全省心。
你可以在"虚拟机 → 设置 → 网络适配器"里看到网络连接模式,保持 NAT 即可。
5.2 桥接模式适合什么场景
如果你想让自己电脑和虚拟机互相用局域网 IP 直连,比如在虚拟机里跑个网站,局域网里其他手机或电脑也要访问它,这时才用桥接模式。桥接相当于让虚拟机成为局域网里的一台独立设备,直接占用和宿主机同一个子网的 IP。
但桥接模式的坑在于:如果宿主机的网络环境有客户端隔离(常见于办公 Wi-Fi 或访客网络),虚拟机可能拿到 IP 但上不了网。另外桥接模式要求宿主机网络环境有 DHCP 给虚拟机分配 IP,如果你的路由器关了 DHCP,就要手动指定空闲 IP。所以新手没有特殊需求,别急着切桥接。
5.3 固定 IP:用 Netplan 还是图形设置
给 NAT 模式的虚拟机配固定 IP,需要先知道 VMware 的 NAT 网段和网关。在宿主机 VMware 里打开"编辑 → 虚拟网络编辑器",选中 VMnet8 NAT 模式,看右侧的"子网 IP"和"网关 IP"。默认网关通常是192.168.xxx.2,子网掩码是255.255.255.0。
在 Ubuntu 桌面版里,最不容易出错的固定 IP 方式不是改网络配置文件,而是用图形界面:打开"设置 → 网络",点击已连网的那个网卡右侧的齿轮图标,进入 IPv4 选项卡,把方式从"自动(DHCP)"改为"手动",填 IP 地址、子网掩码(如255.255.255.0)、网关,DNS 可以填网关 IP 也可以填公共 DNS 如223.5.5.5。关闭再重开一次网络开关就生效。
如果你用的是 Ubuntu Server 版,则用 Netplan 配置。先查看网卡名:
ip a通常是ens33或ens32,然后修改/etc/netplan/下的 yaml 文件,示例:
network: version: 2 ethernets: ens33: dhcp4: false addresses: - 192.168.xxx.100/24 routes: - to: default via: 192.168.xxx.2 nameservers: addresses: - 192.168.xxx.2 - 223.5.5.5改完后执行sudo netplan apply。注意 yaml 文件的缩进不能错,错一个空格配置就不生效。桌面版如果发现 netplan 改完网络没反应,多半是 NetworkManager 在接管,图形界面改才是对的路子,别跟它硬刚。
6. 中文输入法配置:Ubuntu 桌面不想一小时就放弃就看完这里
装完 Ubuntu 桌面版后,很多人第一件事就是找中文输入法,然后在高频词里搜出一堆"Ubuntu 中文输入法怎么设置""ubuntu 搜狗输入法"之类的问题。我很清楚大家卡在哪一步,所以这一节专门讲。
6.1 语言支持没装全,输入法永远是虚的
一个常见误区:以为装上输入法框架和输入法就完事了。实际上如果系统语言包不完整,输入法候选框和界面经常出现乱码或异常。最先要做的是把中文语言支持装上。
打开"设置 → 系统 → 区域与语言",语言列表里添加"汉语(中国)",系统会提示语言支持不完整,点击"安装语言支持"并应用。这个过程会下载大量语言包。装完后把汉语拖动到列表顶部,注销后重新登录,系统菜单部分才会变成中文。这一步是中文输入法能稳定工作的前提。
6.2 fcitx5 配置的全过程
Ubuntu 24.04 默认桌面环境是 GNOME 配合 IBus 输入法框架。GNOME 自带的"智能拼音"输入法在虚拟机里偶发候选词错乱、切换不跟手,所以我通常把输入法框架换成 fcitx5,它是目前 Linux 下最省心的中文输入方案。
安装很简单:
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qt安装完成后,用im-config把默认输入法框架切成 fcitx5:
im-config -n fcitx5然后注销重新登录。如果你想环境变量也设置到位,可以把下面这几行写入/etc/environment:
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx重启后按Ctrl+空格或Ctrl+Shift应该就能呼出拼音输入法。fcitx5 自带配置工具,可以调整候选词数量、皮肤等。实测下来 Wayland 会话下 fcitx5 工作稳定,没有多余的弹窗和候选框错位问题。
6.3 关于搜狗输入法和 IBus 的取舍
热搜丧志词里"Ubuntu 安装搜狗输入法"出现频率很高,我理解很多 Windows 用户切过来时搜狗是肌肉记忆。但以 24.04 的现状,我明确不建议在虚拟机里装搜狗 Linux 版。搜狗的 Linux 版基于旧版 fcitx4,在 Ubuntu 22.04 之后已经出现明显的维护滞后,表现为:图标消失、候选框不跟随、有时直接进程崩溃。与其和它搏斗,不如用 fcitx5 的原生拼音,花了 10 分钟习惯后,日常输入体验差别不大。
IBus 框架和 GNOME 自带的智能拼音也不是完全不能用。如果你不想折腾,只把中文语言包装全,然后在"设置 → 键盘 → 输入源 → 添加输入源"里选择"汉语(智能拼音)",也能正常打字。差别主要在候选词排序和快捷键切换的手感上。我的建议是:先试试系统自带,玩不顺再切 fcitx5。
7. 高频故障处理:卡顿、忘密码、SSH 失败、USB 识别异常的实战排错
最后这部分是日常使用中最容易碰见的问题,我按实际操作里排查的顺序写。每一类问题都直接给出根因和解决路径。
7.1 Win11 宿主机卡顿与 VMware 启动失败的根本原因
Win11 上跑 VMware,最常见的两类症状:一是加载虚拟机时宿主机鼠标键盘全部卡顿,二是 VMware 提示"由于 Hyper-V 正在运行,无法启动虚拟机"。
先说启动失败。VMware Workstation 和 Windows 自带的 Hyper-V 都要使用 CPU 的虚拟化能力。Windows 开启 Hyper-V 后,VMware 要么拒绝启动,要么运行在兼容模式,速度大打折扣。你可以在"控制面板 → 程序 → 启用或关闭 Windows 功能"里,取消勾选 Hyper-V 相关项,重启后再试。
卡顿的隐藏来源是 Win11 的内核隔离和内存完整性。这个安全功能会引入虚拟化层,额外占用 CPU 资源,让 VMware 的虚拟机整体响应下降。打开"Windows 安全中心 → 设备安全性 → 内核隔离详情",关闭"内存完整性",重启。对日常跑虚拟机的机器来说,这个安全特性和性能之间的取舍,我选择性能。
有一点必须说清楚:关闭 Hyper-V 会影响 WSL2。如果你同时在用 WSL2,需要权衡优先保哪个。开发机如果以 WSL2 为主,不推荐强行关 Hyper-V;但如果你想认真跑 VMware 虚拟机,或者发现 VM 内 CPU 占有率异常,就得考虑关掉。
7.2 忘记 Ubuntu 登录密码的恢复流程
这个热搜词我很意外,但又在意料之中。虚拟机装完放着不管,密码一周就想不起来是常事。好在这个问题在虚拟机里很好解决。
启动到 GRUB 引导界面时,快速按Shift键呼出菜单(UEFI 模式有时要按Esc),选择"Advanced options for Ubuntu",然后选带(recovery mode)的内核条目。进入恢复菜单后,选"root Drop to root shell prompt"。如果提示文件系统只读,先执行:
mount -o remount,rw /然后重置密码:
passwd 你的用户名按提示输入两次新密码,回到恢复菜单选"Resume",正常启动后用新密码登录即可。这个方法针对的是你自己创建的账户,不是 root;Ubuntu 默认 root 密码是锁定的,不需要特意改。
顺带提醒一句:因为恢复模式能直接改密码,所以虚拟机密码丢了不是大事,物理机如果开了磁盘加密就要复杂得多。这一点恰恰是虚拟机容错体验好的地方。
7.3 SSH 连接失败排查链路
热搜词里"ubuntu ssh 无法连接"和"ubuntu ssh 无法连接"出现频率都不低。做虚拟机开发的人,十有八九会想在宿主机上用 SSH 连进虚拟机,但第一次连不上很容易干着急。
排查链路按顺序走:第一步,虚拟机里确认ssh服务是否安装并且在跑:
sudo apt install openssh-server systemctl status ssh第二步,确认虚拟机 IP。执行ip a,找到网卡对应 IP,在宿主机里先ping一下。如果 ping 不同,多半是网络模式问题,回到第 5 节检查。
第三步,看防火墙。Ubuntu 桌面通常默认没启用 ufw,但以防万一执行sudo ufw status,如果状态是 active,就执行sudo ufw allow ssh放行 22 端口。
确认前三步后,宿主机执行ssh 用户名@虚拟机IP。如果还是失败,检查宿主机是否有第三方安全软件拦截了 VMnet8 网段的流量,这种场景在企业笔记本上比较常见。
7.4 USB 设备连接与 usbfs 缓冲问题
连接手机、单片机这类 USB 设备到虚拟机,通常直接在 VMware 菜单"虚拟机 → 可移动设备"里勾选对应设备即可。但有些用户会碰到虚拟机里报类似"USB 设备无法连接,usbfs 缓冲大小不足"的提示。
这个问题本质上是 Linux 对 USBFS 内核缓冲区的限制。新版内核大多已经把缓冲调得很大,不需要你去改;如果确实遇到这个报错,可以在虚拟机里临时调整一下内核参数:
sudo sysctl -w usbcore.usbfs_memory_mb=1024想永久生效,就把它写入/etc/sysctl.conf。不过说实话,在 24.04 上我几乎没有再遇到需要用这个参数的场景了。USB 设备连不上的情况,更多是宿主机层没有把设备接入虚拟机——重点是先在 VMware 菜单里正确选择设备,把"连接"勾上而不是只看到设备名。
我自己这套 VMware 加 Ubuntu 24.04 的虚拟机已经连续跑了好几个月,从日常笔记到编译、容器实验都在里面做。整套配置的关键就一句话:先用对的版本和参数把它装干净,后面所有折腾都建立在稳的地基上。这篇文章里每一个选择我都是用过之后才敢写出来,照着走也许不能让你一次都不踩坑,但至少能保证你踩的坑都在可控范围内。回头要是遇到什么没覆盖到的问题,先拆出"宿主机、虚拟机、网络模式"这三层去定位,八成能自己找到答案。