Blog换新家:http://element.blog.ubuntu.org.cn/
换地不换人
同时祝贺我乔迁之喜
并祝各位该过节的过节快乐
迁移 Blog (10 Comments)
给VirtualBox的vdi文件瘦身 (17 Comments)
原来使用VMWare,有个Shrink功能,可以减小虚拟机文件占空间的问题,改用VirtualBox后,一直没找到这个功能,跑VirtualBox分了动态的10G空间,以前一直够用,所以没去管它,最近vdi文件占到了8G多,而从所跑的XP里看呢,实际才占用了4G多,再加上硬盘的空间只剩4G多了,所以准备给它瘦身。
瘦身需要 vditool 这个工具,我以前下载了好几次,都失败了。这次终于成功了。
vditool is available for download here (choose Save As):
http://www.virtualbox.org/download/testcase/vditool
或者用wget下载。
把这个vditool拷贝到你的vdi文件目录下,然后开个终端,输入:./vditool
这样可以看到vditool的用法
$ ./vditool
vditool Copyright (c) 2004-2005 InnoTek Systemberatung GmbH.Usage: vditool <Command> [Params]
Commands and params:
NEW Filename Mbytes - create new image;
DD Filename DDFilename - create new image from DD format image;
CONVERT Filename - convert VDI image from old format;
DUMP Filename - debug dump;
RESETGEO Filename - reset geometry information;
COPY FromImage ToImage - make image copy;
COPYDD FromImage DDFilename - make a DD copy of the image;
SHRINK Filename - optimize (reduce) VDI image size.
我们要用到的是SHRINK这个参数,所以输入如下:
./vditool SHRINK vdifilename
耐心的等待一下咯,这要视你的vdi文件的大小而定快慢。
第一次,结果是从8.2G瘦身到了8.1G,很失望,最后在VirtualBox论坛上搜了一下,搜到了一个办法。要用 SDelete 这个工具,这个工具是M$的一个工具,下载:
http://www.microsoft.com/technet/sysinternals/Security/SDelete.mspx
进入虚拟机的XP系统,如下运行 SDelete:
sdelete -c c:
这个工具不知道运行原理是什么,但是结果是把硬盘里的空闲区域用0来填充。这就是我之前为什么没瘦身成功的问题所在。这个工具在运行过程中好像要用到硬盘空间,还没搞完就提示我硬盘空间不够,没办法了,只能结束它咯。
接下来关闭虚拟机,再次运行
./vditool SHRINK vdifilename
这次瘦身成功。8.2G –> 4.7G
reference:
http://forums.virtualbox.org/viewtopic.php?t=169&highlight=vditool