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管理器 --> 管理 --> 虚拟介质管理 中就可以调整了,比较简单