WinSxS फोल्डर का परिचय
इस लेख में हम Windows में WinSxS फोल्डर, इसके निरंतर वृद्धि के कारणों और इसे साफ करने के तरीकों के बारे में बात करेंगे। C:\Windows\WinSxS डायरेक्टरी Windows घटकों का भंडार है। इस डायरेक्टरी में विभिन्न Windows भूमिकाओं या सुविधाओं की स्थापना और संचालन के लिए आवश्यक DLL, बाइनरी और XML फाइलें होती हैं। Windows अपडेट इंस्टॉल करते समय (आमतौर पर यह हर महीने होता है), अपडेट किए गए घटक का नया संस्करण सिस्टम पर इंस्टॉल होता है, जबकि पुराना WinSxS फोल्डर में सहेजा जाता है (संगतता प्रदान करने और Windows अपडेट को अनइंस्टॉल करते समय घटकों के पिछले संस्करणों पर वापस रोल करना संभव बनाने के लिए)।
WinSxS डायरेक्टरी समय के साथ आकार में बढ़ी है। इसके अलावा, इसका आकार किसी भी चीज से सीमित नहीं है (हालांकि व्यवहार में Windows 10 में WinSxS फोल्डर का आकार शायद ही कभी 15-20 GB से अधिक होता है)।
इस लेख में, हम Windows 10 और Windows Server 2016/2019 पर WinSxS फोल्डर को साफ करने के सबसे सुरक्षित तरीकों पर जाएंगे:
- कंपोनेंट स्टोर को ऑप्टिमाइज़ करें और Windows अपडेट इंस्टॉल करने के बाद छोड़े गए Windows घटक फाइलों के पुराने संस्करणों को हटाएं
- फीचर्स ऑन डिमांड - आपको डिस्क से अप्रयुक्त Windows घटकों को हटाने की अनुमति देता है
- WinSxS फोल्डर पर NTFS संपीड़न सक्षम करें - NTFS फाइल सिस्टम के अंतर्निहित संपीड़न का उपयोग करके WinSxS डायरेक्टरी के आकार को कम करने का एक तरीका
कई उपयोगकर्ता अक्सर पूछते हैं: क्या WinSxS फोल्डर से फाइलों को मैन्युअल रूप से हटाना संभव है? उत्तर स्पष्ट रूप से नहीं है! ये कार्य आपके Windows इमेज को नुकसान पहुंचा सकते हैं। हालांकि WinSxS फोल्डर से फाइलों को हटाने के कुछ प्रयास सफल हो सकते हैं, इस विधि की अनुशंसा नहीं की जा सकती।
Windows 10 पर WinSxS फोल्डर का वास्तविक आकार कैसे जांचें?
Windows पर WinSxS फोल्डर का वर्तमान आकार प्राप्त करने का सबसे आसान तरीका फाइल एक्सप्लोरर में %windir%\WinSxS फोल्डर के गुण खोलना है (या PowerShell स्क्रिप्ट का उपयोग करें)। लेकिन ध्यान रखें कि अधिकांश फाइल मैनेजर (फाइल एक्सप्लोरर सहित) WinSxS फोल्डर का आकार डिस्क पर उसके द्वारा लिए गए आकार से थोड़ा बड़ा दिखाते हैं।
तथ्य यह है कि WinSxS डायरेक्टरी में अन्य फोल्डर्स में सिस्टम फाइलों के लिए बड़ी संख्या में हार्ड लिंक्स (प्रतीकात्मक लिंक) होते हैं। फाइल मैनेजर, WinSxS फोल्डर का आकार गणना करते समय, हार्ड लिंक द्वारा संदर्भित फाइलों के आकार को ध्यान में रखते हैं, लेकिन यह सही नहीं है।
आप Sysinternals से du टूल का उपयोग करके डिस्क पर WinSxS फोल्डर का वास्तविक आकार पता लगा सकते हैं:
du -v c:\windows\winSXS
आप DISM कमांड का उपयोग करके कंपोनेंट स्टोर (WinSxS फोल्डर) के आकार का विश्लेषण भी कर सकते हैं:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Deployment Image Servicing and Management tool Component Store (WinSxS) information: Windows Explorer Reported Size of Component Store : 8.44 GB Actual Size of Component Store : 8.15 GB Shared with Windows : 5.74GB Backups and Disabled Features : 1.97 GB Cache and Temporary Data : 438.31 MB Date of Last Cleanup : 2021-02-22 20:37:29 Number of Reclaimable Packages : 1 Component Store Cleanup Recommended : Yes The operation completed successfully.
जैसा कि आप देख सकते हैं, इस मामले में, मैं WinSxS फोल्डर का आकार (1.97 + 0.44) GB कम कर सकता हूं।
DISM कमांड आपको अपने Windows इमेज की जांच और मरम्मत करने की भी अनुमति देती है:
DISM /Online /Cleanup-Image /RestoreHealth
Windows पर कंपोनेंट स्टोर (WinSxS फोल्डर) को कैसे साफ करें?
Windows कंपोनेंट स्टोर (WinSxS फोल्डर) को साफ करने का सबसे तेज़ और आसान तरीका निम्न कमांड के साथ स्टोरेज को ऑप्टिमाइज़ करना है:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
StartComponentCleanup DISM विकल्प Windows 8 और Windows Server 2012 से शुरू होने वाले सभी Windows संस्करणों पर समर्थित है।
सफाई पूरी होने के बाद, कंपोनेंट स्टोर के वर्तमान आकार की जांच करें:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
मेरे उदाहरण में, इससे WinSxS फोल्डर का आकार 2.4 GB कम हो गया।
/StartComponentCleanup विकल्प में एक अतिरिक्त /ResetBase विकल्प है जो Windows अपडेट इंस्टॉल करने के बाद छोड़े गए घटकों के सभी पिछले संस्करणों को हटाने की अनुमति देता है। उसके बाद आप इंस्टॉल किए गए अपडेट या सर्विस पैक को हटा नहीं पाएंगे, और अनइंस्टॉल बटन अपडेट अनइंस्टॉल करें कंट्रोल पैनल आइटम से गायब हो जाएगा। घटकों के पुराने संस्करणों को साफ करने के लिए, चलाएं:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Windows 7 और Windows Server 2008 R2 में, सर्विस पैक इंस्टॉल करने के बाद छोड़े गए घटकों के पुराने संस्करणों को साफ करने के लिए एक अतिरिक्त DISM विकल्प का उपयोग किया गया था।
DISM /online /Cleanup-Image /spsuperseded
आप "डिस्क क्लीनअप" विज़ार्ड का उपयोग करके पुरानी अपडेट फाइलों को भी हटा सकते हैं:
cleanmgrकमांड को व्यवस्थापक के रूप में चलाएं- डिस्क चुनें और अगली विंडो में, "सिस्टम फाइलें साफ करें" बटन पर क्लिक करें
- फिर "Windows अपडेट क्लीनअप" विकल्प चुनें। डिस्क क्लीनअप टूल दिखाएगा कि आप पुरानी Windows अपडेट फाइलों को हटाकर कितना स्थान खाली कर सकते हैं। मेरे उदाहरण में, यह 324 MB है। सफाई शुरू करने के लिए OK पर क्लिक करें
DISM का उपयोग करके कंपोनेंट स्टोर को साफ करने के बाद, जांचें कि कितना डिस्क स्थान मुक्त हुआ है।
इसके अलावा, Windows 10/Windows Server 2016 टास्क शेड्यूलर में एक विशेष स्वचालित रखरखाव टास्क है जो नियमित रूप से WinSxS फोल्डर को ऑप्टिमाइज़ और साफ करता है (DISM के साथ StartComponentCleanup पैरामीटर के समान ऑपरेशन)। यह StartComponentCleanup टास्क taskschd.msc के \Microsoft\Windows\Servicing अनुभाग के अंतर्गत स्थित है। यह टास्क पृष्ठभूमि में चलता है और स्वचालित रूप से उन घटक संस्करणों को हटा देता है जो 30 दिनों से अधिक पुराने हैं और नई फाइलों द्वारा सुपरसीड किए गए हैं।
आप इस टास्क को मैन्युअल रूप से इस तरह शुरू कर सकते हैं:
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Windows 10/Windows Server से अप्रयुक्त भूमिकाओं और सुविधाओं को हटाना
पिछले लेख में, हमने Windows पर फीचर्स ऑन डिमांड की अवधारणा को कवर किया था, जो WinSxS फोल्डर से अप्रयुक्त भूमिकाओं की बाइनरी फाइलों को हटाने की अनुमति देता है। आप Uninstall-WindowsFeature PowerShell cmdlet का उपयोग करके Windows Server पर भूमिकाओं और सुविधाओं की बाइनरी को हटा सकते हैं।
Windows 10 में Uninstall-WindowsFeature cmdlet नहीं है, और आपको Windows इमेज से सुविधाओं को हटाने के लिए DISM.exe का उपयोग करना होगा।
ध्यान दें कि DISM, Uninstall-WindowsFeature PowerShell cmdlet के विपरीत, निर्भर सुविधाओं को नहीं हटाता है।
Windows 10 इमेज में उपलब्ध सुविधाओं की पूरी सूची निम्न कमांड का उपयोग करके प्राप्त की जा सकती है:
DISM.exe /Online /English /Get-Features /Format:Table
उदाहरण के लिए, TelnetClient सुविधा को Windows इमेज से (WinSxS फोल्डर से) हटाने के लिए, कमांड चलाएं:
DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
यदि आप Windows में उपलब्ध सभी ऑन-डिमांड सुविधाओं की सूची प्रदर्शित करते हैं, तो आप देखेंगे कि घटक की स्थिति पेलोड हटाए गए के साथ अक्षम में बदल गई है।
इस प्रकार, Windows अप्रयुक्त घटकों को डिस्क से हटाकर WinSxS फोल्डर के आकार को काफी कम करने की अनुमति देता है। एकमात्र बात यह है कि यह सफाई विधि केवल उन्नत उपयोगकर्ताओं के लिए उपयुक्त है, जो Windows 10 सुविधाओं और उनके उद्देश्य से परिचित हैं।
Windows 10 पर WinSxS फोल्डर पर NTFS संपीड़न कैसे सक्षम करें?
Windows 10 पर WinSxS डायरेक्टरी के आकार को कम करने का एक और तरीका NTFS फाइल सिस्टम स्तर पर डायरेक्टरी सामग्री को संपीड़ित करना है।
नोट: किसी भी गैर-मानक सिस्टम कॉन्फ़िगरेशन में हस्तक्षेप के मामले में, आपको अपने Windows 10 इमेज का पूरा बैकअप बनाने की दृढ़ता से अनुशंसा की जाती है।
- कमांड प्रॉम्प्ट को व्यवस्थापक के रूप में खोलें
- Windows Installer और Windows Module Installer सेवाओं को रोकें और अक्षम करें:
sc stop msiserver sc stop TrustedInstaller sc config msiserver start= disabled sc config TrustedInstaller start= disabled - WinSxS डायरेक्टरी में फाइलों और फोल्डर्स को असाइन किए गए एक्सेस कंट्रोल लिस्ट (ACLs) का बैकअप लें, बिल्ट-इन icacls टूल का उपयोग करके। ACL की बैकअप कॉपी एक प्लेन टेक्स्ट फाइल है जो सभी फाइलों और डायरेक्टरीज और उन्हें असाइन की गई NTFS अनुमतियों को सूचीबद्ध करती है (बाद में इस फाइल की मूल ACLs को पुनर्स्थापित करने के लिए आवश्यकता होगी):
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t - WinSxS फोल्डर और इसके सभी सबफोल्डर्स के मालिक के रूप में खुद को असाइन करें:
takeown /f "%WINDIR%\WinSxS" /r - WinSxS डायरेक्टरी पर अपने खाते को पूर्ण नियंत्रण अनुमतियां दें:
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t - अब आप compact कमांड का उपयोग करके WinSxS डायरेक्टरी में फाइलों को संपीड़ित कर सकते हैं। क्योंकि कुछ फाइलें Windows द्वारा उपयोग की जा सकती हैं, आपको
/iविकल्प निर्दिष्ट करना होगा। अन्यथा, संपीड़न पहले लॉक की गई फाइल पर रुक जाएगा (Windows 10 में, आप अधिक उन्नत LZX संपीड़न का उपयोग कर सकते हैं):compact /s:"%WINDIR%\WinSxS" /c /a /i * - WinSxS डायरेक्टरी के मालिक को वापस TrustedInstaller पर पुनर्स्थापित करें:
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t - आपके द्वारा पहले बनाई गई ACL बैकअप फाइल का उपयोग करके WinSxS फोल्डर आइटम के लिए मूल ACLs पुनर्स्थापित करें:
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl" - Windows Installer और Windows Module Installer सेवाओं के लिए डिफ़ॉल्ट स्टार्टअप प्रकार पुनर्स्थापित करें:
sc config msiserver start= demand sc config TrustedInstaller start= demand
अब WinSxS फोल्डर के वर्तमान आकार की जांच करें।
जैसा कि आप देख सकते हैं, हमारे उदाहरण में NTFS संपीड़न के बाद WinSxS फोल्डर का आकार 9.4GB से 6.5GB (लगभग एक तिहाई) तक कम हो गया है। छोटे आकार के SSD ड्राइव के लिए बुरा नहीं है।
ये कमांड या तो अलग-अलग चलाए जा सकते हैं (तब प्रत्येक के परिणामों को ट्रैक करना बहुत आसान है) या एक सिंगल स्क्रिप्ट फाइल में उपयोग किए जा सकते हैं। यदि आप इसे चलाते हैं, तो WinSxS फोल्डर में आइटम के लिए वर्णित NTFS संपीड़न प्रक्रिया शुरू हो जाएगी। आप WinSxS पर NTFS संपीड़न सक्षम करने के लिए तैयार बैच फाइल यहां डाउनलोड कर सकते हैं: winsxs_ntfs_compress.bat
आप इस स्क्रिप्ट का नियमित रूप से उपयोग कर सकते हैं क्योंकि नए Windows अपडेट या ऐप इंस्टॉल करने के बाद WinSxS फोल्डर में नई असंपीड़ित फाइलें दिखाई देंगी।
WinSxS फोल्डर को संपीड़ित करने से क्या प्रभावित हो सकता है? Windows संपीड़ित फाइलों के साथ पारदर्शी रूप से काम करता है। हालांकि, ऐसी फाइलों को प्रोसेस करते समय, उन्हें डीकंप्रेस/कंप्रेस करने के लिए अतिरिक्त CPU समय लग सकता है। इससे Windows घटकों या अपडेट इंस्टॉल करते समय मामूली मंदी आ सकती है। हालांकि, आधुनिक CPU पर, फाइल संपीड़न/डीकंप्रेस ऑपरेशन लगभग तुरंत किए जाते हैं, इसलिए उपयोगकर्ता प्रदर्शन पर वास्तविक प्रभाव को नोटिस भी नहीं कर सकता है।