Saturday, May 17, 2008

XP Service Pack 3 can free up disk space

I have been watching the size of my Windows folder growing over time, and Service Pack 3 is a perfect opportunity to sort the matter out. Yesterday I managed to free up nearly 1GB of disk space by installing SP3.
First of all, open the c:\windows folder, and then look for the $hf_mig$ folder, and delete the hundred or so folders it contains. Do the same with the ie7updates and SoftwareDistribution\Download folders. If there are folders beginning with names like $NT* then delete those as well.
Next, download and install SP3. If you only need to update a single computer, the Microsoft Update site is the best place to get it. There is also an ISO file (544MB) that you can turn into an install CD.
The installation process creates a $NtServicePackUninstall$ folder in the Windows directory, and also subfolders in the ServicePackFiles folder. If you're feeling brave, you can delete the $NtServicePackUninstall$ folder once you've tested that everything is working.
Once the service pack is installed, change the ServicePackFiles folder into a compressed folder. This will reduce its size from 564MB to 371MB, but 2399 of those files will be fragmented in 61641 fragments, so a defrag is then in order.
In any case, emptying the recycle bin will free up around 788MB, maybe more. On one laptop that had just been installed with XPSP1 and was in the process of downloading a gazillion updates, I freed up nearly 2GB of space in this way. Since the new (patched) system files are now distributed all over the drive, a good defrag program will help gather those files and position them where they are needed.
Normally the files stored in the $hf_mig$ folder are placed there by the Microsoft Update service, and they are necessary in case you need to "roll back" a hotfix, or if one hotfix needs another one to work correctly. It can be a real pain of those files are missing, which is why they are allowed to accumulate. But a full service pack reinstalls all those files, after testing that they all work together correctly, so the "safety" copies are no longer needed.
As a general rule I use CCleaner to keep my system from becoming too gunked up, but the file deletions described here are not covered by utilities such as this. In any case, you'll need to make a complete system backup before installing SP3, for your own sanity and peace of mind. What do you mean you never make backups???
Update: If you're running an AMD processor, read this first.

12 comments:

Anonymous said...

Just did an install of SP3.
I had not removed the $hf_mig$ folder before I started. After the installation it looks like nothing has been added or removed from this folder. It had and still has 526 Mb and contained and still contains 2053 files in 428 folders.
I wonder what would have happened if I had emptied it before I started. What's the size and number of files/folders on your system now?
B.t.w. I also regularly use CCleaner - Excellent tool.
Cheers,
DV

Donn Edwards said...

It' still OK to delete all those $hf_mig$ folders, because the Service Pack ignores them completely.

By design it has to, because SP3 is supposed to be able to patch a completely unpatched version of Windows XP that has never been connected to the internet, which would mean that the $hf_mig$ folder would be empty. Perhaps that isn't true of the downloadable version in Microsoft Update, but it is true of the CD image, which is designed for off-line updates in companies, even if there is no network connection.

FWIW, my Windows folder is now 3.47GB in total, but remember that will vary a lot depending on what versions of the .net framework is installed, and a whole bunch of other factors. All kinds of stuff gets installed in the Windows folder, including fonts, drivers, libraries and other stuff.

Anonymous said...

Thanks for this great article.

I had problems installing SP3 because of the limited disk size of my laptop (only 5Gb). After following your advises (removing uninstall files and windows update files etc...) I made an installationdisk from the downloaded ISO and.... completed the installation without any problems!!!

After that, I have installed your defragmentation package, which is now running on the laptop to sort and defragment all files. JKdefrag is indeed a very simple and fast defragmentation program ;-)

Thanks again,
Jan

Anonymous said...

Great Article. I am doing a "making this slow piece of shit Faster!" kinda of a job. So, I'm getting all the info I can.

Thanks again!

angeleyes said...

Hi i am not sure what to do. I have updated to sp3 and since this my pc as gone slightly nuts.

the cursor moves around the screen on its own and it just feels like there are things working in the background.

Any suggestions on what to do?

thanks

Donn Edwards said...

My optical mouse does this on certain surfaces like wooden boardroom tables. A piece of paper usually fixes it. Your mouse driver may be faulty. Try removing the mouse completely and get WinXP to detect it again.

I have no idea about the background stuff, but there are some good articles on disabling unwanted windows services. I made a note of the best one somewhere and now I can't find it.

Anonymous said...

I, like Anonymous, downloaded SP3 before I deleted the files. You said we can still delete the $hf_mig$ files, what about the $Nt* files? There are only a couple that were added on the date I downloaded SP3. I have only 7G of hard disk space left (only started with 27) and am really looking to get rid of unnecessary "stuff".

Donn Edwards said...

It's best to backup those folders before deleting them, unless you are absolutely sure you don't want to uninstall SP3. If the system has worked fine for a week, you probably won't need to uninstall SP3.

Anonymous said...

Thanks for the tips, I now have XP running on my EEE-PC with 4 GB of disk space

Anonymous said...

A lot of websites strongly urge readers NOT to delete $hf_mig$. Unfortunately I read that after I deleted that folder and cleaned out the recycle bin. I would recommend leaving those folders.

Donn Edwards said...

I said "look for the $hf_mig$ folder, and delete the hundred or so folders it contains".

Do NOT delete $hf_mig$ itself!

Remember this is in the context of just having installed SP3, since all those files in $hf_mig$ have now been replaced by the SP3 files.

Anonymous said...

For anyone trying to speed up the process of their XP system and save some space, search for 'Slipstreaming XP' it will take you through the process of adding the service packs to the basic XP install disk, by simply replacing the old ones and therefore minimizing space. this process uses a tool called N-Lite. the tool allows you to install additional updates like IE7 and so on. additionally you can turn on or off XP features like Additional languages if you don't use them then loose them! finally you can disable various services and tools that you don't use. it even gives some hints as to what the file / tool is used for.

Finally once you have installed your system, search for a list of services that you can disable, for instance do you use a telephone modem to get online? if no disable it!

Finally as always run defrag. and then see how much memory is being used, both HD and RAM you will be pleasently surprised!

Cheers and good luck!