The built-in Windows DISKPART utility will do it.
1. Run CHKDSK D: (or other drive letter) to make sure your file system is clean.
2. Run DISKPART from the command line.
3. Type LIST DISK to get a list of drives attached to the system.
4. Type SELECT DISK 1 (replace with the proper disk number) to select the disk you need to expand.
5. Type LIST PARTITION to get a list of partitions on that drive.
6. Type SELECT PARTITION 1 (replace with the proper partition number) to select the partition you need to expand.
7. Type LIST VOLUME to get a list of volumes mounted on the computer. Verify that there is a "*" next to the disk/partition/volume that you want to expand.
8. Type EXTEND and hold thy breath.
9. Type EXIT to get out of DISKPART.
10. Run CHKDSK D: (or other drive letter) again to make sure file system is still intact.
The partition will be extended to use the additional space on the drive.
Limitations:
* The free space to be used by the partition must be directly after the partition on the disk.
* You can only expand, you cannot shrink.
* Partition to be expanded must be NTFS.
* You cannot expand the boot/startup partition.
* You have no control over the amount of space that will be used - the expansion will use the rest of the free space on the disk, no choice.
* It is recommended that you only use DISKPART on basic disks, not dynamic disks.
DISKPART is included in Windows XP SP2, Windows Server 2003 SP1, Windows Vista, and Windows Server 2008. The Windows XP x86 version does not support GPT disks. All other versions do.