Monday, December 15, 2014

Extend System Partition on a Windows Server 2003 VM using Dell ExtPart

There is no native tool that enables extending system partitions (C:\ drives) on Server 2003. There are multiple ways to perform this task, however, the only method that can be done online utilises a Dell utility called ExtPart. It can perform the extension of the system partition with no downtime although sometimes booting into Safe Mode and then running ExtPart is necessary to clear locks on the disk.
Note: This applies to Server 2003 only, newer versions of Windows do not suffer from this limitation, Disk Management as well as the diskpart are able to extend system partitions on-the-fly.

The first step is to download the ExtPart utility from this link. Click on the Download File link and save it to your desktop. The file is a self-extracting zip file called ExtPart.exe per the below:
20140201130639
Double-click on it and accept the default path it will extract the utility to:
20140201130715
Click on Unzip and the files will be extracted successfully:
20140201130747
To demonstrate how useful ExtPart is we will use an example whereby our demo VM has a 15 GB C:\ drive and it needs to be increased to 30 GB. A screenshot of the the current state of the C:\ drive is below:
20140201125606
We go into the VM settings and can see that the virtual disk is indeed 15 GB in size:
20140201125846
We increase the virtual disk size to 30 GB and apply the change:
20140201130043
Within the VM load Disk Management and select Action > Rescan Disks so that the system sees the newly added 15 GB of storage:
20140201130150
After the re-scan completes you will now see the extra 15 GB of unallocated space:
20140201130240
Now we need to run the ExtPart utility expand the C:\ drive so that it utilizes the 15 GB of unallocated space. To proceed, open the command prompt and go to the location where you extracted the ExtPart utility, in my case, C:\dell\ExtPart:
C:\>cd C:\dell\ExtPart
Then run ExtPart.exe:
C:\dell\ExtPart>extpart.exe
Enter the volume that is being expanded, in this example it is the C:\ drive so enter just C: without the backslash:
Volume to extend (drive letter or mount point): C:
Then enter the amount in MB to increase the volume by, I entered 15343:
Size to expand the volume (MB): 15343
The output will confirm the new size of the volume (C:\ drive), which is 30678 MB:
New volume size          :30678 MB (32169069568 bytes)
The full sequence of commands can be seen in the screenshot below:
20140201131412
When going back into Disk Management and re-scanning the disks, we can see that there is still 31 MB that is unallocated:
20140201131316
To add that remaining 31 MB to the C:\ drive, we go back to ExtPart and perform the same series of steps but this time add 31 MB:
Size to expand the volume (MB): 31
A screenshot of those steps is below:
20140201131707
Now going back into Disk Management you can see that the C:\ drive is using all of the provisioned space in the disk:
20140201131606
If the utility returns an error such as “the disk is not accessible” or “unable to connect to C:” then reboot the VM into Safe Mode and then run the same ExtPart commands. This is caused by various services locking the disk and preventing ExtPart from extending the volume. Booting into Safe Mode starts up the OS in a clean state, so only minimal services and drivers will run, thereby allowing ExtPart to expand the volume without interruption.

Original Link: