VirtualBox安装的Linux虚拟机虚拟磁盘膨大问题处理

    经常在Windows机下安装虚拟Linux操作系做实验,为了节省硬盘空间,并最大地让虚拟机适应将来的要求,把虚拟硬盘的容量定义很大,然后设置动态分配属性使其按需扩展。虚拟硬盘的动态扩展和Oracle的表空间类似,是单方向的,也就是增大后就不能自动缩小。虚拟机使用的真实空间其实远远小于宿主机上的虚拟磁盘大小,因此需要经常性的Shrink下虚拟磁盘对节约硬盘资源意义重大。

    网上对缩小虚拟硬盘文件存储容量的方法有很多,其中比较靠谱的一种办法是在虚拟机操作系统中执行dd命令创建一个由0构成的巨大文件,然后接着将其删除,在宿主机删使用VBoxManage工具对磁盘进行压缩,这种做法不是对每类文件系统都有效,于是通过搜索整理了行之有效的办法。

1、使用System Rescue CD启动虚拟机操作系统,这里采用这类CD的原因是它适应性比别的Live CD强,其实Ubuntu Live CD也是可以的,下载地址为http://www.sysresccd.org/Download

2、进入Live CD的操作系统后找到需要缩减的磁盘对应的设备,执行如下命令

  root@sysresccd /root % zerofree -v /dev/sda1

  root@sysresccd /root % fsck.ext2 -f /dev/sda1

  如果存在多个非swap分区,依次执行

  对swap分区执行如下命令

  dd if=/dev/zero of=/dev/sda3

3、关闭虚拟机操作系统,退出VirtualBox,在宿主机中执行

  VBoxManage.exe modifyhd --compact e:\VMs\RHEL\RHEL.vdi

 

  注:zerofree貌似无法完成包含加密文件系统的设备读写。

 

    Windows的虚拟机只需进行磁盘碎片整理,使用SDelete执行sdelete -c重启后再执行VBoxManage.exe进行磁盘压缩即可,再次就不尝试了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值