Network Administrator Knowledgebase

Jun 21 2009   3:41PM GMT

How To Shrink VMware Virtual Disk Files (.vmdk) (Windows OS installed as Guest).

Michael Khanin Michael Khanin Profile: Michael Khanin

Recently I worked on building VM Appliance and when I was ready to convert my VM to appliance I’ve figured out that virtual disk is too big. So, I did what I usually do in this situation. And now I’d like to show how you can shrink the virtual disk files of your VMware virtual machines so that if you zip them, they will use much less space. It is then easier to upload and share them with other people.

Yes, I know, many of you now said “Misha is going to talk about Shrink”. You know what, you pretty true, but …

Everybody knows What the “shrink” does. Shrink removes an empty space from .VMDK file.

However, the problem is this: What is empty space?

When Windows deletes a file, it doesn’t actually delete the data on the disk, it just deletes the references/pointers in the file allocation table. So when “Shrink” is processing a vmdk and is looking at the raw disk, it’s seeing values that aren’t empty (non-zero), and exports them as such.

You can easily test this out. Create a new vmdk on a VM. Export the VMDK right after you’ve created it. The exported files will be very small. Now fill the vmdk up with files and export; it will be very big. Now, delete all the files in the vmdk and export; it’ll still be big! If you will try to do a “Shrink”, you will see that the vmdk file is still big.

So, before doing a Shrink, I’m always using a really cool command line tool developed by Mark Russinovich, SDelete. Simply, execute SDelete with parameter -c inside running Virtual machine, then shut down the Guest and do a Shrink.

Last note. Just in case you forget how to do a shrink ;). From command line go to C:\Programme\VMware\VMware Server\ and execute the vmware-vdiskmanager.exe as shown in following example:

“C:\Programme\VMware\VMware Server\vmware-vdiskmanager.exe” -k “ITSTUFF-SRV-1.vmdk”


 Comment on this Post

There was an error processing your information. Please try again later.
Thanks. We'll let you know when a new response is added.
Send me notifications when other members comment.

Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to:

Share this item with your network: