ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VMware虚拟机安装Ubuntu 22.04 LTS完整教程与避坑指南

VMware虚拟机安装Ubuntu 22.04 LTS完整教程与避坑指南 1. 为什么大家都在 VMware 里装 Ubuntu 22.04 LTS说个我上周刚碰到的事一位同事想体验 Ubuntu又舍不得把主力 Windows 电脑折腾成双系统最后选了 VMware 虚拟机装 Ubuntu 22.04 LTS。这个选择其实很典型因为 Ubuntu 22.04 LTS 加上 VMware 的组合几乎覆盖了刚入门 Linux、做嵌入式开发、跑服务器服务和测试开源项目这些最常见的需求场景。很多人搜“ubuntu 22.04 lts 安装步骤vmware”核心诉求不是想研究系统原理而是想快速、稳妥地在虚拟化环境里跑起一套完整的 Linux 系统并且装完就能干活。这篇文章我会把从下载镜像到安装完成的完整流程以及装完之后的常用收尾配置全部过一遍。按照我的经验看完照着操作一次成功的概率很高。1.1 这个组合到底解决什么问题装 Linux 常见的路子有三条双系统、整机安装、虚拟机。双系统最接近真实硬件性能但每次切换都要重启而且分区操作一旦失误可能影响原系统。整机安装适合有专门测试机的场景普通用户没必要冒这个风险。虚拟机的好处是你随时可以新建一台“电脑”不用了直接删掉甚至删掉之前还能拍快照折腾坏了几秒就能回到之前的状态。VMware Workstation 在虚拟机软件里属于成熟稳定的一类Windows 和 Linux 主机都能运行。它和 Ubuntu 22.04 LTS 的组合我用了很多年最直观的感受是“静默”装好 open-vm-tools 之后分辨率自动适配、鼠标自由进出、剪贴板共享体感接近一个普通桌面软件。它特别适合以下场景想学 Linux 基础知识又不想影响宿主机的日常使用。需要复现 Python、C/C、Go、嵌入式工具链等跨平台开发环境。跑 Ubuntu Server 服务做实验比如 Docker、数据库、消息队列。公司配发的电脑不方便重装系统但开发环境又需要 Linux。1.2 版本选型LTS 反而比尝鲜版更适合干活Ubuntu 每六个月发布一个中间版本比如 23.04、23.10这些版本只支持九个月适合尝鲜不适合长期干活。带 LTS 标识的版本属于长期支持版本Ubuntu 22.04 LTS 的代号是 Jammy Jellyfish官方支持周期很长标准支持到 2027 年还支持扩展安全维护。很多开发工具在 22.04 LTS 上经过了长时间验证教程和社区资料也最齐全。比如嵌入式开发常用的 Zephyr、OpenOCD、CMake以及 Python 生态里的 NumPy、PyTorch在 22.04 上的安装过程几乎不会遇见版本不兼容的问题。相比之下盲目追求新版本反而容易踩坑。另外很多云服务器镜像、容器镜像都是从 22.04 LTS 构建的你在虚拟机里的环境越接近生产环境后面部署到服务器时就越省心。所以我一直建议初学者优先选 22.04 LTS而不是看到官网有更新的 24.04 LTS 就无脑下载。2. 装机前的准备清单版本、镜像和资源规划2.1 VMware Workstation 的版本怎么选VMware Workstation 目前大多数人在用的是 Workstation Pro 17。如果你手上是旧版本比如 15、16也不是不能用但我建议直接用 17原因是它对新硬件和 Windows 10/11 的兼容性更好安装 Ubuntu 22.04 时的默认配置也更合理。有个常见误区有人以为 Workstation Pro 必须找付费密钥才能用。实际上对于个人用户VMware 官网现在提供了免费的个人使用许可安装后输入许可即可正常使用。你不需要去找乱七八糟的激活工具从官网下载安装包核对安装步骤然后在程序里按提示完成个人授权就行这样既安全又省心。如果你的 VMware 启动时报“需要 VMware install disk 上的文件 .dll”这类错误通常不是 Ubuntu 安装的问题而是 VMware 自身安装文件损坏或系统缺少 VC 运行库。解决办法是重新运行 VMware 安装程序选择“修复”安装或者安装对应的 Visual C Redistributable 包之后再继续。2.2 Ubuntu 22.04 镜像的下载与校验Ubuntu 官方镜像地址是 ubuntu.com/download/desktop进去后选择 Ubuntu 22.04 LTS下载桌面版 ISO。如果你的网络访问官方下载慢可以使用国内高校或云厂商的镜像站常见的有清华 TUNA 镜像、中科大镜像、阿里云镜像。这些镜像站会同步 Ubuntu 官方版本选择其中一个能明显提高下载速度。下载时要注意架构绝大多数电脑选 amd64 即可除非你用的是非常老的 32 位硬件。文件名中类似ubuntu-22.04.4-desktop-amd64.iso这样的完整版本号会随补丁更新变化不影响安装逻辑。下载完之后不要急着双击安装建议做一次 SHA256 校验。镜像站或者官方页面会提供SHA256SUMS文件你把 ISO 文件拖进校验工具里对比哈希值是否一致。这一步虽然多花一分钟但能避免因为下载过程中文件损坏而出现“安装到一半报错”的坑。2.3 虚拟机资源怎么分配不掉链子分配虚拟机资源有个原则先看宿主机有多少资源再决定给虚拟机多少。以下是我常用的配置参考使用场景处理器核心内存磁盘容量学习 Linux 基本操作2 核4 GB40 GB跑 Docker、写代码4 核8 GB60 GB嵌入式编译、大型构建4 核以上16 GB80 GB 以上虚拟机内存设置成 8 GB 不代表宿主机立刻损失 8 GBVMware 会动态占用但设置得过高会导致宿主机卡顿。磁盘容量建议一开始就给足因为哪怕你在虚拟机里删掉文件宿主机上的虚拟磁盘文件也不一定立即缩小后面扩容还要额外操作。另外如果你打算在虚拟机里做比较重的编译比如编译 Android 源码、Zephyr 大型工程最好在 BIOS 里确认已经开启了 CPU 虚拟化技术。VMware 启动虚拟机时一般会检测如果报“此主机支持 Intel VT-x但 Intel VT-x 处于禁用状态”就需要重启电脑进 BIOS 开启对应选项。3. 虚拟机创建环节设置一次后面对路3.1 新建向导里的关键选项打开 VMware Workstation点击“创建新的虚拟机”。这里有两个入口典型和自定义。对于 Ubuntu 22.04很多教程直接选典型但我更喜欢选自定义因为能在前期就控制固件类型、虚拟磁盘类型等细节避免安装完成后再改动。在向导中安装来源选择“稍后安装操作系统”或者直接选择“安装程序光盘映像文件”并指向刚才下载的 Ubuntu ISO。如果这里直接指向 ISOVMware 会识别出 Ubuntu如果选择稍后安装客户机操作系统类型要手动选“Linux”版本选“Ubuntu 64 位”。这两个路径的结果差不多不影响最终效果。虚拟机名称建议起得有意义比如ubuntu22-dev位置选择一个剩余空间充足的磁盘。路径中尽量避免中文和空格虽然 VMware 一般能处理但遇到命令行工具时要复制路径少点麻烦。3.2 CPU、内存、磁盘的设置细节自定义硬件时内存和处理器按上一节参考表设置。需要注意虚拟机磁盘类型默认是 NVMe 或 SCSIUbuntu 22.04 对这两种控制器都支持得很好不用特意去改。磁盘创建时会出现一个选择将虚拟磁盘存储为单个文件还是拆分成多个文件。如果这台虚拟机你要保留 VMware 快照并且虚拟机文件需要拷贝到其他电脑选“拆分多个文件”更灵活。不打算动虚拟机文件位置的话选“单个文件”读写性能更直接。两种方式在日常使用中差别很小不用过度纠结。创建完成后我还习惯把虚拟打印机、声卡这类用不到的硬件删掉。虽然不影响 Ubuntu 安装但减少虚拟硬件能让启动更干净故障排查时干扰更少。3.3 网络模式选 NAT 还是桥接VMware 提供三种网络模式这是初学者最容易迷糊的地方。它们的区别可以用一句话概括NAT 是虚拟机躲在宿主机后面上网桥接是虚拟机直接出现在局域网里。模式虚拟机 IP 特点能否被外部设备访问适用场景NAT由 VMware 虚拟网卡分配地址一般不能需要端口映射只要求能上网最省事桥接与宿主机同一局域网由路由器分配能直接访问跑服务、多机联调仅主机只能和宿主机通信不能隔离测试、网络安全实验安装 Ubuntu 阶段我通常直接用 NAT因为此时只需要联网下载软件包NAT 最快最稳。等系统装完如果要做 SSH 外部访问或者搭建服务再关机切换到桥接模式即可。有一点要注意在 VMware 虚拟网络编辑器里桥接模式要选择正确的物理网卡。如果你电脑有多个网卡或者开着无线和有线桥接选错网卡会导致虚拟机不通网。这种问题排查起来很烦所以安装阶段用 NAT 是更稳妥的选择。4. Ubuntu 22.04 安装界面逐项过一遍4.1 启动后的语言、键盘和网络选项虚拟机开机后会显示 Ubuntu 引导菜单默认第一项是试用或安装。等它启动到图形界面左侧栏会有“安装 Ubuntu”按钮点击后进入安装向导。第一项是语言选择这里选“中文简体”就行当然如果你习惯英文界面也可以选英文安装完之后再调整。键盘布局一般默认就是英语美国中文用户最常用的输入法方案后面再配置键盘布局不需要改成中文因为中文没有独立键盘布局。接下来是“更新和其他软件”页面。这里有两个复选框一个是安装时下载更新另一个是安装第三方软件。我的经验是在虚拟机环境里显卡、无线网卡这类第三方驱动基本用不上所以第二个可以不勾选第一个“下载更新”如果网络一般也建议先不勾选等系统装完再执行 apt update避免安装过程因为网络波动中断。很多朋友装到一半卡住就是因为安装了大量更新且网络不稳定。4.2 磁盘分区千万不要乱点安装类型页面里虚拟机会识别出一个全新的虚拟磁盘。因为这台虚拟机没有其他操作系统直接选“清除整个磁盘并安装 Ubuntu”即可。这里的“清除”只针对虚拟磁盘不会碰宿主机任何文件。如果你已经对 Linux 有了解可能会看到“LVM”这个选项。LVM 的好处是以后扩容方便坏处是多了一层逻辑卷的概念。如果你只是想在虚拟机里快速用起来我不建议安装阶段选 LVM直接用默认方案就行。同理加密选项也先不用虚拟机本身已经是一层隔离再加加密除了多记一个密码实际意义不大。分区操作确认后向导会显示一个“现在安装”的确认框里面会提示写入磁盘的内容。这里只要确认是虚拟磁盘放心继续即可。4.3 用户创建和主机名命名的坑创建账户页面需要填你的姓名、计算机名、用户名和密码。姓名可以随意写用户名会成为你的默认主目录名和登录名尽量用小写字母不要带空格。计算机名也就是 hostname在后面的 SSH 连接中会用到。很多人在这一步填了个中文名或带大写字母的名字导致某些服务配置出现奇怪问题。稳妥的做法是使用小写字母加数字比如ubuntu2204、dev01。设置密码时如果你安装完成后要连接 SSH建议用一个强度够又记得住的密码。虚拟机密码忘了也能重置但过程比较绕不如一开始就记牢。自动登录这个选项看个人习惯如果虚拟机只在本机用勾选无所谓如果要做远程访问不勾选更安全。安装过程会持续几分钟期间界面会显示一些 Ubuntu 新特性介绍。等到进度条走完系统会提示重启。重启时如果一直没有反应手动点击虚拟机窗口里的“重启”按键即可。如果重启后又进入了安装界面说明 CD/DVD 还在加载 ISO 镜像在 VMware 里把光驱断开连接后再重启。4.4 安装完成重启后的常见卡顿第一次进入 Ubuntu 桌面时偶尔会出现鼠标指针出不来、屏幕分辨率特别小、没网这类问题。这多半是因为重新启动后还没有安装 VMware 的相关驱动支持也就是 open-vm-tools这一块我放在下一章详细说。如果你发现桌面卡在启动徽标试一下把虚拟机的显示设置调低或者在 VMware 里关闭 3D 加速。有些人的宿主机配置不高Ubuntu 的默认特效会显得慢后面可以通过设置调整显示效果。5. 装完必做的几件收尾事5.1 安装 open-vm-tools最好别用 VMware Tools很多老教程会让你在 VMware 菜单里点击“安装 VMware Tools”然后挂载一个虚拟光驱运行vmware-install.pl。但在 Ubuntu 22.04 上这个做法越来越不推荐因为 Ubuntu 官方推荐的是开源版本的 open-vm-tools它直接包含在 Ubuntu 软件源里安装和更新都更方便。命令如下sudo apt update sudo apt install -y open-vm-tools open-vm-tools-desktop安装完成后重启虚拟机。这时你会发现鼠标进出虚拟机不需要按 CtrlAlt屏幕分辨率也会跟随窗口大小自动变化通常还可以直接复制粘贴文本。这些功能在桌面版里由open-vm-tools-desktop提供所以两个包最好都装。如果你之前已经尝试过手动安装 VMware Tools 并且弹出了“继续运行脚本未能在虚拟机中成功运行”之类的错误不要慌。这个错误通常是因为 VMware 自带的安装脚本和 Ubuntu 22.04 的新内核组件不兼容手动卸载掉 VMware Tools 的残留改装 open-vm-tools 就能解决。具体的排查思路我会在第 6 节展开。5.2 换源与系统更新装完系统后第一件事我建议更新软件源。Ubuntu 默认源是官方服务器国内访问可能偏慢。先把源列表备份一下sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后修改源地址。如果你使用清华 TUNA 镜像站可以执行sudo sed -i s|http://archive.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g; s|http://security.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g /etc/apt/sources.list执行完之后刷新并升级sudo apt update sudo apt upgrade -y这一步会把安装时没有下载的更新全部补上。升级完成后最好重启一次确保内核等关键组件加载的是新版本。5.3 开启 SSH 服务Ubuntu 桌面版默认不安装 SSH 服务但你很可能会用到远程连接特别是在虚拟机里开发和测试时。安装命令sudo apt install -y openssh-server sudo systemctl enable --now ssh查看服务状态systemctl status ssh如果输出里有active (running)就代表服务已经起来了。默认端口是 22防火墙如果开启了 ufw需要放行sudo ufw allow OpenSSH然后查看虚拟机的 IP 地址ip addr show在宿主机上用终端执行ssh 用户名IP地址就能连上。比如用户是devIP 是192.168.150.128命令就是ssh dev192.168.150.128。Windows 11 自带的 OpenSSH 客户端可以直接用不需要额外工具。5.4 中文输入法设置中文输入法是每次聊 Ubuntu 装机的热点。Ubuntu 22.04 默认桌面环境是 GNOME输入法框架通常是 IBus。你可以在“设置”里的“键盘”里添加中文输入源也可以直接安装拼音引擎sudo apt install -y ibus-libpinyin安装后重启或者注销重新登录然后在“设置 - 键盘 - 输入源”里添加“汉语Intelligent Pinyin”。切换输入法的默认快捷键一般是 SuperSpace 或 CtrlSpace具体可以在设置里查看。也有一些朋友喜欢 Fcitx5 框架和搜狗输入法。搜狗输入法有自己的 Ubuntu 安装包但安装后要确保系统里安装了 fcitx 依赖并且要把输入法框架切换到 fcitx。对于刚入门的朋友我建议先用 IBus 自带的拼音方案它足够稳定不会遇到“装完输入法却切不出来”的问题。等熟悉了系统再考虑折腾第三方输入法也不迟。5.5 分辨率、剪贴板和字体进入桌面后如果分辨率不舒服可以按窗口大小自动调整。这依赖 open-vm-tools-desktop 正常工作。如果你用的是 4K 屏幕虚拟机内分辨率不准可以打开 Ubuntu“显示”设置把缩放调成 200%窗口内字体和界面大小会比较接近 macOS 那种高分屏体验。代码字体方面很多人问用什么字体最接近 macOS 的感觉。macOS 自带字体在许可证上不能直接拿来用但体验上可以接近终端字体选择 JetBrains Mono 或 Meslo LG中文字体用 Noto Sans CJK SC然后在终端设置里开启字体抗锯齿。配合 Ubuntu 的窗口圆角和整体配色观感已经非常接近了。6. 我在实际操作中踩过的坑和排查思路6.1 “VMware Tools 继续运行脚本未能在虚拟机中成功运行”这个问题出现的典型场景是新建虚拟机时 VMware 自动识别到 Ubuntu用了“简易安装”然后自动挂载并运行了 VMware Tools 安装程序。由于 Ubuntu 22.04 的内核库结构和旧版 VMware Tools 不兼容脚本执行到一半弹出一个提示窗口继续运行脚本未能在虚拟机中成功运行。这个报错其实不会让虚拟机报废系统依然能正常用只是鼠标切换、自适应分辨率等功能可能会失效。正确的处理方式是这样的在 VMware 菜单里把原本挂载的 VMware Tools 虚拟光驱断开连接。在 Ubuntu 终端执行sudo apt install -y open-vm-tools open-vm-tools-desktop重启虚拟机。如果之前手动执行过 VMware Tools 的安装脚本系统里可能残留一个vmware-tools服务。你可以尝试找到并移除但对于大多数情况安装 open-vm-tools 后重启即可覆盖掉所有需要的功能不需要再和残留脚本纠缠。6.2 Ubuntu SSH 连不上的排查链路SSH 连不上是高频问题如果你从宿主机ssh到虚拟机失败不要急着重装系统按下面顺序排查首先确认 SSH 服务在执行sudo systemctl status ssh如果没有服务安装openssh-server。然后检查端口监听ss -lntp | grep 22接着确认虚拟机 IP。在 NAT 模式下虚拟机的 IP 一般由 VMware 分配网段和宿主机不一定一样但不能为 0.0.0.0。使用ip addr查看。如果状态是 DOWN执行sudo dhclient再查看是否获取到地址。宿主机到虚拟机之间先 ping 一下能 ping 通再试 SSH。如果 ping 不通多半是网络模式或者 VMware 虚拟网卡的问题到 VMware“虚拟网络编辑器”里把 VMnet8 的 NAT 设置复位重新启动 VMnet8 服务。还要注意虚拟机的用户名和 IP 写没写错。很多人把用户名写成 IP 的一部分或者忘记加这种低级错误最容易浪费时间。6.3 环境变量配置错误导致 shell 异常在 Ubuntu 里配环境变量是家常便饭但配错一次就可能让命令行彻底“瘫掉”。最常见的错误是在终端执行export PATH/usr/bin如果你原来的 PATH 是/usr/local/bin:/usr/bin:/bin等一堆路径这条命令会直接把 PATH 覆盖成只有/usr/bin结果你会发现自己常用的sudo、ls、vim全都找不到因为有些命令不在这个目录下。遇到这种情况第一时间用绝对路径重新设置一个基本 PATH/usr/bin/export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin如果连 export 都找不到可以直接输入/usr/bin/env PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ls修好当前终端后去检查你刚才改动过的配置文件比如~/.bashrc或/etc/profile。正确写法通常应该是export PATH$PATH:/your/new/path一定要保留$PATH变量而不是用冒号后面直接覆盖。修改完后执行source ~/.bashrc如果你把环境变量写进了/etc/profile并且导致所有新终端起不来可以在当前终端用绝对路径打开配置文件把错误行删掉或注释掉再重新登录。记住一个原则动手改配置文件前先cp一份备份。6.4 apt 安装 GCC 失败的诡异情况“sudo apt install build-essential”本来是最简单的一件事但有时候会失败提示依赖关系无法修复或者已经损坏。常见原因有三个之前的 apt 下载被中断留下了半成品安装状态。软件源里部分包版本不一致。本机添加了多余的软件架构比如 i386。最稳的恢复步骤是sudo dpkg --configure -a sudo apt --fix-broken install sudo apt update --fix-missing sudo apt install -y build-essential如果还提示某些包“无法下载”多半是源的问题换源之后重新apt update。我遇到过一次挺迷惑的情况机器在安装时手动添加了 i386 架构导致 gcc 依赖里 multilib 包下载出错。用下面命令看一下dpkg --print-foreign-architectures如果输出i386但你并不需要 32 位兼容环境可以移除它sudo dpkg --remove-architecture i386然后再装 build-essential 就通畅了。这个坑在嵌入式开发环境里特别容易遇到因为很多旧教程会教你加 i386 架构来支持 32 位软件一加就是好几年最后害得新软件装不上。7. 装完系统后适合在 VMware 里继续做的事7.1 常用开发工具链一次装齐系统更新完、SSH 能连上之后建议把日常要用的工具一次性装好。我是这样做的sudo apt install -y build-essential git vim curl wget net-tools \ cmake python3 python3-pip gdb ninja-build如果你是 Python 开发偏多记得检查 pip 版本并安装虚拟环境工具sudo apt install -y python3-venv如果你要跑 Dockersudo apt install -y docker.io sudo systemctl enable --now docker sudo usermod -aG docker $USER装完 Docker 后需要注销重新登录用户组才会生效。这里我提醒一下先确认自己是不是真的需要 Docker不是所有开发场景都用得上。为了“别人装了我也装”而装只会白白占用虚拟机资源。7.2 按开发方向做进一步配置根据你现在或者接下来的项目方向还可以做针对性配置嵌入式方向尤其是 Zephyr 开发需要安装额外的 Python 包和 west 工具编译时还会用到 device tree compiler 和多套交叉编译链。建议先把 CMake、ninja-build、gperf 都装好再按官方文档配置 Zephyr SDK。区块链或 Web3 方向如果涉及 Geth 节点的搭建和启动建议在虚拟机内创建独立用户运行节点并且把数据目录和日志分开方便跟踪。机器学习方向安装 NumPy、PyTorch 之前先确认虚拟机的内存和磁盘足够。不要在 4 GB 内存的虚拟机里跑大数据集训练体验会非常差。我的习惯是每当准备配置一个新的开发环境之前先给虚拟机打一个 VMware 快照。快照的意思是记录当前系统的完整状态配置坏了、依赖装乱了、文件删错了都能快速回到这个干净状态。这个习惯帮我省了无数次重装系统的时间。最后再分享一个小经验虚拟机里的 Ubuntu 22.04 LTS 安装成功只是起点真正影响体验的是装完之后的网络、工具链和备份策略。多花十分钟做一次快照再写一份简单的环境记录文档后面开发时会轻松很多。
返回列表