如何扩容VirtualBox中安装的Ubuntu虚拟机的硬盘容量?
VirtualBox Ubuntu虚拟机硬盘扩容可行方案
前置提醒
- 所有操作前请先备份对应虚拟机的虚拟磁盘文件,避免分区操作失误导致数据丢失
- 所有涉及虚拟磁盘配置的操作都需要先完全关闭虚拟机,不能在挂起状态操作
方案1:直接扩容原有虚拟磁盘
适合不想拆分存储路径,要把原有根目录直接扩容的场景
步骤1:VirtualBox端调整虚拟磁盘容量
- 打开VirtualBox主界面,进入「工具 > 媒体」页面,找到该Ubuntu虚拟机对应的
.vdi/.vmdk格式虚拟磁盘文件 - 直接拖动虚拟大小滑块到目标容量(比如20GB),点击应用即可
- 如果你使用的是固定大小的虚拟磁盘,无法直接在图形界面调整,可执行命令调整:
VBoxManage modifymedium disk /你的虚拟磁盘路径/xxx.vdi --resize 20480
其中20480是目标容量的MB数值,20G对应20480,可按需修改
步骤2:Ubuntu系统内调整分区大小
- 启动Ubuntu虚拟机,先安装分区工具:
sudo apt update && sudo apt install gparted -y - 打开GParted工具,可看到磁盘末尾出现未分配的空闲空间
- 如果空闲空间和原有根分区(一般是
/dev/sda1,ext4格式)之间存在swap分区/扩展分区:- 右键swap分区,选择交换空间 > 停用
- 依次删除swap分区、对应的扩展分区,此时空闲空间会和根分区相邻
- 右键根分区,选择调整大小/移动,拖动滑块将所有空闲空间分配给根分区
- 重新新建swap分区,格式化后记下新的UUID
- 编辑
/etc/fstab文件,替换swap分区对应的UUID为新值,执行sudo swapon -a启用swap
- 如果不存在swap分区阻隔,直接右键根分区调整大小占用所有空闲空间即可
- 点击GParted界面的对勾按钮应用所有操作,完成后执行
df -h即可看到根目录容量已经更新
方案2:新增虚拟磁盘挂载使用
适合不想修改原有分区、希望把数据单独存储的场景,操作风险更低
步骤1:VirtualBox端添加新磁盘
- 打开虚拟机设置页面,进入「存储 > 控制器:SATA」,点击「添加虚拟硬盘」按钮
- 选择「创建新的虚拟磁盘」,按需设置容量,选择动态分配/固定大小均可,完成创建后挂载到虚拟机
步骤2:Ubuntu系统内挂载新磁盘
- 启动虚拟机,执行
sudo fdisk -l查看新磁盘的设备名,一般为/dev/sdb - 格式化新磁盘为ext4格式:
sudo mkfs.ext4 /dev/sdb(如果需要分多个区可先通过fdisk/GParted分区后再格式化) - 创建挂载目录,比如要挂载到
/data:sudo mkdir /data - 临时挂载测试:
sudo mount /dev/sdb /data,确认可正常读写后配置开机自动挂载 - 执行
sudo blkid获取/dev/sdb的UUID,编辑/etc/fstab文件,添加如下内容:UUID=替换为你查到的新磁盘UUID /data ext4 defaults 0 0
- 保存后执行
sudo mount -a,无报错则配置完成,新磁盘会在每次开机自动挂载到/data目录
内容的提问来源于stack exchange,提问作者Marco
相关产品推荐
相关产品推荐

