Virtual Box虚拟机文件瘦身处理方式

Virtual Box虚拟机文件瘦身处理

今天,突然发现配置在virtual Box虚拟机启动出错!根据错误信息提示是磁盘满了,紫萱一看虚拟机文件所在的D:盘全部被占用了。

查找资料后得出结论,由于虚拟机文件在虚拟系统中删除东西后,实际占用的空间不变,这样虚拟机文件就只会变大不会变小。

根据网上查找的一些资料来看,解决方法如下:(我的实体机是Windows,虚拟机是centos)

1、将D:盘空出写空间来(确保虚拟机能够启动)

2、将虚拟机系统空闲的地方填0后删除。

处理过程如下:

启动虚拟机,然后在控制台执行如下命令:

<span style="white-space:pre">    </span>sudo dd if=/dev/zero of=/EMPTY bs=1M
<span style="white-space:pre">    </span>sudo rm -f /EMPTY

3、对虚拟机文件进行压缩处理。

处理过程如下:

打开cmd,切换到VirtualBox的安装目录

命令如下:

C:\Program Files\Oracle\VirtualBox\

3.1 如果虚拟机文件是vdi的格式,直接进行3.2的操作。

本步骤针对与vmdk格式,将vmdk格式转化成vdi格式

命令如下:

VBoxManage clonehd "vmdk文件(包含路径)" "vdi文件(包含路径,并且是vdi后缀)" --format vdi

3.2  对vdi文件进行压缩,命令如下:

VBoxManage modifyhd vdi文件(包含路径) --compact

对于vmdk格式的虚拟机文件,如果压缩后还要继续使用vmdk格式的话,就再一次转化下格式

命令如下: 

VBoxManage clonehd "vdi文件(包含路径)" "vmdk文件(包含路径,并且是vmdk后缀)" --format vmdk

至此,虚拟机文件大小已经变成实际虚拟机系统中使用的大小了。压缩后,文件也减少了一半左右。另外,vmdk转化成vdi时也会减少虚拟机文件的大小。

Virtual Box磁盘大小调整操作

环境说明

  • 主机 windows
  • 虚拟机 ubuntu

分配了 80G 的硬盘,现在已经占用 80 G 了。实际上很多文件已经删除了。

思路

1、将硬盘剩余的空间填充0数据, 再ubuntu下可以创建一个全是0的文件,再删除实现。

2、使用VBoxManage.exe 将硬盘压缩

操作

1、挂载要压缩的硬盘到 ~/data

sudo mount /dev/sdb ~/data/

2、填充 0 文件

~$ sudo dd if=/dev/zero of=~/data/EMPTY bs=1M
dd: error writing '/home/chenct/data/EMPTY': No space left on device
11417+0 records in
11416+0 records out
11970859008 bytes (12 GB, 11 GiB) copied, 138.392 s, 86.5 MB/s

从这点看,可以节约出 11G 的空间

3、删除 全是0空文件

rm ~/data/EMPTY

4、虚拟机关机

5、在windows环境下用VBoxManage.exe 进行压缩

C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe modifyhd "F:\vm\ubuntu\ubuntu-20\ubuntu-20_data.vdi" --compact
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

OK, 看结果, 成功瘦身 10 G

硬盘加大

如果想增加硬盘大小的话,在VirtualBox管理器 --> 管理 --> 虚拟介质管理 中就可以调整了,比较简单

总结

作者:轩辕龙儿原文地址:https://huangge1199.blog.csdn.net/article/details/78698989

%s 个评论

要回复文章请先登录注册