服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-16 更新于 2026-10-16 简米科技 3,316 字 8 分钟阅读

VirtualBox虚拟机扩容后空间没变大?系统里看不到新增容量怎么办?

导读VirtualBox扩容后空间没变大,根源在于你只扩大了虚拟磁盘文件的上限,分区表和文件系统并没有同步感知,要让系统真正用上新容量,必须手动执行分区扩展和文件系统调整两步操作,VirtualBox扩容后空间没变大,先搞明白卡在了哪一层不少人在VirtualBox里给虚拟机磁盘扩容,重启后进系统一看,磁盘空间还是……

VirtualBox扩容后空间没变大,根源在于你只扩大了虚拟磁盘文件的上限,分区表和文件系统并没有同步感知,要让系统真正用上新容量,必须手动执行分区扩展和文件系统调整两步操作。

VirtualBox扩容后空间没变大,先搞明白卡在了哪一层

不少人在VirtualBox里给虚拟机磁盘扩容,重启后进系统一看,磁盘空间还是老样子,先别急着反复折腾,问题大概率出在两层:虚拟磁盘层和系统分区层,只有两层都操作完,新容量才会真正出现。

虚拟磁盘文件扩容不等于系统分区扩容

VirtualBox的VDI文件好比一块真实的物理硬盘,你在管理器里点“调整大小”,只是把这块“硬盘”从100GB换成了200GB,但硬盘上的分区表还写着“100GB”的老布局,操作系统的文件系统也停留在旧尺寸,分区表和文件系统没动,系统自然看不到新增容量。

这一点和物理机上给硬盘分区扩容的逻辑完全一致:硬盘容量变了,分区还要手动扩展,VirtualBox不会替你完成后面的步骤。

快照是你扩容路上的隐形拦路虎

如果虚拟机带快照,扩容会变得很讨厌,带快照的VDI由基础镜像加多个差异文件组成,直接执行resize命令,VirtualBox会提示“有快照,无法调整大小”,即便强行操作,快照差异文件里的分区表也没跟着变,最终系统里依然看不到新容量。

行业共识认为,给带快照的虚拟磁盘直接扩容属于高风险操作,主流做法是先把快照合并或删除,操作前务必在虚拟机设置里确认快照列表为空,再开始扩容。

磁盘格式不同,处理方式也不同

VirtualBox总共支持VDI、VHD、VMDK三种磁盘格式,不同格式的扩容门槛不一样,可以参考下表:

VirtualBox虚拟机扩容后空间没变大?系统里看不到新增容量怎么办?

磁盘格式 直接扩容 需要注意的点
VDI 支持 最常用的格式,扩容顺利
VHD 支持 动态大小VHD可直接调,固定大小VHD需转换
VMDK 一般不直接操作 多数来自VMware虚拟机,建议先转为VDI再扩容

转换命令也不复杂,在宿主机终端里执行:

VBoxManage clonemedium "原磁盘路径" "新磁盘路径" --format VDI

转换完成后,再对新的VDI执行扩容,这套路更省心。

VirtualBox磁盘扩容后系统看不到新容量,手动分区才是关键

磁盘文件层面扩容成功,只是第一步,打开VirtualBox管理器,确认磁盘显示已经是新容量后,剩下的事交给操作系统内部。

Windows 里怎么把新容量分配给 C 盘

Windows下扩容整块虚拟磁盘后,最常见的表现是:磁盘管理里能看到一大片“未分配空间”,但C盘大小纹丝不动,这个场景处理起来并不复杂,Windows自带diskpart工具就能搞定。

按Win + R,输入cmd回车,在命令行里依次执行:

diskpart
list disk
select disk 0
list volume
select volume 0
extend

extend命令会把磁盘上未分配的空间直接并入C盘,执行完关掉窗口,打开“此电脑”看一眼,C盘已经变大了。整个过程不需要重启,无需第三方工具。

不过有两个坑要提醒,第一,未分配空间必须紧挨在C盘后面,如果中间隔了恢复分区或ESP分区,extend会提示“没有足够的可用空间”,第二,如果这块磁盘用的是MBR分区表且扩容后总量超过2TB,Windows根本不认超出部分,只能转到GPT或控制扩容目标在2TB以内。

