如何解决ubuntu虚拟机磁盘扩容,但df -h无变化

当在 VMware 中将 Ubuntu 虚拟机磁盘扩容到 100GB,但运行 df -h 后仍显示:

/dev/mapper/ubuntu--vg-ubuntu--lv   37G   33G  2.6G  93% /

也就是 根目录 / 的逻辑卷容量仍然只有 37G,而不是你预期的 100G。

根本原因

你在 VMware 中只做了“虚拟磁盘扩容”

但 Ubuntu 系统内部用的是 LVM(逻辑卷管理)

需要你手动扩展文件系统 才能实际使用新空间。

当前磁盘结构分析

从你的输出看,系统用的是 LVM结构

  • 物理磁盘:/dev/nvme0n1

  • 分区:/dev/nvme0n1p3(你没显示,但通常是这个)

  • 卷组(VG):ubuntu-vg

  • 逻辑卷(LV):ubuntu-lv 挂载在 /

你现在的目标是:

把扩容后新增的磁盘空间 分配给根逻辑卷 /,让 df -h 看到新空间。

解决方案:5 步完成 LVM 根卷扩容

你只需按以下 标准 5 步 操作即可(非常安全):


步骤 1:确认物理磁盘扩容成功

先看物理磁盘空间是否变了:

lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0                        11:0    1 1024M  0 rom
nvme0n1                   259:0    0  100G  0 disk
├─nvme0n1p1               259:1    0  953M  0 part /boot/efi
├─nvme0n1p2               259:2    0  1.8G  0 part /boot
└─nvme0n1p3               259:3    0 37.3G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0 37.3G  0 lvm  /

你应该能看到 /dev/nvme0n1 容量已经变为 100G,且 /dev/nvme0n1p3 是最大的分区。

步骤 2:扩容分区(如果分区没自动变大)

有两种可能:

  • ✅ 情况1:你扩容的是已有主分区 /dev/nvme0n1p3 → 可以直接下一步。

  • ❌ 情况2:你只扩了磁盘,但分区没变 → 需要使用 growpart 扩容分区。

如果你是情况2, 执行:

sudo growpart /dev/nvme0n1 3
CHANGED: partition=3 start=5623808 old: size=78262239 end=83886046 new: size=204091359 end=209715166
root@private-ser-240:~# pvresize /dev/nvme0n1p3
  Physical volume "/dev/nvme0n1p3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

(3 是你 LVM 所在的分区号,通常是 p3)

查看是否成功:

lsblk

步骤 3:扩容 PV(物理卷)

sudo pvresize /dev/nvme0n1p3

这一步让 LVM 知道你的物理卷变大了。

步骤 4:扩容 LV(逻辑卷)

你要把扩容部分分配给根目录(/)所在的逻辑卷:

sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

说明:

  • -l +100%FREE 表示把卷组中所有未用空间分配给当前逻辑卷

步骤 5:扩展文件系统

根据你用的文件系统类型(通常是 ext4),执行:

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

如果你用的是 xfs(比较少见),则是:

sudo xfs_growfs /

完成后检查:

df -h

你会看到 / 的可用空间变成了 100G 左右(去掉 boot/efi 等其他分区占用)。

### Ubuntu 虚拟机磁盘扩容教程 对于 VMware 中的 Ubuntu 20.04 虚拟机,当遇到磁盘容量不足的情况时,可以按照以下方式进行扩容。首先关闭虚拟机,在虚拟机设置中找到硬盘选项并扩展磁盘容量,这一步骤要求宿主机有充足的剩余空间来支持此次操作[^1]。 进入虚拟机之后,为了调整分区大小,推荐使用 GParted 工具。通过命令 `sudo apt install gparted` 安装该工具后启动它,并在其中对目标分区执行Resize操作以达到所需尺寸;如果有嵌套分区结构,则需先调整上级分区大小后再处理具体的目标分区[^5]。 如果是在 VirtualBox 环境下运行的 Ubuntu 虚拟机,同样面临磁盘空间有限的问题也可以采取类似的解决策略。考虑到 Android 源码占用大量存储资源的需求,提前规划好足够的额外分配给虚拟机的空间是非常必要的[^2]。 针对采用 LVM (Logical Volume Manager) 的情况,可以通过一系列特定指令完成磁盘扩容工作而无需重新创建整个文件系统。例如,利用 `lvextend` 命令配合 `-l +100%FREE` 参数以及指定逻辑卷路径 `/dev/ubuntu-vg/root` 来实现自动填充所有可用未分配空间的目的,最后借助 `resize2fs` 更新文件系统的实际大小以便充分利用新增加出来的物理存储区域[^4]。 ```bash # 扩展逻辑卷至最大可用空间 sudo lvextend -l +100%FREE /dev/ubuntu-vg/root # 更新文件系统大小匹配新的逻辑卷容量 sudo resize2fs /dev/ubuntu-vg/root ``` 确认上述步骤完成后,可通过命令 `df -h` 查询当前挂载点的实际可用空间量,以此验证是否成功完成了预期中的磁盘扩容过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值