对VirtualBox虚拟机vdi镜像文件进行瘦身

转自:http://www.vmbest.com/school/2-virtualbox-school/388-virtualboxvdi

 

VirtualBox是一款非常帮的开源虚拟机软件,体积很小,运行很快。我在Linux下使用该软件,虚拟windowsxp。但使用一段时间后,尤其是在客户机中使用大量临时文件后,文件虽然被删除了,但是虚拟机磁盘vdi文件的大小却只增不减,这样,实际物理硬盘的空间就会被白白浪费,造成host的磁盘空间紧张。现在就说一下,如何将vdi文件中没有被使用的空白空间归还给主机系统,等需要的时候再分配给客户机使用。

 

我使用Linux做主机,客户机是windows xp with NTFS file system.
首先在客户机中安装SDelete软件, 可在下面的地址下载到:

http://www.microsoft.com/technet/sysinternals/Security/SDelete.mspx

然后在客户机中的终端里(及ms-dos窗口)输入

sdelete -c c:

如果有分区,以此对每一个分区进行空白磁盘空间的填写0处理。也就是将NTFS格式中的空白空间全部填写成‘0’。
关闭客户机和virtualBox,在bash提示符下输入

vditool SHRINK WindowXP_with_NTFS.vdi
windwos系统在CMD下用 VBoxManage modifyhd VDI文件名 compact

vditool是virtualBox自己带的一个工具软件,主要是对vdi文件进行各种操作。其中SHRINK是一个参数,表示对vdi文件进行瘦身。
完成就vdi文件就恢复到了该有的大小,释放了不必要占用的物理硬盘空间。

 

经本人验证由原来的23G减少到17G,但每人情况不同,不保证效果很明显

posted @ 2010-07-08 14:14  D.Resource  阅读(2500)  评论(0编辑  收藏  举报