温馨提示×

virtualbox虚拟硬盘ubuntu下怎么扩容

小樊
31
2025-11-30 10:45:51
栏目: 云计算

VirtualBox 虚拟硬盘 Ubuntu 扩容全流程

一、准备与前置检查

  • 关闭虚拟机,建议先创建快照或备份虚拟硬盘文件,防止操作失误导致数据丢失。
  • 确认磁盘类型:在主机上使用命令查看磁盘信息(Windows 在 VirtualBox 安装目录执行)
    • 列出磁盘:VBoxManage list hdds
    • 扩容 VDI(单位为 MB):VBoxManage modifyhd “<路径/磁盘名.vdi>” --resize <大小MB>(示例:–resize 51200 表示 50GB)
  • 启动进入 Ubuntu,确认当前容量与分区布局:
    • 查看分区与容量:df -h
    • 查看块设备与分区表:lsblksudo fdisk -l
  • 注意:扩容仅支持“放大”,不支持“缩小”。

二、扩容步骤(按分区方案选择)

  • 方案 A|传统分区(非 LVM):使用 GParted 图形化扩容(推荐)
    1. 安装 GParted:sudo apt update && sudo apt install gparted**
    2. 打开 GParted,选择目标磁盘(如 /dev/sda)。
    3. 若新增空间在分区之后,直接右键目标分区(如 /dev/sda1)→“调整/移动”,将“大小”拉满到未分配空间末尾,点击“√”应用。
    4. 若未分配空间在分区之前,需先“移动”分区位置,使未分配空间与目标分区相邻,再“调整大小”。
    5. 应用完成后重启,确认:df -h
  • 方案 B|传统分区(非 LVM):使用 fdisk 重建分区并扩容文件系统
    1. 查看分区:sudo fdisk -l,确认要扩展的分区(如 /dev/sda1)。
    2. 进入分区工具:sudo fdisk /dev/sda
      • 输入 d 删除原分区(只删分区表项,不丢数据),再输入 n 新建分区,选择主分区(p),起始扇区保持默认(如 2048),结束扇区用 +<大小>G(如 +39G)。
      • 若提示“是否移除签名”,选择不移除(保持 Linux 类型)。
      • 输入 w 写入并退出。
    3. 重启:sudo reboot
    4. 扩展文件系统:
      • ext2/ext3/ext4sudo resize2fs /dev/sda1
      • xfs:先确认挂载点(如 /dev/sda1 挂载到 /),执行:sudo xfs_growfs /
    5. 验证:df -h
  • 方案 C|LVM(逻辑卷管理):扩展物理卷 → 卷组 → 逻辑卷 → 文件系统
    1. 查看 LVM 信息:sudo pvssudo vgssudo lvslsblk
    2. 扩展物理卷(PV):sudo pvresize /dev/sdaX(X 为包含未分配空间的分区,如 /dev/sda3
    3. 扩展逻辑卷(LV):sudo lvextend -l +100%FREE /dev/<vg名>/<lv名>(示例:/dev/ubuntu-vg/ubuntu-lv
    4. 扩展文件系统:
      • ext2/ext3/ext4sudo resize2fs /dev/<vg名>/<lv名>
      • xfssudo xfs_growfs /mount/point(如 /
    5. 验证:df -h

三、常见坑与修复

  • 未分配空间不在目标分区后面:需先“移动”分区,使未分配空间与目标分区相邻,再“调整大小”。
  • 扩容后 df -h 仍不变:忘记扩展文件系统(ext 用 resize2fs,xfs 用 xfs_growfs)。
  • 出现 GPT PMBR size mismatch:在救援/试用环境执行 parted -l,按提示输入 Fix 修复。
  • 使用固定大小 VDI 扩容失败:可新建更大的 VDI,用 dd if=/dev/sda of=/dev/sdb 全盘复制,再在 parted 中调整分区,最后用 pvresize/lvextend/resize2fs 扩展到 LVM 或文件系统。
  • 主机磁盘空间不足导致 VDI 扩容失败:先清理或扩容主机磁盘,再执行 VBoxManage modifyhd --resize

四、快速验证与回滚

  • 验证:
    • 总容量与挂载点:df -h
    • 分区与未分配空间:lsblksudo fdisk -l
    • LVM 状态:sudo pvssudo vgssudo lvs
  • 回滚:如操作异常,先关闭虚拟机,在 VirtualBox 使用快照恢复或换回原 VDI 文件。

0