刚开始学Linux那阵子,身边十个朋友里八个都在“双系统还是虚拟机”之间反复横跳。我也是其中之一,怕双系统把Windows引导搞坏,又怕虚拟机里卡成幻灯片。后来用VMware Workstation装Ubuntu的次数多了,才发现这套组合只要参数给得合理,日常编译、敲命令、做实验都相当顺。这篇文章把我在VMware Workstation里装Ubuntu的全过程写一遍,从虚拟机软件的下载与许可证密钥处理、Ubuntu镜像的选择,到虚拟机创建时的参数逻辑、安装步骤和装完后的初始化配置,一次说透。适合从没碰过虚拟机的新手,也适合已经装过但总出各种奇怪问题、想系统排查一遍的老手。
1. 为什么建议先装虚拟机而不是双系统
1.1 双系统到底麻烦在哪
很多人第一次接触Linux,想到的都是双系统:装个引导菜单,开机时选Windows还是Ubuntu。但实际用起来你会发现,最大的问题不是安装,是切换。我在公司电脑上装过一阵双系统,后来实在受不了:想查一句命令,得先重启;编译到一半如果切回Windows查资料,还得等关机再开机。折腾几次之后,学习的热情基本就被消磨没了。
另一方面,双系统安装本身就是个不小的坎。改EFI引导、分区调整、驱动兼容,任何一个环节出问题都可能导致Windows进不去。对新手来说,修引导的难度比重新装系统还高。后来重装Windows时还得先清理Linux分区,又是一轮折腾。所以除非你特别明确“我就是要长期常住Linux,对性能有硬要求”,否则我不太推荐一上来就搞双系统。
1.2 虚拟机能覆盖哪些真实需求
我把身边人拿VMware跑Ubuntu的用途捋了一下,基本是这几类:
- 学习Linux命令行和系统管理:不需要高性能,开个终端就能练,跟在真机上差别不大
- 跑课程实验和测试:数据库、Web服务、编译原理实验,虚拟机性能完全扛得住
- 尝鲜新系统:今天装Ubuntu 24.04,明天试Fedora,玩坏了删掉重来,毫无心理负担
- 跑一些有环境洁癖的工具链:比如某个项目依赖的库和宿主机冲突,丢进虚拟机里隔离就清净了
虚拟机最值钱的一个功能是快照。装完系统拍一张快照,后面乱折腾把系统弄崩了,几分钟就能回到原来的健康状态,这个体验双系统给不了。当然,虚拟机也有短板:3D性能受限,大型游戏和桌面级渲染基本没法跑;对USB设备直通的支持也没实体机直接,做嵌入式开发、连特殊调试器,最终往往还是得回归裸机。但学习阶段,它的性价比是最高的。
1.3 为什么我选VMware而不是VirtualBox
VirtualBox也是个不错的免费选项,但它对新手不算特别友好。USB直通要装扩展包,拖拽文件偶尔失灵,显示驱动有时候莫名其妙的黑屏,虚拟机的配置项也藏得很深。相比之下,VMware Workstation的交互流程、鼠标键盘输入、剪贴板共享、显示适配都调校得更顺滑,安装过程也傻瓜化。
再加上VMware Workstation Pro 17现在对个人用户免费,许可证这块也不用愁,后面我会专门讲。所以综合稳定性、上手成本、许可证获取这三个维度,VMware加Ubuntu是我目前最推荐给新手的组合。
2. VMware Workstation安装与许可证:先弄懂版本策略再动手
2.1 Player和Pro怎么选
VMware Workstation目前有两个主要版本:Player和Pro。Player是免费简化版,只能运行别人创建好的虚拟机,不能创建复杂虚拟机,也没有快照、克隆这类高级功能。Pro版功能完整,创建虚拟机、快照、克隆、高级网络配置全都有。
以前Pro需要购买授权,但在被Broadcom收购之后,从17.x版本开始对个人用户提供免费许可。所以现在直接装Pro就行,别在Player上浪费时间。
| 功能 | Workstation Player | Workstation Pro |
|---|---|---|
| 创建虚拟机 | 不支持 | 支持 |
| 快照 | 不支持 | 支持 |
| 克隆 | 不支持 | 支持 |
| 高级网络设置 | 有限 | 完整 |
| 个人使用许可 | 免费 | 免费 |
| 商业使用 | 需购买授权 | 需购买授权 |
2.2 下载与安装的几个注意点
下载渠道建议直接去VMware官网或者Broadcom支持门户,搜索“VMware Workstation Pro download”,选Windows版本。文件名一般是VMware-workstation-full-17.x.x-xxxxxx.exe,注意带full后缀,这是完整安装包。
安装过程大部分就是“下一步下一步”,但有几个地方我会手动处理:
- 安装路径不要带中文,放到一个空间充足的盘。虚拟机文件之后会非常占空间,C盘紧张的话建议一步到位装到D盘或E盘
- 取消勾选“加入VMware客户体验提升计划”,没必要给自己添乱
- 如果提示需要重启,那就先重启再继续安装,别图快跳过
还有一个高频问题:装到一半提示缺少Microsoft Visual C++ 2019 Redistributable。这不是VMware坏了,是Windows缺VC++运行库。去微软官方下载vc_redist.x64.exe装一遍,再重新运行VMware安装包就能顺利过去。
2.3 许可证密钥到底从哪来
这是很多人最关心的话题。先说结论:Workstation Pro 17对个人用户免费,完全没必要去搜网上那些来路不明的密钥,那些大多是旧版本的许可证,装到新版里根本识别不了,还有捆绑恶意软件的风险。
正确的许可证获取方式是这样:
- 注册一个Broadcom支持门户账号(support.broadcom.com),登录后进入Downloads页面
- 搜索VMware Workstation Pro,选择“Personal Use”,也就是个人使用授权
- 下载Windows版安装包,同时页面里会提供个人许可证密钥
- 安装完成后打开VMware Workstation,点菜单栏“帮助”里的“许可证”,输入拿到的个人许可证密钥
需要提醒一句:个人免费许可只覆盖日常个人学习、实验、开发场景。如果你是公司内部使用,哪怕只是自己笔记本上跑虚拟机做公司项目,也需要确认公司是否有对应的商业授权。这一点在官方条款里写得很清楚。
如果你之前用的是老版本,比如16或者15,最好升级到17,因为个人免费政策只在17系及以后版本生效。装完打开如果提示输入许可证,或者显示30天试用期,不要慌,按上面流程获取官方个人许可证输入进去,就会变成完整功能版。
2.4 安装后第一次启动
首次启动,VMware会提示接受用户协议,还会问你同不同意产品更新和加入体验计划。我的建议是:更新可以开,但体验计划取消,减少后台打扰。主界面左边是虚拟机库,右边是创建虚拟机入口,现在还是一张白纸。接下来就是真正干活的时候了。
3. 新建虚拟机时的参数分配逻辑:CPU、内存、磁盘、网络
3.1 动手之前先想清楚用途
我见过不少新手,建虚拟机时一路默认点到底,装完系统发现性能很差,或者磁盘20GB没两天就满了。虚拟机的资源配置不是越大越好,得看宿主机有多少余量,也得看这台虚拟机到底拿来干什么。
给一个可以直接抄的参考表:
| 用途 | CPU | 内存 | 磁盘 |
|---|---|---|---|
| 学习Linux基础命令 | 2核 | 4GB | 40GB |
| 跑开发环境/编译 | 4核 | 8GB | 60GB |
| 数据库/多服务测试 | 4核 | 8~12GB | 80GB |
这里有个经验法则:虚拟机分配的内存总和不要超过物理机内存的一半,CPU逻辑核心总和也不要超过物理机逻辑核心的一半。比如你的电脑是16GB内存、8核处理器,那虚拟机最多给8GB内存、4个核心。因为宿主机自己还要跑Windows、浏览器、IDE,如果全分给虚拟机,两边都卡。
3.2 向导里每个选项怎么填
新建虚拟机时选“典型”模式就够了,不用进“自定义(高级)”。几个关键选项我逐个说:
- 安装介质来源:选“稍后安装操作系统”。很多人习惯直接选ISO文件,但这样VMware会启用简易安装模式,虽然省事,却少了自己控制安装过程的机会。我建议先把ISO放一放,后续手动挂载引导,这样对每一步发生什么心里都有数
- 客户机操作系统:选Linux,版本选Ubuntu 64位
- 虚拟机名称和位置:名称写清楚,比如Ubuntu-24.04-Dev,位置放到空间充足的盘
- 处理器配置:处理器数量设1,每个处理器的核心数设2或4。有一个很多人搞混的点:处理器数量乘以内核数量才是虚拟机看到的总CPU数。一般用1颗多核处理器就好,没必要搞多路CPU,有些客户机系统对多路处理器支持反而容易出问题
- 内存:建议不低于4GB。Ubuntu桌面版2GB内存会卡到怀疑人生,开个浏览器就基本不动了
- 网络类型:NAT,后面详解
- I/O控制器和磁盘类型:保持默认就行,VMware 17里默认就是NVMe,读写速度比老的IDE方式好不少
- 虚拟磁盘:容量按上面的参考表来,勾选“将虚拟磁盘存储为单个文件”
3.3 网络模式为什么默认选NAT
NAT模式做的事是:虚拟机通过宿主机共享IP上网,外部设备看不到这台虚拟机,也访问不进来。这对绝大多数学习场景完全够用,而且零配置,不用改任何网络设置。
桥接模式则是让虚拟机像一台独立的电脑一样接入局域网,别人可以访问它的服务,适合做服务器实验、内网联调。但桥接依赖宿主机网络环境,公司Wi-Fi或者校园网环境下,偶尔会遇到迟迟拿不到IP的情况。
仅主机模式是完全隔离的网络,虚拟机之间可以互通,但和外网不通,适合做恶意软件分析或者隔离测试。新手就老实选NAT,后面需要了再换,VMware的网络模式随时可以改。
3.4 关于BIOS和UEFI的选择
虚拟机固件类型默认是BIOS或UEFI,具体看VMware版本,这个不用太纠结。Linux对两者都支持得很好。只要记住一点:如果是普通学习用途,选BIOS兼容性更稳,出问题的概率更低;如果你有安全启动验证之类的特殊需求,再考虑UEFI。安装过程中如果看到“此虚拟机已启用UEFI安全启动”之类的提示,不懂就保持默认,别乱改。
3.5 先在虚拟机设置里挂载ISO
创建完虚拟机之后,右键虚拟机,选“设置”,在CD/DVD(SATA)那一栏里,选择“使用ISO映像文件”,浏览到下载好的Ubuntu ISO,确认勾选了“启动时连接”。这一步的逻辑很简单:虚拟机的光驱里得有系统镜像,开机才能引导进入安装程序。如果你把ISO留着没删,后面重装修复也方便。
4. Ubuntu安装全流程实录:从镜像引导到首次登录
4.1 镜像下载:LTS版本优先
Ubuntu官网提供desktop版和server版两个镜像。新手学系统用desktop,它有图形界面,上手门槛低。版本方面认准LTS(长期支持版),比如现在主流的22.04 LTS和24.04 LTS。LTS的官方维护时间长达五年,遇到问题教程也好搜。
下载建议走国内镜像站,比如清华TUNA镜像、阿里云镜像,速度比Ubuntu官网快很多。搜“Ubuntu清华源”或者直接进mirrors.tuna.tsinghua.edu.cn,找ubuntu-releases目录,选对应版本的ISO文件。下载完看一眼文件大小,desktop版一般在4到6GB左右,如果只有几百KB,那肯定是下载中断了,别急着安装。
4.2 引导安装与初始选项
启动虚拟机,进入GRUB菜单,选“Try or Install Ubuntu”。如果你挂了ISO但发现还是进了别的界面,可以重启虚拟机,按F2进虚拟机的BIOS设置,确认光驱引导顺序排在最前,VMware一般会自动处理,不用太担心。
进入安装界面后,先选语言,中文或英文都行。我个人习惯选英文,因为后面终端里的报错和日志在英文环境下更好搜索,但新手选中文也完全没问题。
接着是键盘布局,默认English(US)就好。到“更新和其他软件”这一步,建议选“最小安装”,同时把“为图形或无线硬件安装第三方软件”和“在安装时下载更新”这两个勾选项都去掉。理由很简单:最小安装省时间,装完按需补软件;安装时下载更新会让整个过程慢很多,还容易因为网络波动卡死。系统装完再统一更新,效率反而高。
4.3 磁盘分区:新手就直接“清除整个磁盘”
安装类型里有两个选项很容易让人慌:“清除整个磁盘并安装Ubuntu”和“手动分区”。这里我要特别强调:这个“清除整个磁盘”指的是清除虚拟磁盘,而不是物理机硬盘。虚拟磁盘本质上就是一个文件,清掉也只是清掉这个文件里的内容,跟你的Windows系统、个人照片一点关系都没有。所以放心选第一项。
如果你想用LVM卷管理或者做细粒度分区,那是后面进阶的事情。新手第一步就走自动分区,Ubuntu会自动分配EFI分区、根分区、swap分区,不用你操心。
另外,安装类型里那个“加密整个磁盘”选项,在虚拟机里不建议开。它要求每次启动都输入加密口令,对虚拟机环境来说除了增加麻烦,没什么额外收益。物理机上加密有意义,虚拟机里还是省点事比较好。
确认之后系统开始复制文件,这一步的时间和磁盘性能有关,可以趁等待的时间准备一下用户名和密码。
4.4 创建用户
安装过程中会让你设置电脑名称、用户名和密码。用户名建议用全小写字母,不要带空格,以后敲命令方便,因为主目录路径会以用户名为名,比如/home/ubuntu。密码设成自己记得住但别太简单的。是否选择“自动登录”,我建议不选,输密码进桌面更安全,也能防止虚拟机被别人随手打开。
设置完继续,进度条跑完会提示“安装完成,请移除安装介质后重启”。这一步有个容易踩的坑:重启前最好到虚拟机设置里,把CD/DVD的“启动时连接”取消勾选,或者改成“使用物理驱动器”。否则重启后虚拟机又会从ISO引导,再次进入安装界面,看起来就像系统没装好,其实是引导介质没去掉。
4.5 首次登录后的第一轮更新
重启进入桌面,第一件事不是装软件,而是开终端更新系统。Ctrl+Alt+T打开终端,执行:
sudo apt update sudo apt upgrade -y第一条命令是刷新软件包索引,第二条是把所有已安装软件升级到软件源里的最新版本。这一步能把安装介质里带的老版本软件包升上去,避免后续装软件时出现依赖版本冲突。更新过程可能比较久,如果中间网络卡了,再执行一遍sudo apt update继续跑就行。
5. 系统装完别急着用:open-vm-tools、软件源、中文输入法三件套
5.1 最优先处理的是open-vm-tools
进桌面后如果感觉鼠标不太跟手,窗口分辨率怎么拉都不变,那基本就是缺open-vm-tools。这个工具集负责和VMware交互,包括剪贴板共享、拖拽文件、分辨率自适应、鼠标无缝进出虚拟机,属于虚拟机环境里的“基础设施”。
新版Ubuntu在安装时可能已经自带,可以先检查一下:
dpkg -l | grep open-vm-tools如果输出里有open-vm-tools-desktop,说明已经装了。没装的话执行:
sudo apt install open-vm-tools open-vm-tools-desktop这里要特别强调一个常见误区:不要在VMware菜单里点“虚拟机 -> 安装VMware Tools”。这个操作会挂载一个老版的VMware Tools ISO,装进去之后很容易和系统自带的open-vm-tools冲突,最后出现那个非常经典的报错“继续运行脚本未能在虚拟机中成功运行”。我在下一章专门说怎么处理这个报错,但最好的办法是从一开始就不去踩。
open-vm-tools装完,建议重启一次,然后在虚拟机菜单里选“查看 -> 自动调整大小 -> 自动适应客户机”,分辨率就能跟着窗口走了。
提示:如果你用的是Ubuntu 22.04及之后的版本,优先通过apt安装open-vm-tools,而不是用VMware自带的tools镜像。这是目前兼容性最好的方式。
5.2 换软件源:国内下载速度翻倍的关键
Ubuntu默认的软件源是archive.ubuntu.com,服务器在国外,更新软件时经常几十KB/s甚至直接超时。换成国内镜像站之后,速度能跑到几MB/s。最常用的镜像站有清华TUNA、阿里云、中科大,选哪个都行,我习惯用清华源。
Ubuntu 24.04之后的源配置文件位置和旧版不一样,要分开处理:
- 22.04及更早版本:文件是/etc/apt/sources.list
- 24.04及更新版本:文件是/etc/apt/sources.list.d/ubuntu.sources
24.04的切换命令:
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak sudo sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources sudo sed -i 's|http://security.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources sudo apt update22.04及更早版本的切换命令:
sudo sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g' /etc/apt/sources.list sudo sed -i 's|http://security.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g' /etc/apt/sources.list sudo apt update命令里的“|”作为sed的分隔符,是为了避开URL里的斜杠,避免转义出错。执行完sudo apt update不报错,说明源就换成功了。之后装任何软件都能感受到明显的速度差异。
5.3 中文输入法:先用系统自带,别急着上搜狗
不少人在虚拟机里装中文输入法栽了跟头。搜狗输入法Linux版依赖fcitx框架,配置步骤多,还经常遇到Qt程序无法输入中文的坑。如果你只是想能打中文,Ubuntu自带的IBus智能拼音已经够用了。
配置路径在设置里的“键盘”或者“系统 -> 区域与语言”,不同版本菜单位置略有差异,核心思路是找到“输入源”,点加号搜索“汉语”,添加“智能拼音”或“中文(Intelligent Pinyin)”。切换输入法的快捷键默认是Super+空格,也就是Windows键加空格,也可以自己改成Ctrl+空格。
一定要用搜狗的话,方案是先装fcitx,再安装搜狗Linux版deb包,配置环境变量,注销重新登录。这个过程我建议等你对系统熟悉了再折腾,别在上手第一天就被输入法劝退。我身边不少人的虚拟机其实就一直用系统自带输入法,完全没耽误干活。
5.4 打一个快照:虚拟机最有价值的习惯
环境配置好之后,记得给虚拟机拍个快照。操作位置:VMware菜单栏“虚拟机 -> 快照 -> 拍摄快照”,名字写“初始化完成”。
快照相当于瞬间记录下这个时刻磁盘和内存的状态。以后装软件装崩了、改配置改坏了,直接“恢复快照”就能把系统拉回这个健康状态。我这个习惯是踩过很多次坑之后养成的,现在我几乎每完成一个稳定阶段就拍一张快照,硬盘空间换省心,非常值。尤其是你后面想折腾Docker、编译工具链这类容易引入依赖冲突的东西,快照就是后悔药。
6. 我踩过的高频坑:SSH不通、分辨率不缩放、Tools脚本报错
6.1 SSH无法连接:先分清是网络不通还是服务没开
这是我被问过最多的问题之一。虚拟机里SSH服务装好了,从宿主机连却连不上,报超时或者拒绝连接。按下面的顺序排查,基本都是十分钟内解决:
| 排查点 | 命令/操作 | 期望结果 |
|---|---|---|
| 网络连通性 | 虚拟机里执行ping www.baidu.com | 有回包 |
| SSH服务运行状态 | systemctl status ssh | active (running) |
| 端口监听 | ss -tlnp | grep 22 | 显示sshd监听 |
| 防火墙 | sudo ufw status | inactive |
| 宿主机虚拟网卡 | 检查VMnet8是否被禁用 | 已启用 |
具体说几个容易中招的细节:
第一,Ubuntu Server版镜像默认根本没装openssh-server,需要手动装:
sudo apt install openssh-server sudo systemctl enable --now ssh第二,有些安全加固过的系统会把PasswordAuthentication设成no,导致密码登录被拒绝。改一下/etc/ssh/sshd_config里的配置,重启ssh服务:
sudo systemctl restart ssh第三,宿主机侧的VMware Network Adapter VMnet8虚拟网卡如果被禁用了,NAT模式下宿主机和虚拟机之间的通信就会断。去Windows的“网络连接”里确认VMnet8是启用状态。
6.2 屏幕分辨率不随窗口自动缩放
症状是点了“自动适应客户机”,Ubuntu桌面还是固定在一个分辨率不动。原因基本是缺open-vm-tools-desktop或者显示驱动没装全。处理方式:
sudo apt install open-vm-tools open-vm-tools-desktop xserver-xorg-video-vmware重启虚拟机,再点“查看 -> 自动调整大小 -> 自动适应客户机”。如果还不行,看看虚拟机设置里的显示器分辨率是否被手动指定了,改成“自动检测”试试。
这个坑在Ubuntu 22.04上尤其容易出现,因为默认会话已经转向Wayland,分辨率自适应有时会延迟几秒才生效,不是一进桌面马上变,等一等再判断是不是真坏了。
6.3 “继续运行脚本未能在虚拟机中成功运行”到底怎么解
这个报错踩的人非常多。它的本质是VMware Tools脚本执行失败,最常见的场景是:系统里已经装了open-vm-tools,你又从VMware菜单挂载ISO装了一份老版VMware Tools,两部分互相抢权限,脚本自然跑不起来。
处理思路是统一工具来源,不要混装。如果你用的是系统自带的open-vm-tools,就把VMware老版Tools卸掉。如果原来是用tar包手动安装的,可以执行:
/usr/bin/vmware-uninstall-tools.pl然后重新装open-vm-tools:
sudo apt install --reinstall open-vm-tools open-vm-tools-desktop如果反过来,你想保留VMware官方tools,那就先卸载open-vm-tools,再挂载VMware Tools ISO重装。但我的建议是尽量用open-vm-tools,因为它是Linux发行版自己维护的,和内核版本的匹配度更好,升级内核后不会出现驱动跟不上的情况。
这个报错还有一个可能性是内核头文件缺失,导致脚本编译模块失败。安装匹配的内核头文件再运行脚本就好了:
sudo apt install linux-headers-$(uname -r)6.4 开机提示“文件锁定”或内存不足
文件锁定一般是虚拟机没正常关闭,vmware-vmx.exe进程还占着虚拟磁盘文件。处理办法:打开任务管理器,把所有vmware-vmx.exe进程结束掉,再重新打开虚拟机。如果你乱开过同一个虚拟机的多个副本,或者从外部直接copy了虚拟机文件夹到另一台电脑上,也容易出现这个提示。
内存不足就好理解了:宿主机本身内存吃紧,虚拟机分配的内存又比较多。如果只是临时启动,先把虚拟机设置里的内存调小到2GB,启动之后再调回去;长期用的话,要么加物理内存,要么别同时开太多虚拟机。
6.5 环境变量改错导致命令全没了怎么办
这个坑遇到一次就能记住一辈子。有人照着教程编辑~/.bashrc,结果写错了,把PATH整个覆盖掉,新开的终端里连ls、sudo都用不了。其实没那么可怕,因为export是shell内建命令,不依赖PATH也能执行。直接在终端输入:
export PATH=/usr/bin:/bin命令就都回来了。然后再打开~/.bashrc,把错误配置改回来,重新source一下即可。这个经验比较冷门,但遇到一次能省掉整个重装系统的时间。
最后再分享一个我自己的习惯:不要在~/.bashrc里堆太多自定义内容,把需要的东西写进一个独立的配置文件,比如~/.bash_aliases,再用source引入。这样即使写错了,也不会把整个shell搞崩溃。说到底,VMware加Ubuntu这套环境最大的价值,就是让你在随便折腾之后还能低成本回到原点。快照、镜像、干净的初始状态,这些才是虚拟机比物理机香的地方。