Increase Your VMware Virtual Hard Disk Size ( vmdk file )

by on June 9, 2009 · 35 comments· LAST UPDATED June 18, 2009

in , ,

I've Windows Vista installed as a guest under Ubuntu Linux using VMWARE Workstation 6.0. This is done for testing purpose and browsing a few site that only works with Internet Explorer. Since I only use it for testing I made 16GB for Vista and 5GB for CentOS and 5GB in size for FreeBSD guest operating systems. However, after some time I realized I'm running out of disk space under both CentOS and Vista. Adding a second hard drive under CentOS solved my problem as LVM was already in use. Unfortunately, I needed to double 32GB space without creating a new D: drive under Windows Vista. Here is a simple procedure to increase your Virtual machine's disk capacity by resizing vmware vmdk file.

Required Tools

  1. VMWare Product : Working Virtual machine and Vmware Workstation (it will work with other vmware product such as GSX Server and VMware Server).
  2. GParted LiveCD : Third-party utility to expand the size of a virtual disk.

Step # 1: Shutdown The Guest Operating System

Shutdown and poweroff Windows Vista.

Delete all your snapshots from snapshot manager by visting VM > Snapshot Manger. Since you are going to resize you virtual disk, these snapshots going to create a problem for you.

Backup your entire virtual machine. My VM is located at /share/vms/WindowsVista. So I made a backup:
# cp -arv /share/vms/WindowsVista /safe/path/to/vm/05062009/
OR
# rsync /share/vms/WindowsVista user@lan.nixcraft.net.in:/.dumps/vms/05062009/
Another option is you can clone your guest in VMware, if you want to keep the existing virtual machine configuration by visiting VM > Clone option.

Step # 2: Increase Your Virtual Machine's Disk Capacity

Open shell prompt and type the following command:
# /usr/bin/vmware-vdiskmanager -x {diskSize}GB yourvm.vmdk
If you are using Windows operating host system change directory to C:\Program Files\VMware\VMware Workstation or add this to your PATH settings. Click on Start > Run and type cmd to open Windows shell prompt:
vmware-vdiskmanager -x {diskSize}GB "c:\vm\yourvm.vmdk"
OR use full path as follows
C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager -x {diskSize}GB "c:\vm\yourvm.vmdk"

Example: Increase Size to 32GB

Linux host example:
# /usr/bin/vmware-vdiskmanager -x 32GB /share/vms/WindowsVista/vista.vmdk
Windows host example:
C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager -x 32GB "c:\vm\centos.vmdk"

Step # 3: Expand The Size Of a Virtual Disk

Now, disk size is increased but operating system will only show 16GB used and 16GB unused. To add new 16GB to C: (i.e. expand the size of a a virtual disk), use GParted. You will need to use a third-party utility such as GParted to resize the expanded partitions. The GParted application is the GNOME partition editor for creating, reorganizing, and deleting disk partitions. GParted is a live Linux based CD. Download latest version here or use wget command as follows:
$ cd /tmp
$ wget http://nchc.dl.sourceforge.net/sourceforge/gparted/gparted-live-0.4.5-2.iso

Start Vmware

Select your VM (such as Windows Vista). Click on VM menu > Select Properties > Select CD / DVD > Use ISO Image > Click on Browse > Select /tmp/gparted-live-0.4.5-2.iso > Ok > Save.

Fig.01: Boot From Gparted Live CD

Fig.01: Boot From Gparted Live CD

Start your virtual machine. Press F2 to visit Vmware BIOS menu. Make sure boot option order is set as follows (CDROM drive should be the first boot device):

Fig.02: Allow Virtual Machine To Boot From a Live CD

Fig.02: Allow Virtual Machine To Boot From a Live CD

Hit [F10] function key to save and exit BIOS menu. Within minutes you will boot into Gparted Live CD.

Select your disk (such as /dev/sda1).

Click on Resize/Move button.

Set a new size to maximum size (it is displayed on the screen itself).

Fig.03: Resizing Windows Vista Virtual Disk

Fig.03: Resizing Windows Vista Virtual Disk

Finally, hit Resize/Move button to start the process:

Fig.04: Gparted in action

Fig.04: Gparted in action

Depending on the amount (disk size and storage type) and type (resize or move) operation resize may tae a long time. After sometime Gparted will give out the final confirmation about disk resize operation (you must not get any error on screen):

