【转】压缩Virtualbox的vdi文件

原文网址:http://i.rexdf.org/blog/2014/10/06/ya-suo-virtualboxde-vdiwen-jian/

问题实际上比较简单,我在Arch Linux杂记中给出过一种增加vdi磁盘空间的方法。实际上就是用gparted-live-iso复制一遍文件系统。这种方法也是具有压缩的效果的。Linux的不太清楚,Windows的系统可以直接用DiskGenius挂载磁盘,然后直接在DiskGenius里面按文件对拷。效果明显好于ghost-iso光盘拷贝的。Windows的vmdk的虚拟机我做备份的时候,都是直接用DiskGenius拷贝然后rar压缩一下,效果非常之好,原版的xpsp3全新安装打所有补丁,升级全部系统组件之后,rar包只有800M左右,这样的系统随时新建一个系统非常方便。

因为Arch我基本都不启动图形界面的,启动都是SHIFT的headless的方式,所以装在了VirtualBox里面。用过一段时间之后磁盘逐渐大了起来,前些天编译gpg4win之后还磁盘不足过。到这时我才发现pacman -Sc能极大地清理系统这个诀窍。

本文主要的是一个笔记,记录问题和解决办法,为以后备查。

我现在采用办法是这里的。

Linux 虚拟机:

sudo dd if=/dev/zero of=/bigemptyfile bs=4096k
sudo rm -rf /bigemptyfile

Windows虚拟机, 下载 SDelete (Sysinternals一个组件):

sdelete –z

然后执行

VBoxManage.exe modifyhd arch.vdi --compact

我用的是10.3.16,这里有个比较有意思的现象,上面的dd命令执行完了之后用df -h查看,可以发现磁盘剩余空间是0%,但是我在物理机上面查看,没有观测到任何磁盘空间变化,完全没有。执行完rm命令后,df -h看到的就恢复之前的正常值了,没有多也没有少。

另外还有就是执行到了60%多的时候,我都没观测到arch.vdi这个文件大小一比特的变化(我不停在按F5刷新查看)。但是执行完了之后我再去看的时候就从原来的28.8G减小到了21.5G了,释放了7.3G空间,确实不错。

另外官网还推荐一个zerofree,在arch的aur源里面有,可以用yourt zerofree进行安装。我之所以没有用这个办法是因为,虽然官网上面1.0.1说的是支持ext2,ext3,ext4,但是aur源里面版本1.0.2说明的是ext2 filesystem,看到这个我就放弃尝试了。

官网给出的方案

Windows虚拟机

sdelete -c C
sdelete -c D

Linux 虚拟机

mount -n -o remount,ro -t ext2 /dev/sda1 /
mount -n -o remount,ro -t ext2 /dev/sdb1 /var
zerofree /dev/sda1
zerofree /dev/sdb1
时间: 2024-10-17 07:27:16

【转】压缩Virtualbox的vdi文件的相关文章

VirtualBox 复制vdi文件和修改vdi的uuid

1.复制vdi文件:VBoxManage clonehd 因为VirtualBox不允许注册重复的uuid,而每个vdi文件都有一个唯一的uuid.所以要想拷贝一份vdi文件再次在VBOX中注册,简单的复制是不行的.此时我们需要用到命令VBoxManage clonehd,这个命令在克隆vdi文件时会给新文件设置一个uuid[注:要运行这个命令,先打开命令提示行,并进入到virtual box的安装目录].事例如下: [plain] view plaincopyprint? D:\Program

VirtualBox 导入.vdi文件时报“uuid is exists”错误

解决办法: 1.要安装的.vdi文件所在目录:D:\developTools\vm\RedHatLinux1.vdi 2.找到VirtualBox的安装目录,这里是D:\Program Files\Oracle\VirtualBox>. 3.执行命令: VBoxManage internalcommands sethduuid D:\developTools\vm\RedHatLinux1.vdi 我这里的virtualBox版本是4.3的.在virtualbox4.0.4以上是可以使用该命令的

VirtualBox 修改 VDI 文件位置

