前言
很多朋友在安装 Ubuntu 系统(尤其是 Ubuntu Server 24.04/22.04)时,明明给虚拟机或物理机分配了 1TB(甚至更大)的硬盘,但进入系统后运行 df -h 或 lsblk 一看,却发现根目录(/)竟然只有可怜的 100GB 空间!
剩下的 900 多 GB 空间去哪了?这其实是系统的默认安全机制。今天这篇文章就来彻底聊聊这背后的原因,并教大家如何用两条命令安全地把空间“薅”回来。
为什么当时只有 100G?(背后的 LVM 机制)
在安装 Ubuntu 时,系统默认开启了 LVM(Logical Volume Manager,逻辑卷管理) 技术。
LVM 就像是磁盘和系统之间的一个“空间魔术师”。它把物理硬盘虚拟化成一个“蓄水池”。在安装时,Ubuntu 处于安全和灵活性的考虑,采用了以下策略:
- 按需分配(留有余地):它默认只从“蓄水池”里舀出 100GB 的水放进根目录逻辑卷(
ubuntu--vg-ubuntu--lv)里。 - 方便后续扩展与快照:蓄水池里剩下的 900 多 GB 并没有消失,而是处于 “未分配(Free)” 状态。在企业级场景中,这些剩下的空间可以随时分配给不同的业务。例如:突然需要加一个数据库,就可以单独分出 300G 给数据库,而不需要动根目录。
- 支持动态调整:正因为有了 LVM,我们才可以在不关机、不重启、不破坏现有数据的情况下,“在线”把剩下的 900多G 空间直接加回根目录。
Ubuntu 默认只给 100G 并不是 Bug,而是 LVM 机制为了系统弹性故意留白的“高级操作”。
实战演练:从 100G 一键扩容到 1022G
步骤一:查看当前磁盘状态
在终端中输入 lsblk,你会看到类似下面的结构:

可以看到,物理分区 sda3 有 1022G,但是底下的逻辑卷卷只有 100G。
步骤二:执行在线扩容(无需重启)
请在 root 权限下(或者命令前加 sudo)依次执行以下两条命令:
# 1. 扩容逻辑卷(LV) # 这行命令的意思是:将卷组中 100% 剩余的空闲空间(+100%FREE) 全部分配给根目录所在的逻辑卷。 lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 2. 扩容底层文件系统(Ext4) # 容器变大了,我们还需要通知 Linux 的文件系统去占满这个新空间。 # Ext4 是 Ubuntu 24.04 系统默认使用的文件系统格式。 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
步骤三:验证成果
扩容完成后,再次运行 lsblk 检查:

此时可以看到,ubuntu--vg-ubuntu--lv 的大小已经完美变成了 1022G!再配合 df -h / 查看,根目录的可用空间终于实至名归!
常用命令
查看文件系统格式
命令:df -T /