Linux 里怎么在线扩展根分区

Linux系统在VirtualBox扩容后,用df -h看根分区没变化,但用lsblk能看到磁盘整体容量变大,说明分区容量还没跟上。

多数情况下,ubuntu、Debian、CentOS这些主流发行版都装了cloud-guest-utils工具集,在终端执行两步就能解决:

VirtualBox虚拟机扩容后空间没变大?系统里看不到新增容量怎么办?

sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1

第二步针对ext4文件系统,如果是XFS文件系统,把resize2fs换成xfs_growfs /即可,执行完用df -h确认根分区已经膨胀到新容量。

如果你把根分区放在LVM逻辑卷里,那流程要加一步,先扩展物理卷,再扩展逻辑卷,最后扩展文件系统:

sudo pvresize /dev/sda2
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

一套组合拳打完,新容量才真正落到文件系统上。

用 GParted 图形化方案兜底

命令行用不习惯的话,备选方案是拉一个GParted Live的ISO镜像,挂载到虚拟机光驱并设置为第一启动项,引导后就能看到图形化分区界面。

操作路径很直观:右键选中根分区或C盘,点击Resize/Move,把分区末尾拖动到新边界,确定后Apply,GParted执行过程中会卸载分区,等进度条走完重启虚拟机,空间就回来了。

这个方法对Windows和Linux都适用,尤其适合Windows下extend命令报错、分区布局又恰好卡住的场景。用它调整分区,基本能绕开“未分配空间不相邻”的难题。

扩容操作常见失误与规避

实际操作中,不少人栽在同一个地方:扩容前没备份,扩容后遇到分区表损坏或数据丢失又无从恢复,无论磁盘格式是VDI还是VHD,执行分区调整前,最稳妥的做法是把虚拟机整体导出备份,或者至少对目标分区做一次完整快照。

VirtualBox虚拟机扩容后空间没变大?系统里看不到新增容量怎么办?

常见场景 现象 处理建议
带快照扩容 执行modifymedium时报错 删除快照或clone新镜像再操作
Windows下extend失败 提示没有足够可用空间 用GParted把未分配空间挪到C盘后面
扩容后超过2TB 系统里只剩下2TB,多出的消失 将分区表转为GPT,或用第三方工具调整
Linux下growpart报错 分区表忙碌 运行sudo partprobe或重启虚拟机后重试

无论用哪种方式调整分区,扩容前导出虚拟机或备份关键数据都是底线操作。 VirtualBox的VDI文件可以随时复制备份,这一步成本很低,却能在关键时刻救回整台虚拟机。

VirtualBox 扩容相关常见问题解答

VirtualBox扩容后空间没变大怎么办?

依次排查两个位置,先看VirtualBox管理器里磁盘显示容量是不是新值,如果这里都没变,说明扩容步骤本身没执行成功,检查虚拟机磁盘格式和快照状态,重新执行VBoxManage modifymedium命令,如果管理器里已经显示新容量,问题就出在系统分区层,按上文Windows或Linux的分区扩展方法操作即可。

VirtualBox扩容后需要重启虚拟机吗?

Windows下用diskpart扩展C盘后,文件系统会同步更新,不需要重启就能看到新容量,Linux下growpart和resize2fs同样支持在线操作,但分区表加载中的情况下需要执行partprobe或重启一次才能识别新分区布局,稳妥起见,所有操作完成后重启虚拟机确认效果,花不了一分钟。

VirtualBox扩容失败提示磁盘有快照怎么办?

这种情况只能先把快照处理掉,在VirtualBox管理器中选中虚拟机,打开快照列表,删除全部快照或创建合并快照,也可以使用VBoxManage clonemedium命令将带快照的磁盘克隆为无快照的新虚拟磁盘,再对新磁盘执行扩容,克隆完成后挂载到原虚拟机即可。克隆前记得备份虚拟机目录,防止误操作覆盖原镜像。

扩充分区这件事,说到底就两句话:VirtualBox负责把磁盘文件的上限撑开,操作系统负责把分区和文件系统撑到上限,两层都到位,新容量一分不少地出现在系统里。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