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


Select the disk to convert and click OK


Select Convert to confirm


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


Click Yes to the file systems to be dismounted message


After a short delay the disk is converted to dynamic


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


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


Select a size and location


Select any Advanced Options here


Click Finish to complete


Click OK to complete the addition of the hard disk


Go back into the Disk Management section and select Rescan Disks


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


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


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


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


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