VMware虚拟机装Ubuntu Server全流程详解与避坑指南 VMware 虚拟机装 Ubuntu Server这件事听起来简单但真正动手的时候卡引导、没网络、SSH 连不上、apt 下载慢各种问题能把人折腾到怀疑人生。我最早在公司搭测试环境的时候就因为镜像源没换一个apt update等了二十分钟最后还超时失败了。所以这篇文章我打算把整个流程从 VMware Workstation 的下载安装、虚拟机的参数配置到 Ubuntu 20.04 Server 的安装、初始化配置、常见问题排查全部过一遍。每一步我都会解释这么配是为什么踩过的坑也一并写出来。适合完全没装过的小白也适合想搞清楚配置逻辑的老手。1. 动手前的准备VMware 与 Ubuntu 镜像的下载取舍1.1 VMware Workstation Pro 的下载与授权说明VMware Workstation Pro 目前最新的大版本是 17现在从官网下载已经不需要去找什么乱七八糟的注册机了。博通Broadcom接手 VMware 之后把 Workstation Pro 和 Fusion 对个人用户完全免费开放你只需要去 VMware 官网注册一个账号就能拿到个人使用的许可证密钥激活的时候选“个人使用”即可。下载的时候需要注意一点尽量认准官网渠道不要从第三方下载站拉安装包那些打包的“绿色版”“破解版”经常捆绑全家桶而且功能上也会被阉割。官网下载文件大概 600MB 左右安装过程没什么特别的一路下一步就行。唯一一个值得注意的选项是“增强型键盘驱动”如果你平时没有特殊的键盘宏需求不建议勾选它在部分 Windows 系统上会造成按键输入异常尤其是笔记本用户我遇到过装完增强键盘驱动后虚拟机里 Ctrl 键偶尔失灵的案例。1.2 Ubuntu 20.04 Server 镜像从哪里下Ubuntu Server 20.04 是一个 LTS长期支持版本官方支持周期到 2025 年加上扩展维护还能更久所以拿来当服务器系统非常合适。这里必须强调一句不要下 20.04.0 这种老的小版本一定要去下 20.04.6 LTS 的镜像因为后续 point release 修复了大量硬件兼容性和安装器 bug尤其是网卡驱动老镜像是真的会找不到网卡。官方下载地址就不放了搜索引擎搜“Ubuntu Server 20.04.6 download”第一个就是。国内用户从境外官方源下 ISO 速度不稳定所以更推荐走国内镜像站主要有两个选择清华大学 TUNA 镜像站https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04.6/阿里云镜像站https://mirrors.aliyun.com/ubuntu-releases/20.04.6/文件名为ubuntu-20.04.6-live-server-amd64.iso大小大概 1.9GB。下载完建议顺手做一次 SHA256 校验Windows 下用 PowerShell 执行Get-FileHash .\ubuntu-20.04.6-live-server-amd64.iso -Algorithm SHA256把输出值和官网的校验值比对一下确保下载过程中文件没有损坏。这个习惯在下载任何系统镜像时都适用能帮你排除一大批安装时莫名其妙的报错。1.3 硬件配置建议与虚拟化的前提条件物理机的硬件是虚拟化能不能跑起来的基础如果你的 CPU 不支持虚拟化或者 BIOS 没开 VT-x/AMD-VVMware 装完虚拟机大概率开机就报错。判断方法很简单打开任务管理器切到“性能”标签页看 CPU 那一栏有没有“虚拟化已启用”。如果显示“已禁用”需要进 BIOS 开启 Intel Virtualization Technology 或者 SVM Mode。不同主板的 BIOS 入口不一样但选项名称基本都是这两个。内存方面宿主机至少要有 8GB 内存才跑得舒服Ubuntu Server 本身只分 2GB 左右给虚拟机但系统的缓存和快照操作都要占用额外资源。CPU 建议 4 核以上磁盘剩余空间至少 30GB因为你可能不止想装一个系统以后还要做快照、扩容。我个人的分配建议如下用途虚拟机CPU虚拟机内存磁盘适合场景学习练手1~2 核2GB20GB测试命令、熟悉系统运行 Web 服务2~4 核4GB40GB搭 Nginx/MySQL构建编译环境4 核以上8GB60GB编译内核、跑容器2. 创建虚拟机的完整过程与参数选择解析2.1 新建虚拟机向导典型还是自定义启动 VMware Workstation点击“创建新的虚拟机”。向导会问你用典型推荐还是自定义这里我建议直接选自定义。典型安装虽然快但它自动给你分配的所有参数都是“够用就好”的水平比如磁盘类型默认 SATA、固件类型默认 BIOS后面改起来反而麻烦。选完自定义之后下一步会让你选虚拟机的硬件兼容性保持默认 Workstation 17.x 即可。这一步的意义在于决定虚拟机的虚拟硬件规范兼容性版本越高能用的虚拟设备就越新性能越好。接着会让你选择安装来源这里有个关键细节一定要选“稍后安装操作系统”而不是直接选择安装镜像。原因是如果在这里直接指定 ISOVMware 会启动“简易安装”模式它会自动帮你建用户、设密码、装系统。但简易安装的分区方案和软件包选择在 Server 版上经常不走心装完一堆不需要的桌面组件或者分区乱糟糟的。所以我们只让 VMware 建一个“空壳”虚拟机系统安装的一切全由我们手动控制。操作系统类型选 Linux版本选“Ubuntu 64 位”。注意这里不是让你选“Debian 64 位”之类的相近选项不同系统配置的虚拟设备和驱动适配是有差别的别省这一步。2.2 分配 CPU、内存、磁盘时的关键逻辑处理器配置这里我见过不少人直接把“处理器数量”和“每个处理器的内核数量”都拉满但其实这样做没太大意义。 VMware 是软件模拟 CPU不是直通分配太多虚拟核心反而增加调度开销。合理做法是处理器数量填 1每个处理器的内核数量按你实际需要的核心数填。比如想给虚拟机 4 核就填“1 个处理器 × 4 个内核”这样在系统内部看到的核数最合理性能和兼容性都更好。内存分配比 CPU 更敏感Ubuntu Server 纯命令行环境 2GB 就够跑如果你还想装个桌面环境或者跑数据库建议分到 4GB。内存要留意一个点不要超过物理机内存的一半以上。比如宿主机 8GB虚拟机分了 6GB那你宿主机自己就只剩 2GB系统会疯狂换页整体卡成幻灯片。网络类型的选择我放在后面单独讲这里先选 NAT等看完 2.3 再决定要不要换。磁盘类型这里新版本的 VMware 会给你三个选项IDE、SCSI、NVMe。Ubuntu 20.04 内核自带 NVMe 驱动所以可以大胆选 NVMe虚拟磁盘的读写性能比 SCSI 好不少尤其是系统频繁读写日志的时候体感差异很明显。磁盘容量建议 20GB 起步。这里还有一个关键选项“将虚拟磁盘拆分成多个文件”还是“存储为单个文件”。我推荐拆分成多个文件原因很实际如果虚拟磁盘之后要跨机器迁移或者用 WinPE 等工具对虚拟机做离线备份多文件模式对文件系统的兼容性更好单文件动辄几十 GB复制起来很容易出错。2.3 网络模式NAT、桥接、仅主机怎么选VMware 虚拟机的网络模式是新手最容易迷糊的地方但搞懂了其实一句话就能说清。NAT 模式宿主机充当一个路由器虚拟机通过宿主机共享上网。虚拟机的 IP 地址和宿主机不在同一网段局域网里的其他机器访问不到这台虚拟机但虚拟机可以访问外网。桥接模式虚拟机像一台独立主机一样直接挂在局域网里有自己的 IP局域网里其他机器可以直接访问。仅主机模式虚拟机只能和宿主机通信不能访问外网适合做隔离实验。那该选哪个如果你的虚拟机只是自己学习用装完系统通过宿主机 SSH 连进去敲命令选NAT就够了省事且安全。如果你是做服务器测试需要局域网内其他电脑也能访问虚拟机里的 Nginx 或 MySQL那就选桥接。这两种模式也是最常用的仅主机模式用的场景相对少一般是用在取证分析或者隔离病毒测试环境上。我的建议是新手先统一用 NAT。只要宿主机能上网虚拟机就能上网不依赖路由器 DHCP 的分配策略后面调试网络时少一个变量。2.4 自定义硬件中的清理动作到了最后一步“自定义硬件”需要做几件容易被忽略的事第一把不需要的硬件删掉。声卡、打印机这两样对于 Server 虚拟机来说完全是累赘在“自定义硬件”窗口里分别选中它们点“移除”。删掉之后可以减少虚拟机驱动加载时的冲突概率特别是声卡在某些 Linux 内核版本上会触发 ALSA 的 bug导致系统启动缓慢。第二给虚拟机指定 ISO 镜像。在 CD/DVD 一栏选择“使用 ISO 镜像文件”浏览到你下载好的ubuntu-20.04.6-live-server-amd64.iso并且勾选“启动时连接”。这样开机后会自动进入安装引导。第三检查“虚拟化引擎”。如果你的物理机 CPU 支持虚拟化指令集VMware 会默认勾选“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”。别把这个选项关掉它能让虚拟机内部的 CPU 指令执行效率大幅提升。但是如果你打算在这台虚拟机里再跑 Docker 这类需要嵌套虚拟化的工具这个选项才真正发挥价值。完成之后点击“完成”一个配置好的空虚拟机就建好了。先不要急着点“开启此虚拟机”因为还有一件重要的事把虚拟机的固件类型确认为 UEFI。虽然绝大多数 Ubuntu 安装教程默认 BIOS但 UEFI 在后续使用中更接近现代服务器环境而且在磁盘分区里会自动生成一个 EFI 分区更规范。如果创建时没改成 UEFI也没关系虚拟机的.vmx配置文件里改一行firmware efi就行但这属于进阶操作还是建议在向导里就选对。3. Ubuntu 20.04 Server 安装全过程与避坑点3.1 引导阶段与语言选择开启虚拟机后会进入 GRUB 引导菜单界面就一行字Install Ubuntu Server。这里要提醒一句屏幕卡在 GRUB 界面不是死机它在等你敲回车。很多人第一次装的时候看它停在那里十几秒没反应以为系统挂了然后强制关机重来其实只要按一下回车就继续了。选完 Install Ubuntu Server 之后系统开始加载内核等几秒钟就会进入安装界面。第一步是语言选择我个人建议选English英文。虽然安装界面支持中文但装完之后系统控制台的输出语言也会变成中文对于一个 Server 系统来说终端里中文乱码的概率很高尤其是你用 SSH 工具从 Windows 连过去时编码不一致很容易看到方块字。系统语言后期可以通过 locale 设置改但安装过程用英文是最省心的选择任何一个合格的运维都会告诉你服务器系统尽量保持英文环境中文只是显示问题和业务无关。键盘布局选默认的 English (US) 即可除非你用的是非标准键盘。3.2 网络配置阶段DHCP 还是手写静态 IP安装向导的第二个大步骤是网络配置。默认情况下它使用 DHCP 自动获取 IP。如果你是 NAT 模式的虚拟机这一步什么都不用动它会自动从 VMware 的虚拟 DHCP 服务里拿一个地址例如192.168.44.x这种。界面里会显示当前网卡的 IP、掩码、网关和 DNS。我建议你在这一步用手机拍一张照把 IP 地址记下来。等系统装完第一次重启你登录系统后第一件想知道的事就是“我现在的 IP 是多少”提前记下来可以少输一条命令。如果这里显示没有获取到 IP先不要急着跳过解决方法是确认 VMware 的“虚拟网络编辑器”里 NAT 模式的“DHCP 设置”处于启用状态确认宿主机上没有禁止 VMware DHCP Service 和 VMnet8 虚拟网卡把 CD/DVD 里的 ISO 镜像完整挂载后再重启一次安装流程。如果还是拿不到地址考虑手动填写配置内容和后面的 Netplan 静态配置类似这里先不展开后面我会专门讲。3.3 镜像地址换成国内源的关键一步网络配置完成后安装器会问代理地址Proxy不用填直接回车。紧接着是 Ubuntu 镜像地址Ubuntu Archive Mirror。很多人不知道这一步是干嘛的直接默认点了回车结果装系统时下载软件包慢到怀疑人生——因为默认源是境外的archive.ubuntu.com。我强烈建议在安装阶段就直接把镜像换成国内源。在“镜像地址”输入框里填阿里云的源http://mirrors.aliyun.com/ubuntu/。或者用清华源http://mirrors.tuna.tsinghua.edu.cn/ubuntu/。为什么这一步很关键因为安装过程中系统需要从源里下载 OpenSSH Server 等软件包。如果你用了默认源下载速度可能只有几十 KB/s整个安装过程会被拖到半小时以上甚至直接超时失败。换成国内源之后安装就像喝水一样顺畅几十秒就完成了软件包下载。3.4 存储方案整块磁盘 LVM 与分区规划接下来是存储配置这是整个安装过程中最核心也最容易出问题的地方。 安装器默认的选项是 “Use An Entire Disk” 并开启“Set up this disk as an LVM group”也就是用整块磁盘加 LVM 逻辑卷管理。我推荐新手直接接受这个默认方案。原因有两点第一LVM 最大的好处是支持后续在线扩容哪天你发现 20GB 不够用了不用重新分区直接在物理磁盘上分配新空间再lvextend扩充逻辑卷就行第二默认方案会把 / 根分区的大小分配得比较合理你不用自己去算分区容量。如果你选择“Custom storage layout”手动分区我一般建议按这个思路分分区大小挂载点说明/boot1GB/boot引导分区存内核1GB 足够不用大swap2~4GB无交换分区内存小就分大点内存 4GB 可忽略/剩余全部/根分区所有软件、日志、数据都在这里这里有个常见的误区在手动分区时会想单独把/home分出去觉得以后系统重装数据更安全。这个想法没错但对于虚拟机和服务器场景我更建议不用单独分 /home让根分区吃掉所有剩余空间因为以后如果你装 Docker 或者数据库容器镜像和数据库文件默认都是放在/var/lib下而不在 /home根分区不够用才是最常见的坑。分区完成后安装器会写盘并提示确认是否清空磁盘这里一定要看清楚盘符对不对别选错宿主机硬盘。虚拟机的磁盘一般是sda或nvme0n1如果弹出警告确认无误后再继续。3.5 用户创建与 SSH 开启这是整个安装过程中最需要留神的一步。设置用户名和密码处向导会让你填三个信息您的名字Your name、主机名Your servers name、用户名Pick a username。典型操作是填一个真实的用户名比如ubuntu主机名起一个你自己能认出来的比如ubuntu-server。然后它会问“Use password for SSH login?”也就是允许用密码通过 SSH 登录。这个选项默认是开启的请务必保持开启。只有保留它你才能从宿主机直接用 SSH 客户端密码登录。如果你把这个关了首次登录就只能用虚拟机控制台后续还要手动改 SSH 配置非常麻烦。紧接着是 “Install OpenSSH server” 的勾选项这个很重要一定要勾上。Server 版本本身不带 SSH 服务如果这里不勾装完后系统没有sshd你就只能坐在虚拟机控制台前操作。万一后面忘了勾选不用慌登录系统后执行sudo apt install openssh-server -y就可以补装但能一步到位就别走弯路。最后有个 “Featured Server Snaps” 的选项问你要不要安装一些常用的 Snap 软件包。如果你不清楚需要什么直接跳过。这里是 Server 环境用 Snap 装软件有很多坑不是必要场景不碰。3.6 安装完成后第一次重启的注意事项安装程序跑完之后会提示你移除安装介质并按回车重启。这里在虚拟机里有两种情况如果你的 CD/DVD 设置的是“启动时连接”并使用 ISO 镜像那么重启时注意看是否又从 ISO 引导了。如果卡在了进入安装界面的地方就是没正常从硬盘引导这时候可以在虚拟机界面里快速按 CtrlAltInsert 强制重启然后按 F2 进入虚拟机的 BIOSVMware 的虚拟机 BIOS 也是按 F2 进把启动顺序调整成硬盘优先。重启完成后你就进入 Ubuntu Server 的命令行登录界面了。输入安装时设置的“用户名”和“密码”就能进入系统。登录后第一件事建议执行ip addr查看当前网卡的 IP 地址确认和安装时保持一致然后打开宿主机上的终端工具测试一下ping虚拟机地址是否通。通了就说明网络没问题可以继续下面的初始化配置了。为了方便你对照整个安装流程我把每个步骤的关键选择整理成一份速查表安装阶段推荐选择说明语言English避免终端中文乱码键盘布局English (US)国内键盘基本兼容网络配置DHCPNAT 模式下自动获取代理地址留空不需要镜像地址阿里云/清华源大幅提升下载速度存储方案整盘 LVM利于后续扩容用户信息设置真实用户名SSH 登录用Allow password SSH开启方便宿主机远程管理Install OpenSSH server勾选必装服务Featured Server Snaps跳过避免不必要的 Snap 依赖4. 装完系统后的初始化配置4.1 网络固定Netplan 静态 IP 配置系统装好了登录进去了但还有一个问题当前网卡的 IP 是 DHCP 动态分配的如果虚拟机重启IP 可能会变这对服务器来说是致命的你不可能每次重启都跑到控制台去查 IP。所以第一步就是把网络改成静态 IP。Ubuntu 20.04 的网络配置用的是 Netplan不再像老版本那样用/etc/network/interfaces。配置文件的路径在/etc/netplan/下一般是一个以.yaml结尾的文件常见文件名是00-installer-config.yaml。先执行ip addr查看你的网卡名称虚拟机最常见的网卡名是ens33也可能是ens160。然后编辑配置文件sudo vi /etc/netplan/00-installer-config.yaml内容改成下面这样注意缩进YAML 对空格敏感不能用 Tabnetwork: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.168.44.128/24 routes: - to: default via: 192.168.44.2 nameservers: addresses: [223.5.5.5, 8.8.8.8]IP 地址要换成你自己网段的。NAT 模式下网关通常填192.168.*.2这个地址是 VMware 的虚拟 NAT 网关具体值可以在 VMware 菜单“编辑” - “虚拟网络编辑器”里选中 VMnet8 查看。DNS 用阿里云的223.5.5.5或者电信的114.114.114.114。改完保存执行sudo netplan apply没有报错就说明配置生效了。再用ip addr确认一下 IP 没变然后重启网络服务或者直接重启虚拟机验证一下静态 IP 是否固定。很多人改完配置后直接重启发现网络没了大概率是 YAML 缩进写错或者网关填成了路由器地址而不是 VMware 的 NAT 网关。4.2 更换 apt 源与系统更新安装时如果已经选了国内源这里就不需要再改了但如果你是老系统或者用的默认源这里的换源操作就是必须的。首先备份原文件这一步在任何配置修改前都建议做sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后用 sed 直接把源里的域名替换成阿里云镜像sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list执行完查看一下文件内容确认替换生效然后更新软件源sudo apt update sudo apt upgrade -yapt update是刷新软件包列表apt upgrade才是真正升级系统里已有的软件包。第一次升级可能需要几分钟取决于下载量。升级完成后如果想彻底重启到干净的内核状态执行sudo reboot。4.3 一键开启 SSH 远程登录与防火墙放行如果你安装时勾选了 OpenSSH Server系统里已经有 sshd 服务了。如果不是先补装sudo apt install openssh-server -y然后确认服务在跑sudo systemctl status ssh如果显示 active (running)SSH 服务已经正常。但注意 Ubuntu 装完默认没开启防火墙如果你开了 UFW 防火墙必须放行 SSH 端口否则外面连不上sudo ufw allow OpenSSH sudo ufw enable sudo ufw status这里顺序很重要一定要先 allow 再 enable。我第一次踩过这个坑直接在防火墙开启状态下去连 SSH结果被拒之门外只能在控制台前一条条看防火墙规则。如果你不小心把自己锁在外面了去虚拟机控制台执行sudo ufw disable就能暂时解除。验证 SSH 连接也很简单在宿主机上打开终端Windows 用户用 PowerShell 或 CMDssh ubuntu192.168.44.128输入密码后能进入系统说明远程登录一切正常。4.4 open-vm-tools 而非 VMware Tools很多教程会告诉你装完系统后要“安装 VMware Tools”这是老黄历了。现在 VMware 对 Linux 系统的增强工具早已从传统的 VMware Tools 迁移到了开源项目 open-vm-tools而且 Ubuntu 20.04 官方 ISO 里已经预装了 open-vm-tools 的内核驱动你不需要再从 VMware 菜单里点“安装 VMware Tools”。你只需要确认一下系统里有没有这个包sudo apt install open-vm-tools -y装完后它提供一系列虚拟机增强功能包括宿主机与虚拟机之间的剪贴板共享、拖拽文件、分辨率自适应在有桌面的情况下等。对 Server 系统来说最重要的是它能正确响应 VMware 的挂起、快照、优雅关机等管理操作没有它你点虚拟机的“挂起”可能导致系统文件系统不一致。还有一个很经典的报错打开虚拟机时弹窗提示“VMware Tools 继续运行脚本未能在虚拟机中成功运行”。如果你用 open-vm-tools这个提示基本可以无视它是 VMware 尝试运行旧版 tools 的安装脚本时找不到对应文件导致的对系统运行没有任何影响。5. 我踩过的那些坑常见问题排查与避坑实录5.1 虚拟机开机后一直黑屏或者卡在 GRUB这个问题的概率在安装 Linux 虚拟机时不算低。黑屏的原因有很多但最常见的两种是第一虚拟机固件类型和系统镜像的分区表不匹配比如你创建虚拟机时选的是 BIOS 固件但系统安装时用了 GPT 分区表加 UEFI 引导重启后必然找不到引导器第二图形适配器模式错误。排查方法是开机时注意看虚拟机屏幕下方有没有 VMware 的 Logo 和水印如果有但一直黑屏可以在虚拟机设置里把“显示器”的“3D 图形”关掉重启试试这是很多人的解决路径。如果连 GRUB 菜单都看不到先确认 ISO 镜像是否挂载成功以及虚拟机的启动顺序是否设置为“硬盘优先”。实在不行用虚拟机里的“重置”按钮强制重启几次有时候只是引导设备枚举慢。5.2 VMnet1 / VMnet8 网卡出现感叹号装完 VMware 之后Windows 的网络适配器列表里会多出两块虚拟网卡VMware Network Adapter VMnet1仅主机模式和 VMnet8NAT 模式。如果这两块网卡出现黄色感叹号多半原因是 VMware 的网络服务没有启动或者被安全软件禁用。处理方式以管理员身份打开命令提示符键入services.msc打开服务管理器找到 VMware NAT Service 和 VMware DHCP Service确认这两个服务状态是“正在运行”。如果服务没起来右键启动并把它设为自动启动。如果服务没问题但网卡还是感叹号去设备管理器里先禁用再启用那两块 VMware 虚拟网卡很多时候就能恢复。这个坑之所以特别容易踩是因为很多“优化软件”会把 VMware 的这些后台服务当成无用进程自动关掉一关虚拟机的 NAT 模式就彻底无网了。建议用虚拟机的时候关掉这些电脑管家的自启动项。5.3 SSH 连不上一次典型排查过程宿主机ping虚拟机不通或者ssh直接超时这是刚装完系统的用户问得最多的问题。我建议你按下面的顺序排查不要一上来就乱改防火墙。先确认虚拟机和宿主机 IP 在同一个网段桥接模式除外执行ip addr看虚拟机地址执行ipconfig看宿主机地址。如果是 NAT 模式两者肯定不是同一网段但虚拟机应该能 ping 通宿主机地址宿主机也能 ping 通虚拟机。如果两边 ping 不通重点检查 VMnet8 网卡有没有 IP以及 VMware 的 DHCP 服务是否正常。再确认 SSH 服务有没有监听 22 端口ss -tlnp | grep 22如果没有任何输出说明 sshd 没起来执行sudo systemctl start ssh。最后检查防火墙sudo ufw status如果是 active 状态且没有放行 OpenSSH 那条规则立刻执行sudo ufw allow OpenSSH。我见过一个更隐蔽的情况某些环境下 UFW 默认规则是拒绝所有入站导致即使你 allow 了 OpenSSH 也连不上这时候直接把防火墙重启一次再试。5.4 apt 下载慢 / 404 Not Foundapt update时出现 404 错误通常不是源本身出问题而是你使用了错误的 Ubuntu 版本代号。Ubuntu 20.04 的代号是 focal所有软件源路径里都应该包含 focal 字样。如果源里写的是 bionic18.04或者 jammy22.04就会 404。先确认系统版本lsb_release -a输出里的Codename应该显示 focal。然后检查sources.list里的源路径是不是都对应 focal。如果发现路径里有死链直接重新按照 4.2 的 sed 命令换一次源然后sudo apt update重新拉取。另外新版 Ubuntu 源文件/etc/apt/sources.list里的.list路径可能已经引用了/etc/apt/sources.list.d/ubuntu.sources这种结构20.04 还没完全切换过去但如果改了一个没生效就去检查一下sources.list.d目录下有没有残留配置文件有的话一起改。5.5 虚拟机磁盘空间不够与 LVM 扩容用默认的 LVM 方案安装 20GB 磁盘刚开始还能用但装上 Docker、拉几个镜像、跑点日志很快就吃紧了。扩容这事很多人以为要重新分区重装系统其实 LVM 下非常快。先在 VMware 里给虚拟磁盘扩容关机状态下右键虚拟机设置在硬盘一栏把磁盘大小从 20GB 改成 40GB点击确定。这时虚拟机内部还没感知到新空间需要把新分区建出来再扩充逻辑卷。开机后执行sudo lsblk看磁盘结构你会发现 /dev/sda 显示 40GB但 /dev/sda3LVM 所在分区还是 20GB。接下来用growpart扩展分区sudo growpart /dev/sda 3然后再扩展 PV物理卷sudo pvresize /dev/sda3最后把剩余空间全部给根目录的逻辑卷sudo lvextend -l 100%FREE /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv扩展完用df -h确认根分区容量已经增长。整个过程不用重启操作时间不超过一分钟。这就是我刚才反复强调“为什么默认要选 LVM”的原因分区调整的灵活性实在太重要了。如果你用 VMware 的快照功能做备份扩容后记得更新旧快照否则回滚到旧快照时容量还是之前的数值容易造成不一致。我在这台 Ubuntu Server 虚拟机上跑了两年多测试环境最深的体会是安装系统其实只占整个运维工作的不到十分之一真正考验人的是装完之后那几天——网络配不配得通、源换没换对、SSH 能不能从宿主机直连、磁盘哪天会不会满。这篇文章从下载、安装到配置和排障基本上把我每一次重复操作时都会用到的关键点都过了一遍。如果你按着流程做还是遇到问题优先从网络模式和防火墙这两个方向排查剩下的九成都是小问题。