Fig.05 Gparted resize disk operation

Fig.05 Gparted resize disk operation

Click on exit button shutdown Gparted.

Step # 4: Fix Windows MBR and Partition Issue

  1. Get your Windows Vista CD and insert the installation disc.
  2. Click Repair your computer to fix MBR and other small issue.
  3. When the repair process is complete, click Finish.

Step # 5: Verify Your Disk Space

Make sure the virtual machine configured to start from a hard disk by pressing F2 key. Save and exit BIOS. Once done, you should able to boot into Windows vista (chkdsk may run at startup). Just verify your disk space:

Fig.06: Windows Vista Running As Guest with 32GB virtual disk space.

Fig.06: Windows Vista Running As Guest with 32GB virtual disk space.

Recommend Readings:

  1. The official Vmware website and documentation.
  2. A Stop error occurs, or the computer stops responding when you try to start Windows Vista.
  3. Resize Windows Partition with Open Source Software.
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 35 comments… read them below or add one }

1 kakyo June 9, 2009 at 11:07 pm

Thanks a lot for the detail.
It’s still to much trouble… I’ll give up.

Reply

2 Muster Maxmann June 10, 2009 at 6:17 am

For the Windows VM you coud also have used the build-in diskpart.exe.

Reply

3 nixCraft June 10, 2009 at 6:25 am

@Muster,

Thanks for sharing diskpart.exe. I had no idea about it.

Reply

4 Solaris June 11, 2009 at 7:46 pm

There is another solution that allows you to define growable disk size, at least in
Windows guest, but I don’t remember now how.

Reply

5 camper trailer June 12, 2009 at 1:31 pm

The warm feeling I get when someone is thoughtful enough to say thank you for having been helped far outweighs the empty one
I get when there’s no feedback at all

Reply

6 Ulver June 18, 2009 at 7:05 pm

my question could be stupid ….but if you can use vmware-diskmanager to increse a partition …it will be posible to use to de-crease it ?

Reply

7 Gil June 25, 2009 at 11:40 pm

Great step by step just got some trouble then now it work like a charm, i just get the turn around..
@ ulver if you want to de-crease it.. But go to gparted first to deacrease it using resize. Then delete the unallocated part of the this. the use repair from windows.

Actually i use Windows 7 RC

Reply

8 Gil June 25, 2009 at 11:43 pm

You can use system restore cd 1.1.2 this is very light tools gparted is included in this iso.. its only 239mb…
Download it then burn it.

Reply

9 zairo July 19, 2009 at 7:56 am

I’ve follow that step by step but when I open gparted in my vmware console, there’s disable option for resize button. I am using xubuntu 9.04 host and FreeBSD 6.3 Guest. I just don’t know where the wrong part is.

Reply

10 ravindra August 10, 2009 at 5:27 pm

HI
I installed Ubuntu as guest OS under windows XP(host system). Now i have a problem of disk space for ubuntu. How can i increase the ubuntu disk space…

Thank you

Reply

11 Vaibhav Ghadiok November 8, 2009 at 8:01 pm

