当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [转帖]在VirtualBox中收缩虚拟磁盘映像文件
帖子发表于 : 2008-09-13 15:05 
头像

注册: 2008-08-26 22:57
帖子: 189
地址: 长沙
送出感谢: 0 次
接收感谢: 0 次
转自http://blog.sina.com.cn/bobbyworm

由于经常要测试一些软件,我在VirtualBox虚拟机中安装了一套Windows。使用过虚拟机的朋友都知道,为了节省硬盘空间,一般都使用动态扩展映像。它不会在一开始就占用指定大小的硬盘空间,而是随着实际使用的需要动态扩展。但是在虚拟系统里删除了文件,使用过的空间并不会自动收回。虚拟系统使用久了以后,磁盘映像文件会变得越来越大。



我以前使用过VMware,在VMware Tools里有一个很方便的Shrink功能可以收回未使用的硬盘空间,但是在VirtualBox里没有看到这样的选项。经过上网查找资料,终于找到了在VirtualBox(我用的是2.0.0版)里Shrink的方法,只需要三个步骤:



第一步:在Guest OS中整理磁盘碎片。可以使用Windows自带的碎片整理工具,不过更推荐使用Defraggler。这是一款免费的磁盘碎片整理工具,使用简单,整理速度很快。

Defraggler下载地址:http://www.defraggler.com/download
http://www.filehippo.com/download_defraggler/

第二步:将Guest OS的磁盘剩余空间清零,也就是把0值写入磁盘未使用空间的每一个字节。这一步是关键,因为在下一步里,所有只包含0值的磁盘空间将被收回。可以用Sysinternals出品的一个命令行工具SDelete来完成这一步。在Guest OS的命令行里执行:
代码:
sdelete -c c:\

其中c:\是要清零的磁盘分区,应依次对所有虚拟磁盘分区执行这一步,如d:\、e:\等等。

SDelete下载地址:http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx


第三步:使用VirtualBox提供的VBoxManage工具收缩磁盘映像文件。在Host OS的命令行中进入VirtualBox的安装目录(缺省为C:\Program Files\Sun\xVM VirtualBox),执行:
代码:
VBoxManage modifyvdi 'Windows XP.vdi' compact

其中Windows XP.vdi是要收缩的磁盘映像文件名,请根据实际名称修改,不用指定路径。



经过这三个步骤以后,我的vdi文件从2.5G收缩到了1.2G,效果非常明显。以上介绍的前两个步骤所使用的工具是针对Windows的,如果Guest OS是Linux或其它系统,可以找一找相同功能的工具软件,原理都是一样的。


最后由 devin 编辑于 2008-09-13 17:07,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-09-13 15:59 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
收藏

原来硬盘写0是最重要的一步,之前我怎么做都不成功!


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-09-13 16:05 
头像

注册: 2007-05-06 8:19
帖子: 7433
送出感谢: 0 次
接收感谢: 4
不收回空间的话,该空间是否可以再次写入数据?


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-09-13 16:16 
头像

注册: 2006-10-25 18:10
帖子: 2677
地址: 长沙
送出感谢: 0 次
接收感谢: 0 次
冲浪板 写道:
不收回空间的话,该空间是否可以再次写入数据?
应该是可以的


_________________
你是自由的。别人也是。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-09-13 19:11 
头像

注册: 2007-08-17 17:10
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
有点麻烦。
我是直接再新建一个虚拟磁盘。
光盘启动ghost
全盘ghost到新磁盘
新磁盘文件大小就是实际使用大小了。

把旧的虚拟磁盘删掉,用新的。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-09-13 19:48 
头像

注册: 2008-07-14 22:42
帖子: 8078
地址: Beijing
送出感谢: 0 次
接收感谢: 0 次
收藏以后或许会用上。。。 8)


_________________
Ubuntu User


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-09-13 20:10 
头像

注册: 2007-03-13 17:26
帖子: 2254
送出感谢: 0 次
接收感谢: 1
噢,我的神啊。。。。。。。


不知道怎么搞的,把 -c 参数写成 -s 了,NND删除了N多数据 什么桌面快捷方式,快速启动,Cookies ....


马马咪哎


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-09-14 8:40 

注册: 2007-12-24 12:58
帖子: 87
送出感谢: 0 次
接收感谢: 0 次
tony3322 写道:
有点麻烦。
我是直接再新建一个虚拟磁盘。
光盘启动ghost
全盘ghost到新磁盘
新磁盘文件大小就是实际使用大小了。

把旧的虚拟磁盘删掉,用新的。


我也这么干的,毕竟可扩展虚拟硬盘在主系统下产生的碎片太多了
还是固定大小好点


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-09-15 0:47 

注册: 2006-11-25 7:46
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
分个 Xg 的独立空间,格式化成Ext3,挂上去,然后把Windows的Vbox虚拟机固定大小扔进去。OK了。不爽了把盘格式化~~~反正现在硬盘空间大,多分个10来G空间也不用心痛吧。


_________________
Ubuntu/linux QQ群(未满):25828986。


页首
 用户资料  
 
10 楼 
 文章标题 : Re:
帖子发表于 : 2009-02-25 13:08 
头像

注册: 2008-04-26 12:41
帖子: 10971
送出感谢: 11
接收感谢: 38
红颜白发 写道:
分个 Xg 的独立空间,格式化成Ext3,挂上去,然后把Windows的Vbox虚拟机固定大小扔进去。OK了。不爽了把盘格式化~~~反正现在硬盘空间大,多分个10来G空间也不用心痛吧。

没搞懂为什么这么干 :em20


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
11 楼 
 文章标题 : Re:
帖子发表于 : 2012-07-11 8:32 
头像

注册: 2007-10-05 10:28
帖子: 174
送出感谢: 6
接收感谢: 1
tony3322 写道:
有点麻烦。
我是直接再新建一个虚拟磁盘。
光盘启动ghost
全盘ghost到新磁盘
新磁盘文件大小就是实际使用大小了。

把旧的虚拟磁盘删掉,用新的。

试过楼主在办法,效果不大而且太麻烦了,还是这个方法简单有效。支持一下。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 11 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译