VMware Horizon Community
iamxCPx
Enthusiast
Enthusiast
Jump to solution

How do you fix bloating C:\Windows size from Windows Update on Win7 Pro Master Image?

My C:\ drive is at 57.4 GB.

Mostly,

C:\Windows at 43.6 GB

-- C:\Windows\Installer at 21.3 GB

-- C:\Windows\winsxs at 12.2 GB

I have ran Disk Cleanup and removed all unnecessary applications but there's no stopping the two folders mentioned above to grow.

I do have plenty of space on my SAN but there's going to be away for Microsoft to stop the Windows Update to just keep piling up the C drive. The smaller the C drive will also improve the performance of the VDI desktop.

Any other users with a similar situation?

Would you be so kind to share some tips?

Thank you.

Reply
0 Kudos
1 Solution

Accepted Solutions
3 Replies
EricNichols
Hot Shot
Hot Shot
Jump to solution

There is a good article from Microsoft on keeping it as small as possible: Breaking News! Reduce the size of the WinSxS Directory and Free up Disk Space with a New Update for ...

And an article that dispels some myths about winsxs, it isnt as big as most tools report including dir and explorer. Disk Space - Engineering Windows 7 - Site Home - MSDN Blogs

Our sizes are comparable at 35, 10, and 11 GB respectively.

I suppose you could delete all files in winsxs that dont have a hard link to them and potentially save a few GB.

After starting to try this I learned that there are not many live linux distros that support getfattr with ntfs-3g. (the latest gparted and clonezilla did not, knoppix did)

Tuxera | Junction Points and Symbolic Links - Tuxera

http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/

http://blogs.technet.com/b/askcore/archive/2013/03/24/alternate-data-streams-in-ntfs.aspx

This might be good vmware fling tool, something that would index all the files on c: and find out their hard and soft links and delete any from c:\windows\winsxs that dont correspond.

sudo su

mkdir /media/ntfs

ntfs-3g -o streams_interface=xattr /dev/sda2 /media/ntfs

getfattr -n ntfs.streams.list filename

getfattr -h -e hex -n system.ntfs_reparse_data filename


I used the following csv to determine that if I deleted all the files that did not have shared hardlinks, I would gain 4.9 GB Do I really need 35 copies of mshtml.dll taking up 776 MB?

#find /media/sda2/Windows/winsxs -type f -print0 | xargs -0 stat -c %h,%n,%s > //media/sda2/winsxdhardlinks.csv


in winsxs

for each file

     if stat -c %h file is 1

     rm file


ls -i filename 'this will give the inode number

stat filename 'this will report how many files link to the inode


From a windows command prompt, to find hardlinks for a file, you can use: fsutil hardlink list filename

and for other links, use: fsutil reparsepoint query filename

or: dir /AL *.*

I think if you maintained two snapshots for each golden image, one could have %windir%\Installer deleted and your pool could be based on it, saving 21.3 GB. I did this by mounting the windows partition from a live cd.


Doing any of this on a linked clone isnt going to accomplish much though because there is only one copy of that data in the replica.

Reply
0 Kudos
bjohn
Enthusiast
Enthusiast
Jump to solution

Reply
0 Kudos
iamxCPx
Enthusiast
Enthusiast
Jump to solution

Thanks for the tip with PatchCleaner.

I was able to reclaimed 18Gb of space. Smiley Happy

Reply
0 Kudos