在 CentOS + VirtualBox 环境下扩容磁盘,一般分为 VirtualBox 扩容 → CentOS 内部分区/文件系统扩容 两步。下面按常见场景一步步说明(以 CentOS 7/8,使用 LVM 为例,也包含非 LVM 情况)。
sudo shutdown -h now
VirtualBox 磁盘通常是:
VDIVMDKVHD进入 VirtualBox 安装目录(Windows 示例):
VBoxManage modifyhd "CentOS.vdi" --resize 51200
表示扩容到 50GB(单位 MB)
Linux / macOS:
VBoxManage modifyhd ~/VirtualBox\ VMs/CentOS/CentOS.vdi --resize 51200
✅ 此时 虚拟机磁盘变大了,但系统内部还没生效
lsblk
df -h
fdisk -l
你会看到类似:
/dev/sda
/dev/sda1 boot
/dev/sda2 LVM
fdisk /dev/sda
操作:
n 新建p 主分区t 修改类型8e(Linux LVM)w 保存partprobe
pvcreate /dev/sda3
vgextend centos /dev/sda3
(卷组名用 vgdisplay 查看)
lvextend -l +100%FREE /dev/centos/root
xfs_growfs /
resize2fs /dev/centos/root
df -h
fdisk /dev/sda
d 删除分区(不要格式化)n 新建更大分区w 保存partprobe
resize2fs /dev/sda1
(xfs 用 xfs_growfs)
⚠️ 非 LVM 不建议直接操作,容易数据丢失
✅ 新虚拟机一律使用 LVM
✅ VirtualBox 磁盘用 VDI + 动态分配
xfs_growfs先转成 VDI:
VBoxManage clonehd centos.vmdk centos.vdi --format vdi
如果你愿意,可以贴一下:
lsblk
df -h
我可以直接帮你给出精准命令。