Kullandığım bir Vista sanal makinesinde yalnızca 10 GB'lık sanal bir sabit disk var - zamanla boşluğu kaldığından endişeleniyorum.
Suçluları kontrol etmek için TreeSize ) kullandım.
Ve birincil suçlu şu/winsxs
veya "Windows Yan Yana" klasörü .
Windows Yan Yana klasörü nedir? Eh, bu burada oldukça iyi açıklanmıştır .
İşletim sistemindeki tüm bileşenler WinSxS klasöründe bulunur - aslında biz bu yere bileşen deposu diyoruz. Her bileşenin, oluşturulduğu sürüm, dil ve işlemci mimarisini içeren benzersiz bir adı vardır. WinSxS klasörü, bileşenin sistemde bulunduğu tek konumdur, sistemde gördüğünüz dosyaların diğer tüm örnekleri, bileşen deposundan sıkı bir şekilde bağlanarak “yansıtılır”. Son noktayı tekrar edeyim - işletim sistemindeki her bir dosyanın yalnızca bir örneği (veya tam veri kopyası) var ve bu örnek WinSxS klasöründe bulunuyor. Bu açıdan bakıldığında, WinSxS klasörü, işletim sisteminin tamamında, alt seviye işletim sistemlerinde "düz" olarak adlandırılan bir bütündür. Bu ayrıca, Sistem Dosyası Denetleyicisi (SFC) gibi işlemleri gerçekleştirirken veya ek özellikler ve roller yüklerken neden medya için sizden istemeyeceğinizi de açıklar.
Bu, klasörün neden büyük başladığını ancak zaman içinde neden büyüdüğünü açıklamıyor - bu sorunun cevabı hizmet ediyor. Windows'un önceki sürümlerinde atomik hizmet birimi dosyaydı, Windows Vista'da bu bileşendir. Belirli bir ikiliyi güncellediğimizde, tüm bileşenin yeni bir sürümünü çıkarırız ve bu yeni sürüm, bileşen deposundaki orijinalin yanında depolanır. Bileşenin daha yüksek sürümü sisteme yansıtılıyor, ancak mağazadaki eski sürüme dokunulmuyor. Bunun nedeni, komponent deposunun neden bu kadar genişlediğinin üçüncü kısmı.
Diğer birçok insan / winsxs klasörünün boyutundan da şikayetçi :
Bir iş arkadaşınız kısa bir süre önce her iki yıllık çalışma dizüstü bilgisayar yenilemesini aldı ve yeni dizüstü bilgisayarını Vista ile doldurmanın ortasındaydı. Bir nedenden ötürü, C: sabit diski sadece 25GB'a bölündü ve alanın geri kalanı çok daha büyük bir D için ayrıldı.
Her neyse, birçok Windows Güncellemesini yükledikten sonra, C: 'de kalan neredeyse hiç sürücü alanı kalmadı ve bir nedenden ötürü WinSxS dizini 8GB’tan daha fazla bir hıza ulaştı.
WinSxS (Windows Yan Yana) dizinin ne işe yaradığını bilmeme rağmen, normal işletim sistemi güncellemelerinde bu dizinin neden bu kadar hızlı patlayacağından emin değildim.
Tüm bu yinelenen dosyaların güvenlik için olmasını gerçekten umursamıyorum, ama _ do _ disk alanı hatası nedeniyle patlayan VM ile ilgileniyorum. Yani ../winsx'ler herhangi bir şekilde güvenli bir şekilde ayrıştırılabilir mi? Öyle görünmüyor gibi ..
Yöneticiler, hiçbir nedenle,/winsxs dizinini temizlemek için kendi başlarına üstlenmemelidirler - bunu yapmak Windows Update ve MSI'nin daha sonra düzgün çalışmasını engelleyebilir. Dizinden yanlışlıkla silinmeyi önleme, dizine çocuklarına miras kalan güçlü bir güvenlik tanımlayıcısı koyarak gerçekleştirilir.
Bu/winsxs klasörü daha da büyürse, bu sanal makineyi yeniden görüntülemem gerekecek .. ki ben gerçekten yapmak istemiyorum!
Nihayet bunu yapmanın bir yolu var _ Windows 8.1 service pack 1 ve Windows Server 2012 R2 'ye benziyor.
Bileşen mağaza analizi aracı:
Dism.exe /Online /Cleanup-image /AnalyzeComponentStore
Taramanın sonunda, kullanıcı şöyle bir rapor alır (winsxs klasörünün gerçek boyutu)
Bileşen deposu temizliği:
Günümüzde, Komponent Mağazası Temizliği, son kullanıcı tarafından DISM çalıştırılarak veya Disk Temizleme Sihirbazı kullanılarak elle tetiklenmelidir. Bileşen Mağazasını Temizleme işlemini ortalama son kullanıcı için daha kullanışlı hale getirmek için, son kullanıcılar için otomatik olarak yer tasarrufu sağlayan bir bakım görevine eklenecektir. Bunu etkinleştirmek için, yeniden başlatmaya gerek kalmadan değiştirilmiş gelen kutusu sürücülerinin kaldırılmasına izin verecek bir değişiklik yapılacaktır (bugün CBS tarafından yapılan tüm sürücü yükleme/kaldırma işlemleri için yeniden başlatma gerekir).
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Disk Temizleme aracı, Sistem dosyalarını temizle düğmesini.
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Windows 7 SP1 kurulumundan sonra temizleyen hoş bir komut var (beni 3 GB civarında kurtardı):
DISM /online /cleanup-Image /spsuperseded
Yükseltilmiş bir komuttan çalıştırılmalıdır İstemi
Bu kopyalar ve yedeklemeler sınırlı disk alanı bulunduğunda oldukça can sıkıcıdır.
O yerde olmak, işletim sisteminin istikrarını tehlikeye atmayacak tek yol, "Disk alanından kazanmak için içeriği sıkıştır" ayarını cömertçe kullanmaktı.
Tüm bu yedekleme dizinlerini Windows dizini altında sıkıştırarak, tanınabilir hiçbir yan etkisi olmadan dizin boyutunu 6,5 GB'den 5 GB'a düşürdüm. Pencere dizini dışındaki bazı nesnelerde kullanmak 10 GB'ınızı daha da uzatabilir.
Vista'nız varsa ve SP2'yi yüklediyseniz, eski sistem dosyalarını yeni Servis Paketi Temizleme Aracı ile temizleyebilirsiniz.
Windows 8 öğelerinde, WinSxS klasörünün boyutunu Windows Özelliklerini Kaldırma ile azaltabilirsiniz:
DISM.exe /Online /Disable-Feature /Featurename:<name> /Remove
Önemli olan / 8 parametresi Windows 8 için yeni olan _ parametresidir.
WinSxS'deki en fazla alan, zamanla yüklediğiniz WindowsUpdates'tir. Windows 8/Windows 10 öğelerinde şunları yapabilirsiniz yeni güncellemelerle değiştirilen Güncelleştirmeleri algıla ve kaldır (yeni birikimli IE Güncellemeler gibi) bu komutu çalıştırıyor:
dism.exe /online /cleanup-image /startcomponentcleanup
veya disk temizleme sihirbazını çalıştırıp "Windows Update Cleanup" seçeneğini seçin.
Ayrıca servis yığını güncellemesini yüklediğinizden emin olun http://support.Microsoft.com/kb/2821895 .
Bu güncellemeler, WinSxS’in derinlemesine temizlemesini sağlar ve şu anda kullanılmayan WinSxS’deki tüm DLL/Exe dosyalarını daha küçük delta dosyalarına sıkıştırır:
Farklı dosya boyutlarına bakın.
Windows 8.1yeni DISM komutları ekler . /startcomponentcleanup
, son Güncellemenizi kalıcı kılan ve daha fazla yer kazanmak için tüm eski dosyaları silen yeni bir /ResetBase
parametresi alır.
Ayrıca WinSxS klasörünü analiz etmek için dism /online /cleanup-image /analyzecomponentstore
komutunu çalıştırabilirsiniz:
Şimdi, yerden tasarruf etmek için temizliği ne zaman çalıştırmanız gerektiğini size söyler.
SP1'i kalıcı hale getirmek için VSP1CLN.EXE komutunu kullanabilirsiniz, ki bu, bu sayfaya göre , yerine geçen SP1 bileşenlerini serbest bırakacaktır.
İyi haberler! Şu anda bir resmi olarak onaylanmış bir yöntem var , Microsoft'tan Windows 7 SP1 için, WinSXS klasörünüzü temizleyin .
Uyarı: WinSxS klasörünüzü temizledikten sonra bazı Windows Güncellemelerini kaldıramayabilirsiniz.
Dism ++ aradığınız şey ( https://www.chuyu.me/en/index.html ).
Gigabaytlık yer tasarrufu yapacaksınız ...
"Değiştirilen WinSxS derlemeleri" seçmeniz gerekir. Bunu yaparsanız, bu yüklü güncelleştirmelerin kaldırılamayacağı konusunda size bir uyarı verir. Tamam'ı tıklayın, sonra tarayın
Size ne kadar yer kazanacağınız konusunda bir fikir verecektir. Temizleme isabet ve o boşluğu temizlemelidir.
Umarız basit bir oneliner'ın, Jeff Atwood'un /ResetBase
anahtarını cevaplamamasının harika bir cevabı olması faydalı olacaktır.
Dikkat : Bu anahtar, WinSxS klasörünün boyutunu azaltmaya yardımcı olur, ama önceki bileşenlerin sürümlerini tamamen siler, bu nedenle daha önce kurulu güncellemeleri geri alamazsınız. Ancak sisteminiz iyi çalışıyorsa, güvende olmalısınız (özellikle Üretim ortamında değilseniz)
dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Bu, Windows 8.1 ve sonraki sürümlerinde çalışır
Yukarıda belirtilen çözümlerin yanı sıra, önemli bir alan kazanmanın bir yolu da tüm klasör içeriğini sıkıştırmaktır. Ancak, bu Explorer (en azından Windows 7'den başlayarak gerekli haklar gereklidir) kullanılarak yapılamaz.
Bu talimatlar / bunun nasıl başarılacağını gösterir:
sc query msiserver
sc query TrustedInstaller
sc stop msiserver
sc stop TrustedInstaller
sc config msiserver start= disabled
sc config TrustedInstaller start= disabled
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS.acl" /t
takeown /f "%WINDIR%\WinSxS" /r
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
compact /s:"%WINDIR%\WinSxS" /c /a /i *
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS.acl"
del "%WINDIR%\WinSxS.acl"
sc config msiserver start= demand
sc config TrustedInstaller start= demand
sc start msiserver
sc start TrustedInstaller
Notlar/ipuçları:
Gruplandırma, el ile yapılırsa bu komutları çalıştırmanın önerilen yolunu gösterir. Normalde herhangi bir sorun olmamalıdır (kullanımda oldukları için atlanan bazı dosyalar dışında), ancak her grup için sonuç kontrol edilmelidir.
Evde ve işte çeşitli işletim sistemleri kurulumunda şu adımları uyguladım: Win7x64, Win10x64, Windows Server 2008R2 ve Windows Server 2012 ve şu ana kadar bir sorun görmedim.
Bazı adımların, özellikle de sıkıştırma zamanının oldukça zaman alması gerekir. Çoğu adım, işlenen dosyaları yineleyecek ve gösterecektir. Komut İstemi penceresinin simge durumuna küçültülmesi biraz hız kazanabilir.