注 : [ .* ] 代表 [ .bak ] 的缩写 [ Dream_Lasting ] 代表 [ 虚拟操作系统的名字 ] [ 所有文件都修改列出的标签属性(目前在自己的机器上没有发生运行错误 [ Win 7 64bit ] ) ] [ value = "X:\[ FileDirectory ]\*.vdi" 多个vdi文件用分号隔开 ] 1.先把vdi文件移动到你想要放置的位置 2.去目录 [ C:\Users\Administrator\.VirtualBox\ ] 修改如下文件

在ubuntu下,压缩virtualbox的vdi后缀的磁盘文件

环境:在ubuntu 14.04LTS搭建的虚拟机环境,安装的虚拟机为winxp 随着虚拟机winxp的不断使用,磁盘空间也在不断的增大. 针对这种情况,可以对vdi磁盘文件进行压缩,使用virtualbox的管理工具vboxmanage可以实现对vdi格式的磁盘进行压缩. $ sudo vboxmanage modifyvdi XC_XP.vdi --compact 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

【转】减小virtualbox虚拟硬盘vdi文件的大小

原文网址:http://www.sijitao.net/1777.html virtualbox虚拟机运行久了之后就会发现,磁盘镜像vdi文件越来越大.即使你把虚拟机中的大文件删除,这个vdi文件占用的空间还是不变.也就是说动态扩展的vdi文件只会大,不会小.那么大的文件对于备份和分享都不是很方便,所以有必要的时候可以进行压缩处理.virtualbox界面没有提供图形界面的方式可以让我们来压缩虚拟硬盘大小,不过幸好可以通过命令来解决.主要分碎片整理和压缩两步. 虚拟机碎片整理 第一步要做的是碎片

【转】VIRTUALBOX导入已有.VDI文件步骤

原文网址:http://blog.csdn.net/wanghai__/article/details/6703923 1.安装SUN VIRTUALBOX 2.新建,进入到“新建虚拟电话”对话框,下一步 3.为虚拟电脑起个名字,并选择相应的OS类型,下一步 4.选择虚拟电脑使用内存的大小,下一步 5.选中“使用现有的虚拟硬盘”,点击右边的按钮,弹出一个“虚拟介质管理”对话框,点“注册”,并在弹出的对话框中选中自己需要导入的.VDI文件,下一步 6.确保信息无误,完成 7.点击开始,就可以启动你

VirtualBox的虚拟磁盘vdi文件扩容方法

找到VirtualBox的安装目录,该目录下有一个可执行文件可用于扩容:VBoxManage.exe 在该目录下启动命令窗口cmd 本人的vdi是:Windows 8.1.vdi,安装网上的说法:VBoxManage modifyhd Windows 8.1.vdi --resize 25000命令进行扩容,但是得到的结果: 参数不合法,原因是本人的vdi文件名为:Windows 8.1.vdi,仔细可以看出中间是有空格的,但是实际中我装Windows系统的时候就已经这样命名了,所以调用以上的命

减小VirtualBox虚拟硬盘文件的大小

虚拟机使用久了就会发现虚拟硬盘越来越大,但是进入虚拟机里的系统用命令看了下,实际占用的空间远没有虚拟硬盘大小那么大,这个让人很不爽,而且在分享虚拟机镜像的时候也很不方便.VirtualBox似乎没有提供图形界面的方式可以让我们来压缩虚拟硬盘大小,但是可以通过命令行来实现.经过实际测试,我的一个30多G的虚拟硬盘可以压缩到13G大小,可见效果还是非常显著的,这个可以压缩的空间取决于你虚拟机内真实的空间占用大小. VirtualBox 虚拟硬盘 目录[-] 1. 碎片整理 2. 压缩磁盘 Virtu

Ubuntu 16.04下减小VirtualBox虚拟硬盘文件的大小

一般在VirtualBox中安装Windows,然后用无缝模式进行某些特定软件的使用. 而VirtualBox的虚拟硬盘会越用越大,并且VirtualBox没有自带清理工具,相比VMware来说,VMware自带磁盘整理工具. 下面是具体的清理方法: 1.如果虚拟机使用的系统为Windows: ①进入虚拟机,下载SDelete,下载地址:http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx. ②在命令行上运行 sdelete.