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

虚拟机安装Ubuntu时硬盘空间不足怎么办?如何扩容虚拟机磁盘,虚拟机扩容步骤详解

导读虚拟机安装Ubuntu时硬盘空间不足,最直接的解决办法是扩容虚拟磁盘,而不是重装系统;操作顺序为先扩大宿主机上的虚拟磁盘文件,再在Ubuntu内扩展分区和文件系统,很多人第一次用虚拟机装Ubuntu,默认20GB空间,装完系统再装几个软件就满了,这个问题的根源往往不是安装本身失败,而是你低估了系统更新和依赖包的……

虚拟机安装Ubuntu时硬盘空间不足,最直接的解决办法是扩容虚拟磁盘,而不是重装系统;操作顺序为先扩大宿主机上的虚拟磁盘文件,再在Ubuntu内扩展分区和文件系统。

很多人第一次用虚拟机装Ubuntu,默认20GB空间,装完系统再装几个软件就满了,这个问题的根源往往不是安装本身失败,而是你低估了系统更新和依赖包的占用,或者创建虚拟机时分配空间太保守,下面我从原因、预防、扩容、清理四个层面把这件事说透。

为什么Ubuntu虚拟机硬盘这么容易满

不合理的初始分配是主因

多数虚拟机向导默认给Ubuntu的建议是20GB,但如果你选择“交互式安装”,系统更新、中文语言包、浏览器、开发工具会很快吃掉一半以上,剩下的空间一旦被日志文件、缓存、快照占满,系统就会告警,甚至无法开机。

动态分配与固定大小的区别

  • 动态分配:一开始只占很小空间,随着数据增多慢慢扩大,方便但性能稍低。
  • 固定大小:创建时一次性占满宿主机磁盘,速度快但浪费空间。

如果你当初选的是动态分配,那么虚拟磁盘文件本身可能还有“剩余潜力”,只是Ubuntu内部的分区没有用到它,这时候扩容只需两步:调大虚拟硬盘,再调整Ubuntu的LVM或普通分区。

虚拟机安装Ubuntu时硬盘空间不足怎么解决

这个问题有两个层面:一是还没安装时空间不足,二是装完以后空间不足,前者多半是宿主机磁盘空间不够,后者是Ubuntu分区规划不合理。

安装前避免空间不足的准备工作

  1. 在宿主机上腾出至少30-40GB空闲空间,Ubuntu 22.04/24.04 桌面版完整安装加上后续更新,建议总分配不低于40GB。
  2. 创建虚拟机时选择“动态分配”+“拆分文件”,方便日后迁移和扩容。
  3. 自定义分区时,建议将设为30GB,/home

    虚拟机安装Ubuntu时硬盘空间不足怎么办?如何扩容虚拟机磁盘,虚拟机扩容步骤详解

    设为剩余空间,swap根据内存大小分配(内存小于2GB则分2GB,大于2GB可不用swap文件)。

  4. 安装过程中选择“最小安装”可以省掉LibreOffice等大型预装软件,为后续需要腾出空间。

已安装后的紧急扩容方法

如果系统还能正常启动,先备份重要数据,然后按下面步骤操作,注意:操作前先关闭虚拟机。

VirtualBox扩容步骤

  1. 打开VirtualBox,关闭目标虚拟机,在管理界面点击“设置→存储”。
  2. 找到你的虚拟磁盘文件,在属性栏中将“动态分配”改为“固定大小”前不要直接改大小,正确做法是点击“文件→虚拟介质管理器”,选择对应磁盘,用滑块调大容量(比如从20GB调到50GB)。
  3. 确认修改后,启动Ubuntu,此时系统仍然看不到新空间,因为分区表还没变,需要进入终端执行分区扩容。

VMware扩容步骤

  1. 关闭虚拟机,右键虚拟机设置→硬盘→“扩展磁盘容量”,输入新的最大值。
  2. 启动Ubuntu,执行同样的分区扩容逻辑。

Ubuntu虚拟机磁盘扩容实操:从命令到图形界面

图形工具GParted最直观

  • 安装GParted:sudo apt install gparted(如果系统空间已经满了,可以先用sudo apt clean清理缓存腾出空间)。
  • 打开GParted,右键点击/dev/sda(具体设备名以lsblk输出为准)上的主分区,选择“调整大小/移动”,拖拽到最大。
  • 点击“应用”后,新空间会被合并,这种方式适合没有使用LVM的普通分区。

LVM分区的扩容逻辑

