温馨提示×

centos virtualbox如何扩容磁盘

小樊
56
2026-09-08 17:18:45
栏目: 智能运维

在 CentOS + VirtualBox 环境下扩容磁盘,一般分为 VirtualBox 扩容 → CentOS 内部分区/文件系统扩容 两步。下面按常见场景一步步说明(以 CentOS 7/8,使用 LVM 为例,也包含非 LVM 情况)。


一、VirtualBox 端扩容

1. 关闭虚拟机

sudo shutdown -h now

2. 查看磁盘类型

VirtualBox 磁盘通常是:

  • VDI
  • VMDK
  • VHD

3. 使用 VBoxManage 扩容

进入 VirtualBox 安装目录(Windows 示例):

VBoxManage modifyhd "CentOS.vdi" --resize 51200

表示扩容到 50GB(单位 MB)

Linux / macOS:

VBoxManage modifyhd ~/VirtualBox\ VMs/CentOS/CentOS.vdi --resize 51200

✅ 此时 虚拟机磁盘变大了,但系统内部还没生效


二、CentOS 内部扩容

登录系统后查看

lsblk
df -h

三、情况一:使用 LVM(最常见)

1. 查看分区

fdisk -l

你会看到类似:

/dev/sda
  /dev/sda1  boot
  /dev/sda2  LVM

2. 新建分区

fdisk /dev/sda

操作:

  • n 新建
  • p 主分区
  • 回车默认
  • 回车默认
  • t 修改类型
  • 8e(Linux LVM)
  • w 保存

3. 刷新分区表

partprobe

4. 创建物理卷

pvcreate /dev/sda3

5. 加入卷组

vgextend centos /dev/sda3

(卷组名用 vgdisplay 查看)

6. 扩展逻辑卷

lvextend -l +100%FREE /dev/centos/root

7. 扩展文件系统

CentOS 7(xfs)

xfs_growfs /

CentOS 6(ext4)

resize2fs /dev/centos/root

✅ 完成

df -h

四、情况二:非 LVM(直接分区)

1. 删除并重建分区(有风险)

fdisk /dev/sda
  • d 删除分区(不要格式化)
  • n 新建更大分区
  • w 保存

2. 刷新

partprobe

3. 扩容文件系统

resize2fs /dev/sda1

(xfs 用 xfs_growfs)

⚠️ 非 LVM 不建议直接操作,容易数据丢失


五、推荐方案(最佳实践)

✅ 新虚拟机一律使用 LVM
✅ VirtualBox 磁盘用 VDI + 动态分配


六、常见问题

Q:resize 后 df 没变化?

  • 忘了 xfs_growfs
  • 分区没新建
  • LVM 没扩展

Q:VMDK 不能 resize?

先转成 VDI:

VBoxManage clonehd centos.vmdk centos.vdi --format vdi

如果你愿意,可以贴一下:

lsblk
df -h

我可以直接帮你给出精准命令。

0 踩