现在的位置: 首页 > 综合 > 正文

VMWare 压缩磁盘空间

2013年08月28日 ⁄ 综合 ⁄ 共 2398字 ⁄ 字号 评论关闭
 经常使用VMWare来做开发和测试环境,但是VMWare的占用实际物理硬盘空间后,即使你在VMWare内虚拟磁盘中删除了相应的文件,也不会释放你的物理磁盘空间。

下面是整理的一个如何释放此类空间的方法。部分内容引用自其他网页。

 

Environment:

OS: Windows 7

Tools: VMware Player 3.0.1

 

No.1

Guest OS: Windows XP

1.       Install VMWare tools

2.       Run Shrink in you Guest OS. (Note: VMWare tools must be installed successfull.)

 

 

No.2

Guest OS: Ubuntu 10.10

1.       Run the following commands in your guest OS:

$ sudo apt-get clean

$ sudo dd if=/dev/zero of=/0bits bs=20M

$ sudo rm /0bits

Note: it will take a very long time at the 2nd command. And at last there is a warning “disk full” appear, skip that.

 

2.       Halt the guest OS, and enter “Edit virtual machine settings” in VMPlayer

3.       Hardware->Hard Disk(select your virtual diks) ->Utilities(at the right tab)->Compact

This step will take a very long time.

 

Reference document:

Shrink VMWare Virtual Disks formatted with ext4[转]

2011-04-18 15:26

http://www.insomnihack.com/?p=387

If you’re running a Linux distribution under VMWare that uses disks formatted with ext4 (as Ubuntu does by default), you may have had some problems shrinking the resulting virtual disks files your VM uses. This is because ext4 is a journaling file system. It protects your file system in case of a system crash or power failure.

Unfortunately, the current version of VMWare’s tools (I’m using Workstation 7.1 currently) hasn’t been updated to completely handle journaling file systems like ext4. Your disk won’t appear on the shrink tab of vmware-toolbox or be listed when using vmware-toolbox-cmd . This can be frustrating when your virtual disk grows to several gigabytes large than the actual data you’re using under Linux.

However, the good news is that you can reclaim the unused space with a little preliminary work inside your guest OS. First, execute the following commands from within the Linux guest.

$ sudo apt-get clean

$ sudo dd if=/dev/zero of=/0bits bs=20M

$ sudo rm /0bits

 

This will manually clear unused space. Note that the first call to apt-get is not required, and only applicable if you’re running a distribution that uses Debian’s advanced packaging tool for package management.

After you’ve executed these commands, shutdown your VM and use vmware-vdiskmanager to shrink the virtual drive file.

cd "C:\Program Files\VMware\VMware Workstation"

vmware-vdiskmanager -k path\to\your\VirtualDisk.vmdk

 

You should see a noticeable reduction in file size after this.

 

I have also discovered two things:
(1) for ‘dd’, it’s probably better to mention that you feed the partition size as the ‘bs’ parameter… so one will dd until ‘No space left’.
(2) for swap partition, can do so:
(Assuming that your swap partition is at /dev/sda6)
(Make sure you have enough free memory first)
$ sudo swapoff -a
$ dd if=/dev/zero of=/dev/sda6 bs=20971520 # Just fill up the space
$ sudo swapon -a

 

抱歉!评论已关闭.