不少Ubuntu服务器版默认采用LVM,扩容前先执行sudo vgdisplay查看卷组剩余空间,

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

这条命令适合默认安装的LVM逻辑卷,扩展文件系统后通过df -h验证空间是否增加。

虚拟机安装Ubuntu时硬盘空间不足怎么办?如何扩容虚拟机磁盘,虚拟机扩容步骤详解

命令行扩容的完整流程

如果你不想装图形工具,可以直接用fdisk或growpart:

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

growpart处理的是根分区(设备名和分区号以实际为准),完成后无需重启,空间立即生效。

虚拟磁盘扩容时常见的三个坑

虚拟机快照导致的操作失败

如果你创建过快照,VirtualBox和VMware会锁定磁盘文件,必须先删除快照或克隆一份再扩容,否则“扩展大小”按钮是灰色的,这一点不少人都踩过:备份数据后,删除旧快照再操作是最稳妥的。

动态固定磁盘类型限制

VirtualBox中vdi格式扩容很方便,但vmdk格式的固定大小磁盘较难直接扩容,建议将磁盘转换为vdi再扩容:

VBoxManage clonehd original.vmdk new.vdi --variant Standard

宿主机磁盘空间不足

虚拟磁盘扩容只是把最大值变大,实际文件在宿主机上仍是逐步增长,如果你宿主机只剩5GB,却想给Ubuntu加50GB,这不可能,行业共识是:宿主机空闲空间至少要是扩容量的2倍,因为临时文件和数据一致性校验需要额外空间。

Ubuntu系统空间满了还有哪些保命技巧

清理apt缓存和日志

  • sudo apt clean:清理/var/cache/apt/archives中的.deb包。
  • sudo journalctl --vacuum-size=50M:限制系统日志体积。
  • 删除Snap旧版本:snap list --all,删除不用的软件包。

使用系统自带磁盘分析器

Ubuntu自带“磁盘使用分析器”,启动后能直观看到哪些文件夹占满空间,一般~/snap、/var/cache、/usr/share是三大肥肉。

直接迁移大文件到共享文件夹

虚拟机磁盘满了,但宿主机还有大量空间,可以把不常用的安装包、镜像文件放到VirtualBox共享文件夹中,再建立软链接,这一步能大幅缓解空间压力,同时避免频繁扩容。

虚拟机安装Ubuntu时硬盘空间不足怎么办?如何扩容虚拟机磁盘,虚拟机扩容步骤详解

新装机用户最容易忽视的规划建议

创建虚拟机时,给Ubuntu的设置不是越大越好,也不是越小越省,最优做法是:先按30GB分配,但保证虚拟磁盘文件位置所在分区有50GB以上的空闲,这样无论是动态扩容还是后续增加新虚拟磁盘,都有操作余地,如果你是自己练习用的桌面环境,40GB足够;如果打算跑Docker或编译大型项目,直接给60GB以上。

业内专家指出,多数虚拟机空间不足问题都源于初始分配时“够用就行”的心理,实际上Linux系统更新和依赖包的增长速度远超预期,与其装完系统再折腾扩容,不如第一次创建时就预留充足空间,并把/home独立分区,这样重装系统也不会丢失用户数据。

Q&A:虚拟机安装Ubuntu硬盘空间不足相关问题

为什么我按照扩容教程操作后Ubuntu显示的空间没增加?

常见原因是扩容的是虚拟磁盘,但Ubuntu内部的分区没有执行扩展,虚拟磁盘是容器,分区和文件系统是容器里的结构,两者缺一不可,你需要先确认宿主机已成功调整磁盘大小,然后用GParted或resize2fs扩展分区,最后用df -h查看结果。

虚拟机里Ubuntu根分区空间满了,能不能不扩容直接运行?

可以,但只能作为应急,使用apt clean和journalctl清理后能腾出几个GB,勉强运行系统,如果空间低于500MB,系统更新会失败,图形界面可能卡顿,最稳妥的方法还是关闭虚拟机,手动扩大虚拟磁盘,再扩展分区。

VirtualBox扩容和VMware扩容的步骤一样吗?

不完全一样,VirtualBox需要在“虚拟介质管理器”中调整vdi或vmdk的大小,VMware则直接在虚拟机设置中拖动硬盘滑块,两者在Ubuntu内部的扩容逻辑完全相同:都要扩展分区和文件系统,操作前都要关闭虚拟机并备份数据,尤其注意VMware的扩容不能超过宿主机磁盘剩余实际空间。

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