Virtualbox 文件转换 压缩和扩容


我的虚拟机使用的是Virtualbox挂在的之前Vmware创建的.vmdk文件,最近突然发现原来分配的100G磁盘容量已经不够实用,实际虚拟机系统并未使用如此大的磁盘容量,具体原因是VMware虚拟机的虚拟磁盘的大小会随着使用时间不断变大,而且只赠不减。即使在虚拟系统中删除了磁盘中的文件,虚拟磁盘的大小仍然不会变小。

克隆.vmdk文件为.vdi文件

F:\Devs\Oracle\VirtualBox\VBoxManage.exe clonehd source.vmdk cloned.vdi --format vdi

挂在文件到虚拟机

挂在过程会报错: 错误:打开虚拟硬盘失败,UUID already exists, 克隆的磁盘文件的uuid和之前的vmdk文件一致,所以修改一下uuid即可

F:\Devs\Oracle\VirtualBox\VBoxManage.exe internalcommands sethduuid cloned.vdi 131b2a66-a477-41dd-b920-1a0a460d3ec8

之后就可以正常挂载了

磁盘瘦身

1.在虚拟机上执行命令

sudo dd if=/dev/zero of=zero.fill
sudo rm -f zero.fill
poweroff

确保空间足够存放zero.fill,不然整个系统将会由于空间耗尽导致各种异常

2.在宿主机上执行命令

F:\Devs\Oracle\VirtualBox\VBoxManage.exe modifyvdi cloned.vdi --compact
压缩效果如图,将原来92G左右的`.vmdk`文件压缩到60G左右

扩展磁盘容量

扩展到120G

F:\Devs\Oracle\VirtualBox\VBoxManage.exe modifyhd cloned.vdi --resize 122880

现在有了更大的虚拟磁盘了,但是对应的操作系统里分区的大小还是原来那样,不能访问刚刚增加的空间。扩展客户机操作系统的分区就像扩展一个物理计算机的真实分区。必须在虚拟机里的系统未运行状态下进行,正像你不能在系统还在运行时来扩大C盘的大小.

后续需要结合 GParted工具 工具,参考扩大虚拟机硬盘容量

参考

  1. Virtualbox最全扩展虚拟磁盘空间大小(vdi/vmdk)方法(Mac/Linux/Windows)
  2. 虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox
  3. VirtualBox压缩VDI文件 VDI文件瘦身方法
    4.扩大虚拟机硬盘容量
posted @ 2020-12-31 11:49  采男孩的小蘑菇  阅读(1198)  评论(0编辑  收藏  举报