Guide to Freeing up Disk Space under Windows Vista
I've got a smallish C: drive, about 140G, but noticed that in the last week or so I'd had only 200megs free. Not cool. A few hours later, I have 84.4G free. Here's now:
- vsp1cln.exe - After you install Vista SP1, it leaves around the original files so you can uninstall the Service Pack if you want. After a few months with the Service Pack, I've decided for myself that it's a good thing and decided I don't need the option.
Open up an administrative command prompt. That means, click the Start Menu, type cmd.exe, then right-click on it and click "Run as Administrator." Alternatively, you can press Ctrl-Shift-Enter to run something as Administrator.
Next, type "vsp1cln" at the command prompt. If you select yes, you'll get back around 2 to 3 gigs. The only thing, again is that you can't uninstall SP1.
- Disk Cleanup - It's amazing to me the number of people who DON'T run Disk Cleanup. It's even better in Vista. Just run it. Often.
- Disable Hibernate - I have a desktop, and I prefer just three power states, sleeping, on or off. I don't use Hibernate. Plus, I have 8 gigs of RAM, and hibernation uses as much disk space as you have RAM. From an administrative command prompt, type "powercfg -h off" to get that space back. Got me back 8gigs.
- %TEMP% Files - Even though Disk Cleanup is great, sometimes for whatever reason it doesn't get stuff out of the TEMP folder. I recommend you try to delete the TEMP folder. I do this from the command line. Open up an administrative console, type "cd /d %TEMP%" (without the quotes, of course). Then, go up one folder with "cd .." and type "rd /s temp"
Do be warned, this command says to TRY to delete the whole folder and everything underneath it. It's very unambiguous. If you don't feel comfortable, don't do it. If you feel in over your head, don't do it. If it screws up your computer, don't email me. Next, I do a "dir temp" to see if the folder really got deleted. It usually doesn't because almost always some other program has a temp file open and the command can't get remove everything. If it DOES remove the folder, just "md temp" to get it back fresh and empty. This got me back 2.5 gigs. I'm sure you'll be surprised and get lots back.
- Clean up System Restore - Vista keeps backups of lots of system files every time something major (driver installation, some software installations, etc) happens, and after a while this can take up lots of space. It uses a service/subsystem called ShadowCopies and can be administered with a tool called vssadmin.
Now, the EASIEST way to handle this is just to run Disk Cleanup, then click More Options and "Clean up…" which will delete all but the most recent System Restore data. That's what I did. That got me back lots of space back on my C: drive.
Alternatively, you can use the vssadmin tool from an admin command prompt to to do important things. One, you can set a max size for the System Restore to get. Two, you can set an alternative drive. For example, you could have the D: drive be responsible for System Restore for the C: drive.
You can use the commands like this. Note that you can put whatever drive letters you have in there. I ran it for each of my three drives. Note that this isn't just used for System Restore, it's also used for the "Previous Versions" feature of Vista that keeps some number of Shadow Backups in case you delete something and didn't mean it. Kind of a mini, local time machine. Point is, this isn't a feature you probably want off, just one you want kept to a max.
vssadmin Resize ShadowStorage /On=C: /For=C: /MaxSize=15GB
- Check Folder Sizes with WinDirStat - I've used a large number of Windows Folder Size checkers, and the one I keep coming back to is WinDirStat. It used to be OverDisk, but OverDisk isn't smart about NTFS Junction Points and tends to get confused in Vista generally. Plus, it's been on version 0.11 for something like 4 years. WinDirStat is actively developed, it's Open Source, and it works great in Vista. It's wonderfully multi-threaded and is generally fabulous. It'll help you find those crazy large log files you've forgotten about deep in %APPDATA%. It saved me 5gigs of random goo.
- NTFS Compression - That's right, baby, Stacker (kidding). This is a great feature of NTFS that more people should use. If you've got a bunch of folders with old crap in them, but you don't want to delete them, compress. If you've got a folder that fills up with text files or other easily compressed and frequently access stuff, compress 'em. I typically compress any and all folders that are infrequently accessed, but I'm not ready to toss. That is about 30-40% of my hard drive. Why bother to compress when Disk Space is so cheap? Well, C: drive space usually isn't. I've got a 10,000 RPM drive, and it's small. I'd like to get as much out of it as I can without the hassle of moving my Program Files to D:. More importantly, Why the heck not? Why shouldn't I compress? It's utterly painless. Just right click a folder, hit Properties, then Advanced, then Compress. Then forget about it. As long as you're not compressing a bunch of ZIP files (won't do much) then you're all set. You might consider defragging when you're done, just to tidy up.
- Remove Old Stuff - Just go into Add/Remove Programs or Programs and Features and tidy up. There's likely a pile of old crap in there that's taking up space. I removed some Games and Game Demos and got back 5 gigs.
- Wasteful TempFiles/ScratchFiles Settings in Popular Programs - Most programs that need scratch space have a way to set a ceiling on that Max Space. Go into Internet Explorer or Firefox, into the options and delete the Temporary Internet Files. Set a reasonable size like 250 megs or 500 megs. I've seen those cache sizes set to gigs. If you've got a speedy connection to the internet, that's just overkill.
- Find Fat Temp File Apps and squash them - Google Earth and Microsoft Virtual Earth 3D are really fast and loose with the disk space. You can poke around for a while and next thing you know you're down 2 gigs or more. If you don't use the app a lot, delete the caches when you exit, or better yet, make the cache size for each app small.
- ADVANCED: Use Junction Points/Hard Links/Reparse Points to move temp file folders - This is an advanced technique. If this technique kills your beloved pet cat, don't email me. You have been warning. Also, note that I'm only saying it works for me.
I use my Zune all the time, and like many portable media players, it transcodes (squishes) video that it downloads from the web to its preferred size and codec. For example, if I download an ABCNews Podcast, it might be 600 megs, but then Zune automatically squishes it to say, 300 megs. It puts that in %AppData%\Local\Microsoft\Zune\Transcoded Files Cache. I'm not sure how to move that folder, and I've looked all over the Zune app. I know I can set the Max Size, but I want it off my drive. So, I make a SymLink. This is a way to fake out apps (Unix people know this) by making a folder POINT to another place.
From an admin command prompt, I went into the Zune temp folder and deleted that Transoded Files Cache directory. Then I typed:
mklink /d "Transcoded Files Cache" "d:\Zune Transcoded Files Cache"
So that directory really points to one on my D: drive. I can confirm it with dir:
Directory of C:\Users\Scott\AppData\Local\Microsoft\Zune
10/19/2008 02:24 PM <DIR> .
10/19/2008 02:24 PM <DIR> ..
10/19/2008 02:25 PM <DIR> Art Cache
07/15/2008 08:56 AM <DIR> DeviceInbox
10/19/2008 02:24 PM <SYMLINKD> Transcoded Files Cache [d:\Zune Transcoded Files Cache]
Again, this is really dangerous, especially if you forget you did it. Also, not every application understands these and older disk management or directory management apps can get confused. You have been warned. I like it for me. This got me back 8 gigs of space.
What did I miss, Dear Reader? I'm sure I missed something.