expand partition on Server 2003 sata HDD

I have a Server 2003 Standard R2 with Service pack 2.  It has two partitions on a SATA HDD:
C: (10gb)contains windows and several programs, 0GB is available
D: (65gb)contains data files, many programs, 40GB is available

I need to free up space on the C: drive.  Can I safely expand the partition into the D: drive?  Does data need to be removed from the D: drive first?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Gary CaseRetiredCommented:
Yes, it's relatively simple.

Assuming your drive currently "looks" like this:


then yes, you'll have to do a bit of manipulation before you can expand C:

You can only expand it if there is free space immediately after it ... i.e. the disk needs to look like this:

where the x's represent free space.

You can easily do this using Boot-It BM.    Download it [http://www.terabyteunlimited.com/bootit-bare-metal.htm ];  create a bootable CD using the included MakeDisk utility;  boot to the CD, select CANCEL at the first prompt; then OK.    Then click on Partition Work ... and then do the following:

(a)  Resize the 2nd partition (D:)  -- make it smaller by as much space as you want to add to C:
(b)  "Slide" the 2nd partition so there is 0 free space AFTER it  (This will put it at the "end" of the disk so all of the free space is between C: and D:
(c)  Now Resize the 1st partition (C:)

Done :-)
This is a classic task for old programs like Partition Magic.  Doing this without 3rd party programs can be painful.  First of all you can't resize the Windows partition while Windows is running.  Second problem is you don't have contiguous unallocated space to extend the C drive in to.  I'll give you three options.  The first costs money and is the easiest and most reliable solution.  The other two are free and get harder to do.  There may be better ways, but here are my thoughts.  All partitions will have to be NTFS and I'll assume they are.  Backup the entire server before you do anything obviously.  If you're doing RAID on these volumes it would have to be hardware based.  I'm giving you a high-level overview of what needs to be done...not specific steps and how to use each tool.  Peronally I don't like any of these options and think you should probably rebuild the server the way you want it.  That's based on the fact I don't do this stuff everyday and I'm too concerned over too much down time.  I'll tell you what I know about this process.  If this is a production server you may want to test this process on a non-production server before you go messing with really important stuff.

1.  easiest option - Buy 3rd party software designed to do this on a server.  Search Google for "server partition tools".  Acronis comes to mind.

2. next harder option - use a GParted Live CD you can download for free from here http://gparted.sourceforge.net/.  It's a free open-source Lynux based partition management tool.  Once you boot in to GParted you will need to shrink drive D.  This will create unallocated space at the END of the drive.  You need this unallocated space BEFORE drive D.  You then perform a move to move it to the end of the drive.  You should then be able to extend drive C in to the unallocated contiguous space.

3.  hardest option - This is probably the more complicated and messy way of doing this, but uses all Microsoft tools.  Create a WinPE boot disk using WAIK or preferably using MDT (Microsoft Deployment Toolkit).  MDT can automate the creation of WinPE boot disks, but if you don't have MDT already setup then well...sucks to be you.  You could do it with manually with WAIK (Windows Automated Installation Kit).  I'll assume you haven't installed any programs on drive D that affect the OS from starting if they weren't there.  If Drive D has file shares then make note of all the shares names and the share permissions.  Use Robocopy to copy the content off to another location while you work.  Hopefully you are familiar with Robocopy since this will retain any security permissions set on the files and folders.  Once you're confident you have a full backup of what was on drive D and are sure how to restore it then proceed, but this is not for the faint at heart.  Reboot in to WinPE and use diskpart to delete the D partition.  Next extend Drive C the amount you want.  Then recreate Drive D with the remaining unallocated space.  Finally robocopy everything back to drive D.  Lastly thank god you were able to get through it without building the server.
And now that I'm done typing all that it sounds like the guy above me has an easiser solution.  He's explaining the same process I said in number 2, but using a different boot disk.
noxchoGlobal Support CoordinatorCommented:
Have a look on this video tutorial: http://www.youtube.com/watch?v=Gsw-_3cTDmM
It is not as complicated as you think.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
while all the above will do what you want -why not install a larger disk size?
no more space problems, and disks are cheap now
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2003

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.