How to extend a boot or system volume on a Windows 2003 Server VMware Virtual Machine


You may have had a requirement to increase the space on the system drive of a Windows Server only to find that even though there is unallocated space to extend into you cannot extend the partition.

There is a neat workaround that I have tried a few times that works very well.

  • Power down the Virtual Machine
  • Make a backup copy of the Virtual Machine. Depending upon your flavour of VMware this can be done a number of ways. I like to browse the datastore using the VI client and take a full copy of the VM.
  • In the VI client edit the settings of the VM and increase the system partitions’ virtual hard disk to the desired setting and apply
  • Next you will need a second VM that is also running Windows 2003 Server. Power it down. In the VI client edit the settings of the second VM and Add a Hard Disk.
  • Select Use an existing virtual disk and Browse to the actual location of the first VM’s system disk
  • After you have added the disk and applied it, power up the second VM
  • Open Computer Management > Disk Management and you should see the system disk from the first VM with the accompanying Unallocated space
  • Run the Diskpart utility from Start > Run > Diskpart
  • Type list volume which displays all available volumes. Locate the volume to increase and type select volume x (where x is the volume number)
  • Finally type extend. If it has worked the message Diskpart successfully extended the volume should appear
  • Shutdown the second VM and in the VI client remove the hard disk from its configuration
  • Power on the first VM and voila, your system partition should now be fully utilising the allocated space

Workaround to increase the virtual disk size of a VMware Virtual Machine when the 256GB VMDK limit is reached


When you initially create a VMFS partition on your LUN the default block size is 1MB. This however, can cause capacity issues when you have a virtual machine with a virtual disk that has reached 256GB and you need to increase the size.

Unfortunately, the maximum size of a VMDK file is determined by the block size of the VMFS partition. To change the block size you’ll have to reformat the VMFS partition which is not always an ideal or viable option in an established production environment.

Block size – maximum VMDK size
1 MB (default) – 256 GB
2 MB – 512 GB
4 MB – 1024 GB
8 MB – 2048 GB

As a workaround limited to Windows Virtual Machines I found that adding an additional virtual disk and spanning the existing and new disks within Windows works well.

Convert the existing data disk from Basic to Dynamic

image001

Select the disk to convert and click OK

image002

Select Convert to confirm

image003

Click Yes to the informational message regarding OS booting from a dynamic volume

image004

Click Yes to the file systems to be dismounted message

image005

After a short delay the disk is converted to dynamic

image006

Add a new virtual disk to your VMware Virtual Machine. Select Edit Settings by right clicking the VM.

Click the Add button and Hard Disk

image007

Select whether to create a new virtual disk or whether to use an existing one

image008

Select a size and location

image009

Select any Advanced Options here

image010

Click Finish to complete

image011

Click OK to complete the addition of the hard disk

image012

Go back into the Disk Management section and select Rescan Disks

image013

The new disk is now added. Right click and select Initialize Disk. Click OK to confirm

image014

Right click again and select Convert to Dynamic Disk. Click OK to confirm which disk to convert

image015

Right click the original disk that was converted from Basic to Dynamic, in this case Disk 1 and select Extend Volume

image016

The Extend Volume Wizard starts. Click Next and add the disk that you wish to add. In this case Disk 2. Click Next

image017

Click Finish when prompted by the wizard. The drive is now spanned

image018