VMware — Ubuntu 扩展系统盘
环境Windows 11 VMware Workstation Ubuntu 22.04/24.04场景根分区/空间不足扩大系统盘本文按无 LVM编写Ubuntu Desktop 默认有 LVM 见附录 A三层模型扩容要穿透三层每层有各自独立的大小记录① 虚拟磁盘 .vmdk ← VMware 里点「扩展」改这层 ② 分区表里的分区条目 ← growpart 改这层 ③ 文件系统自己的元数据 ← resize2fs 改这层层 ① 变大后②③ 不会自动跟上 ——必须逐层扩。所以会出现lsblk显示 50G 但df -h还是 20G的中间状态。前提检查lsblkdf-h/要确认三件事/是不是最后一个分区——growpart把分区往后推只有最后一个分区后面才有空间可推。中间的分区扩不了。有没有 LVM—— 看/所在分区下面还有没有子项# 无 LVM直接挂载 # 有 LVM多一层缩进 sda sda ├─sda1 └─sda3 └─sda2 / └─ubuntu--vg-ubuntu--lv /剩余空间—— 确认确实需要扩第一步VMware 侧扩盘1. 关机sudopoweroff2. 扩展虚拟磁盘虚拟机设置 → 选中系统盘→扩展→ 填新容量 → 确定⚠️有快照时「扩展」按钮是灰的先删除或合并快照⚠️只能变大不能变小不勾「立即分配」时新容量在宿主机上是按需增长的3. 开机第二步Ubuntu 侧扩分区和文件系统sudogrowpart /dev/sda2# 注意设备名 空格 分区号sudoresize2fs /dev/sda2growpart /dev/sda 2把分区的结束位置推到磁盘末尾把新加的空间圈进来。参数是整块磁盘分区号空格分隔—— 改的是盘的分区表不是分区自身跑完lsblk里分区变大了但df -h还没变在线操作不需要卸载/没装的话sudo apt install cloud-guest-utilsresize2fs /dev/sda2把 ext4 文件系统元数据里记的大小改成和分区一致。参数直接给分区设备路径ext4 支持在线扩容/挂着也能跑扩展只能往大缩容风险高不用e2fsprogs自带一般不用装两条必须都跑只跑一条的话lsblk和df -h会对不上。验证df-h/# / 应显示新容量lsblk# sda2 应显示新容量两者数字一致