Before expanding C drive, find out whether there's free unused space in any other partitions on the same disk, and then decide which partition to get space from. The way to add space to C drive from contiguous, non-adjacent partition or other disk is different.
Steps to add space to C drive from D on Windows Server 2012 (R2):
If there is not enough free space in the adjacent drive D, you can shrink E or other non-adjacent partition. In this situation, there's an additional step to move partition D.
Watch the video how to add space to system C: drive in Windows Server 2012 (R2):
If there's no available free space in other data volumes on the same disk, no software can add space to C drive from other separated disk. In that case, follow the steps to copy disk to a larger one and expand partition(s) with additional disk space.
If you run Windows Server 2012 as guest virtual machine in VMware or Hyper-V, firstly, check if you can shrink any data volume to get Unallocated space on the same virtual disk. If yes, there's no difference to add Unallocated space to C drive.
If there's no available free space, you can increase disk size without copying to other one, follow the guide below:
After expanding disk, additional disk space will be shown as Unallocated on the end of original virtual disk. Follow the method in the video and combine Unallocated space to C drive or other partition(s).
Windows Disk Management cannot extend C drive by shrinking another one. To add space to C drive on Windows 2012 server, you'd better back up and use safe partition software. Because of the powerful data protection technologies, NIUBI Partition Editor helps you complete this task fast and safely. It also helps you do many other disk partition operations.