虚拟机磁盘空间不足,需要对磁盘进行扩容,这种时候有两种选择,第一种是挂载一个新的磁盘(win中在C盘基础上添加一个D盘),第二种是直接对原文件系统进行扩容(win中直接对C盘进行扩容)

挂载新磁盘

VirtualBox

  • 关闭虚拟机,在virtualbox管理器界面中右键虚拟机选择

    设置——存储——SATA——添加虚拟硬盘——选择VDI——选择固定大小——选择文件位置和磁盘大小——选择新加的磁盘空间

Ubuntu

  • 打开虚拟机,检查硬盘

    1
    sudo fdisk -l

    可以看到新的/dev/sdb,需要对这个磁盘进行分区

  • 磁盘分区

    1
    fdisk /dev/sdb

    输入m进入帮助

    输入n添加分区

    输入p添加主分区

    后续可以直接回车,使用默认值来创建分区数量等

    输入w保存退出

    检查分区是否创建成功

    1
    sudo fdisk -l
  • 格式化磁盘

    1
    sudo mkfs.ext4 /dev/sdb1

    会有 done 或者 完成 的输出提示

  • 创建挂载点

    1
    sudo mkdir <path>
  • 挂载硬盘(/dev/sdb1 需要替换为自己的硬盘路径)

    1
    sudo mount /dev/sdb1 <path>
  • 自动挂载

    1
    2
    3
    sudo vim /etc/fstab
    # 文件末尾添加
    /dev/sdb <path> ext4 defaults 0 0
  • 卸载硬盘

    1
    2
    sudo umount <path>
    # 删除/etc/fstab中添加的内容

上述格式化和挂载的操作也可以通过Ubuntu中的disk磁盘应用来进行可视化操作,点击选项按钮进行设置

但是在我的机子中,挂载成功后,在复制文件到新磁盘的过程中瞬间就用完了200G,导致虚拟机直接崩溃(后续猜测可能和当时的快照操作以及可视化的磁盘操作有关)

原磁盘扩容

VirtualBox

  • 关闭虚拟机,在virtualbox管理器界面中右键虚拟机选择

    管理——虚拟介质管理——选择扩容磁盘——修改大小

  • 列出所有虚拟磁盘

    cmd到VirtualBox的安装目录,输入命令

    1
    VBoxManage listt hdds

    查看所有的虚拟硬盘,并找到需要扩容的虚拟硬盘

  • 输入命令进行扩容(单位是MB)

    1
    2
    3
    VBoxManage modify "扩容磁盘路径" --resize 256000
    或者
    VBoxManage modify "扩容磁盘UUID" --resize 256000

这里有一个需要注意的点

如果有快照的话,还需要修改备份快照的vdi大小,因为Ubuntu启动时使用的快照vdi文件

另外,这种分配的方式应该是属于动态分配存储方式

Ubuntu

  • 打开虚拟机,在应用中搜索disk,找到磁盘并打开

  • 选择扩容的磁盘,应该可以看到扩容后的剩余空间,直接左键选项按钮,点击调整大小...

  • 弹出界面 调整卷大小,然后选择调整你想要的大小

  • 最后在终端执行

    1
    sudo fdisk -l /dev/sda

    完成对sda的扩容