Cleaning up a server's C:\ drive. All known ways

Solution 1:

I've used 'junction' by sysinternals to redirect folders like the software distribution directory, or windows search. You can also use the built in mklink command, but junction works on older versions of windows and can be standardized against in automated deployment scripts.

It works wonders for getting a server install running off of a space restricted EEEpc.

For more information on mklink: directory junction vs directory symbolic link?


For a step by step guide regarding specifically the patches directory, try this blog. Entry is appended below with some formatting modifications:

REDIRECTING UPDATES AND THE SOFTWARE DISTRIBUTION FOLDER USING JUNCTION TO ANOTHER HARD DRIVE

Scenario

You have a server with an 8 GB system partition and it keeps filling up. The software distribution folder used by windows updates is a major source of bloat and Microsoft support has said there is nothing you can do to move this folder from the C drive.

Solution

Using the Microsoft Junction Tool found on the Systernals site create a symbolic link to another hard drive or partition. I will use the terms symbolic link and junction interchangeably in this post.

Process

  • Stopping the Windows Update Service and renaming the folder

    Start>Run type cmd and press enter type net stop wuauserv and press enter type rename c:\windows\SoftwareDistribution softwaredistribution.old and press enter

  • Creating a symbolic link using Junction

    In this example the software distribution folder will be redirected from C:\WINDOWS\SoftwareDistribution to the D:\WINDOWS\SoftwareDistribution

  • Creating the Junction

    To create the target directory from the command prompt

    C:\>md D:\Windows\SoftwareDistribution

  • To create the Junction

    C:\>junction C:\WINDOWS\SoftwareDistribution "D:\WINDOWS\SoftwareDistribution"

  • Restart the Windows Update Service

    type net start wuauserv and press enter

    Once everything has been verfieid to be working normally delete the softwaredistribution.old folder.

Jeff Loucks

(You may optionally copy the .old directory's contents into the new location).

Solution 2:

In the interest of preserving the information in case the TechNet article moves, here is how to "activate" the Microsoft disk cleanup utility on server 2008 or 2008 R2:

Windows Server 2008 R2

64-bit

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe

Windows Server 2008 R2

64-bit

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui

Windows Server 2008

64-bit

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui

Windows Server 2008

64-bit

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe.mui

Windows Server 2008

32-bit

C:\Windows\winsxs\x86_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_5dd66fed98a6c5bc\cleanmgr.exe.mui

Windows Server 2008

32-bit

C:\Windows\winsxs\x86_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_6d4436615d8bd133\cleanmgr.exe

Once you’ve located the files move them to the following locations:

Cleanmgr.exe should go in %systemroot%\System32.

Cleanmgr.exe.mui should go in %systemroot%\System32\en-US.

You can now launch the Disk cleanup tool by running Cleanmgr.exe from the command prompt.


Solution 3:

Lastly, it would be nice to get an idea of what drive size you use for c:\ for whatever version of Windows you use.

Server 2003: We use 15GB C: drives for these now. We used to use 10GB ones, but the patch-dirs ate us out of house and home. We're not spinning up many of these any more, but if we do, 15GB is it.

Server 2008 & 2008R2: Microsoft itself is saying that 30GB is the number you should be aiming at. Seeing as how they made the patch-dirs nigh undeleteable with these server versions, I'm not going to doubt them. Currently we make our C: drives 20GB, but that's because we made our VM templates before this guidance emerged. We need to change it. 40 is probably better once you factor in 3rd party installers that resolutely stash things on C: no matter what you tell them.


Solution 4:

IIS logs and Windows Error Reports.

  1. C:\inetpub\logs\LogFiles
  2. %LOCALAPPDATA%\CrashDumps

Find a program like SpaceMonger to find the space hogs.


Solution 5:

If it's 2008 R2, you can attempt to run dism /online /cleanup-image /spsuperseded. That will get back some space if you've installed SP1 since the initial install. If it was slipstreamed, I doubt you'll get any space back, however.