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

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

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

Defraggler下载地址: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 FilesSunxVM
VirtualBox),执行:

VBoxManage modifyvdi "Windows
XP.vdi" compact

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

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

 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

[转载]在VirtualBox中收缩虚拟磁盘映像文件的更多相关文章

  1. virtualbox 中ubantu虚拟机范文win7文件夹

    宿主机操作系统: windows7_x64 旗舰版 Oracle VM virtualBox版本:5.0.12 虚拟机操作系统: Ubantu15.12_x64 Desktop版本   让虚拟机可以访 ...

  2. 在virtualbox下使用vm映像文件

    virtualbox可以直接打开vmdk 创建虚拟机时先不要创建虚拟硬盘. 虚拟机创建成功后,在设置窗口,点击[存储],添加虚拟硬盘,点击选择现有的虚拟盘. 参考链接

  3. 【转载】eclipse中批量修改Java类文件中引入的package包路径

    原博客地址:http://my.oschina.net/leeoo/blog/37852 当复制其他工程中的包到新工程的目录中时,由于包路径不同,出现红叉,下面的类要一个一个修改包路径,类文件太多的话 ...

  4. Virtualbox中Linux添加新磁盘并创建分区

    原文:https://www.linuxidc.com/Linux/2017-01/139616.htm ----------------------------------------------- ...

  5. VirtualBox中安装CentOS-6.6虚拟机(转载)

    1. 下载 可以到官网下载,http://mirror.centos.org/centos/ 如果下载速度太慢的话,也可以到163镜像下载: http://mirrors.163.com/centos ...

  6. 在virtualBox中打开vdi(转载)

    在VirtualBox中启动“新建虚拟机”向导.第一步,输入名称“ubuntu”,选择系统类型为“Linux 2.6”.第二步,内存大小默认是256MB,不变.第三步,虚拟硬盘,点击按钮“现有”,在新 ...

  7. VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机

    NOTE: 一开始安装的Ubuntu12.04,后来又重新安装了14.04.截图基本使用了安装12.04时的截图,后来安装14.04时又补充了几张.该安装过程对Ubuntu12.04和14.04都是适 ...

  8. VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机(转)

    add by zhj: 如果宿主机是win7,那VirtualBox建议安装4.3.12,再高的版本在Windows7上运行会报错,从4.3.14到5.0.xx版本,一直报错,搞了半天也解决不了.如果 ...

  9. 在VirtualBox中安装BlackArch Linux

    作者:荒原之梦 安装前的准备 下载系统映像:BlackArch Linux官网下载页面 在本文中我使用的是BlackArch Linux的Live ISO,这样可以减少安装时下载系统的时间.Black ...

随机推荐

  1. 让Windows加入域的PowerShell

    $domain = "midrange.lab" $password = "MyPassword!" | ConvertTo-SecureString -asP ...

  2. Python3爬虫:利用Fidder抓取手机APP的数据

    1.什么是Fiddler? Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,ht ...

  3. 我们为何放弃Eclipse,投奔IntelliJ IDEA

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/11/why-drop-eclipse-use-intellij Nikita ...

  4. Introduction to Learning to Trade with Reinforcement Learning

    http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/ The academic ...

  5. hadoop2.2.0 centos 编译安装详解

    http://blog.csdn.net/w13770269691/article/details/16883663 废话不讲,直切正题. 搭建环境:Centos x 6.4 64bit 1.安装JD ...

  6. 使用nginx反向代理到不同服务器(共享同一端口)配置文件

    使用nginx反向代理到不同服务器(共享同一端口)配置文件 https://blog.csdn.net/wang_k_123/article/details/72779443 https://www. ...

  7. URL重写2.1.mis

    概观 IIS URL重写2.1使Web管理员能够创建强大的规则来实现更容易让用户记住的网址,并使搜索引擎更容易找到.通过使用规则模板,重写映射,.NET提供程序和集成到IIS管理器中的其他功能,Web ...

  8. Google Java Style 中文版

      Google Java Style 中文版     基于官方文档2013.12.19最后一次改动. 翻译人:Weir Zhang (zh.weir) 旁白:水平有限,很多地方只是意译.不准确的地方 ...

  9. GetParam(name)

    function GetParam(name) { var match = new RegExp(name + "=*([^&]+)*", "i").e ...

  10. 牛客网-《剑指offer》-斐波那契数列

    题目:http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3 C++ class Solution { public: in ...