I am running ubuntu 8.04 using VMWare on Windows XP. I downloaded the vmware-vdiskmanager through the VDDK Development Kit (Since I am using VMWare Player. I have read a few posts stating that Ubuntu will automatically recognize and increase the vmdk but that is not happening. Any comments/suggestions?

Thanks.

Reply

12 Sonny January 4, 2010 at 9:50 pm

I usually use the Free download:
VMWare Converter

Tell it the source VM image
Tell it the folder to put the new image into
Tell it to enlarge the drive

don’t know if this works with VM Player… I’m running workstation 6.x

Reply

13 peter September 9, 2010 at 8:53 pm

Thanks Vivek, I was able to extend my Linux .vmdk using vmware-vdiskmanager and the gpart live cd.

Reply

14 Muhammad Tauqeer Iqbal January 12, 2011 at 11:22 am

Many Thanks

Reply

15 ari March 8, 2011 at 7:59 am

great tutorial with good details, thanks.

Reply

16 Kristina March 10, 2011 at 3:05 pm

Great post. Although I am new to Linux, this post/tutorial really worked for me. Just as comment, with VMWare Workstation 7 there is the possibility to Power on to BIOS directly from the Menu (VM ->Power -> Power on to BIOS).

Many thanks.

Reply

17 Peter May 17, 2011 at 7:36 am

….does NOT work for OpenSolaris with ZFS file system.
Gparted tool does not recognize and allow resize of ZFS partitions.

Reply

18 Steve May 18, 2011 at 6:36 pm

worked like a charm on a C: win2k3 VM

thanks!

Reply

19 shakir May 24, 2011 at 6:58 pm

MY host os : Vista
Guest Os : Ubuntu
when i running the command
c:/programfiles/vmware/vmware-vdiskmanager -x 16GB “C:/ubuntu/ubuntu.vmdk”
i am getting the following error:
failed to expand the disk “C:/ubuntu/ubuntu.vmdk” one of the paremeters applied is invalid
any help apprecitated …..pls

Reply

20 ravi May 27, 2011 at 9:00 am

If your guest is windows 2008, you can simply go to Computer Management-Storage and do Extend volume wizard. Its simple.

Reply

21 rohit August 11, 2011 at 10:39 am

i have selected CD-ROM first in boot menu when i used key F10 Fig.03:( Resizing Windows Vista Virtual Disk) did not come ,what sud i do??
Please help me

Reply

22 Andrew August 17, 2011 at 1:38 pm

Hey thanks for the tutorial!

I was able to resize the disk but when I go into GParted I only have the option to increase the size of my extended partition not the ext3 boot partition (Running Ubuntu Server). Any way to fix that / make it work?

Reply

23 Senthil Gurusamy November 8, 2011 at 11:57 am

Hi Vivek,
I am able to resize my hdd with this detailed steps.
Thanks for this nice tutorial.

Reply

24 Drew Nichols November 22, 2011 at 11:17 pm

This worked like a charm for me. Thank you so much for the post.

Reply

25 John Mulder November 27, 2011 at 5:09 pm

Nice. Very nice. Thanks a lot !

Reply

26 px February 18, 2012 at 11:40 am

I nominate you for hero of the day. Other nominees include whoever it was that created that gparted live disk. Freaking brilliant, thanks much! Went from frustrating problem, to google, to your site, to problem solved in about 5 minutes.

Reply

27 surfer June 12, 2012 at 4:58 am

Thanks so much. Even if I needed to a couple of more tricks for my case, basically this tutorial could have solved my issue very nicely. Thanks again. ;)

Reply

28 surfer June 12, 2012 at 5:01 am

thanks. ;)

Reply

29 Vijay Borhade July 12, 2012 at 9:50 am

You didn’t Mention to Click Apply Buddy , It took my 15 Mins

Reply

30 SleepIT September 26, 2012 at 3:20 pm

Easier method in Vista and above –

In Windows guest, move virtual memory location to another drive
Shut down VM
Perform steps one and two above
Boot into VM
Control Panel, Administrative Tools, Computer Management, Disk Management
Right click the Volume and select Extend Volume.
No need for GParted or Windows OS .iso!!
Move virtual memory back to this drive if desired.

Reply

31 gincy cartoni December 14, 2012 at 11:32 am

Thank you for this tutorial. It was very helpfull.
Just one detail : to acced BIOS, the start was to fast, I edit my vmx fil to add the following : bios.bootDelay = “5000”
Then I was able to press F2 in time !

Reply

32 Alex December 21, 2012 at 10:27 am

Only one comment
If the swap partition is between the unallocated disk and the one we want to resize, you have to move it to the end of the pool, and then you’ll be able to reallocate the disk.
Bye!

Reply

33 Shiva August 6, 2013 at 8:16 am

This works great for me without having any issues. Thanks for the article

Reply

34 kavimani April 4, 2014 at 6:55 am

I have Solaris 10 VMware instance, we need to increase /usr mount point.
It is possible to increase the size

Reply

35 Mohammed April 11, 2014 at 4:59 am

Hi Team,

I do have a concern on extending the size of Virtaul hard disk, tried by the UI option available in Vmware workstation10.0 but no luck, also tried by using the command its has been grown successfull, but while turning on it is prompt an error “◦Failed to open (The parent virtual disk has been modified since the child was created)”

I’ve three VHD files, unable to get the process for editing CID no of these hard disk.

Reply

Leave a Comment

Tagged as: , , , , , , ,

Previous post:

Next post: