很多人装 Ubuntu 时没有选择 LVM,后期磁盘空间不够,不知道怎么扩容。其实非 LVM 环境一样可以扩容,而且非常简单,只需要两条核心命令。这篇适合是使用云服务器,或者虚拟机用户。因为物理机的话,大部分人在安装时就已经把硬盘容量划分了。
本文适用于:
- 虚拟机磁盘扩容后
- 云服务器硬盘升级后
- 标准 Ubuntu 分区(/dev/sda1、/dev/sda2、/dev/sda3)
- 文件系统为 ext4(Ubuntu 默认)
一、扩容前准备
- 先在虚拟机 / 云平台把磁盘容量加大 例如从 20G 改成 40G。
- 进入 Ubuntu,查看磁盘信息
lsblk
你会看到磁盘总空间变大了,但分区大小没变。
- 查看根分区位置
df -h
常见根分区:
/dev/sda3/dev/sda2
下面以 /dev/sda3 为例。
二、安装 growpart(如未安装)
sudo apt update
sudo apt install -y cloud-guest-utils
三、第一步:扩容分区
sudo growpart /dev/sda 3
含义:
/dev/sda是磁盘3是分区号
成功提示类似:
CHANGED: partition=3 start=xxx old: size=xxx end=xxx new: size=xxx end=xxx
四、第二步:扩容文件系统(让系统识别新空间)
sudo resize2fs /dev/sda3
五、验证是否成功
df -h
看到 / 目录空间变大即成功。
六、如果 growpart 不可用,用 parted 替代
sudo parted /dev/sda
resizepart 3
Yes
100%
quit
然后再执行:
sudo resize2fs /dev/sda3
七、常见问题
- 扩容不生效 必须先
growpart,再resize2fs,顺序不能反。 - 没有空闲空间 要先在虚拟机 / 云平台把磁盘加大。(物理机的朋友不用看了,除非你增加一块硬盘)
- 分区前面有 swap 需要先关闭 swap,移动分区,新手不推荐。