VirtualBox 虚拟机磁盘不够时,需要区分三个层次:宿主机上的虚拟磁盘容量、客体系统里的分区或逻辑卷,以及文件系统可用空间。只扩了第一层,Linux 的 df 输出通常不会自动变化。
先决定扩原卷还是新增数据卷
扩原卷能让原目录继续使用更多空间,但操作涉及现有分区或 LVM;新增数据卷则可以挂载到独立目录,适合把新数据单独存放。两种方案不要混着执行,尤其不能把已有数据分区直接格式化。
先备份重要数据,确认虚拟磁盘格式、快照链和宿主机剩余容量,并按 VirtualBox 对应版本说明操作。通常先关闭客体,再查询目标磁盘:
VBoxManage list hdds
需要调整的是真正连接到目标虚拟机的介质。不同版本使用 modifyhd 或 modifymedium,是否支持 resize 也取决于介质格式和状态。容量参数常以 MB 为单位,不能用设备路径和数字随意试。
在 Linux 中确认新增空间
lsblk -f
df -h
核对设备大小、分区、文件系统类型和挂载点。如果使用 LVM,还要检查 PV、VG、LV 的关系。新增磁盘、扩分区、扩逻辑卷和扩文件系统是不同动作;ext 系列和 XFS 的工具也不同。
若选择在新增空间创建一个独立分区,只能对确认没有需要保留数据的目标初始化文件系统。设备名称可能变化,不应照着示例把 /dev/sda3 当作所有机器上的新分区。
挂载和开机恢复
先临时挂载并验证读写,再用实际文件系统 UUID 规划 fstab。写入前保存原配置,检查格式及 mount 验证结果,避免重启后进入维护模式。挂载到非空目录会遮住原目录内容,也要提前处理。
目录权限根据应用运行账户设置,不使用 chmod 777 作为通用解决办法。最后检查重启后仍能挂载、应用使用的是新空间,以及宿主机不会因动态磁盘继续增长而耗尽容量。