हमारे एक सर्वर (Windows Server 2016 चल रहा) की सिस्टम ड्राइव (C:\) पर फ्री डिस्क स्पेस खत्म हो गया था। मैंने सभी रिसोर्स-खपत वाले स्थानों (WinSxS, TEMP फोल्डर, निष्क्रिय यूजर प्रोफाइल, पुरानी अपडेट फाइलें आदि) को चेक किया और साफ़ किया, लेकिन इसका कोई खास असर नहीं हुआ। आखिरकार, मुझे पता चला कि सिस्टम ड्राइव का एक बड़ा हिस्सा System Volume Information फोल्डर द्वारा घेरा गया है। इस लेख में मैं बताऊंगा कि Windows पर System Volume Information फोल्डर का उपयोग कैसे होता है, इसमें क्या स्टोर होता है, और इसे सही तरीके से कैसे साफ़ किया जाए।
Windows पर System Volume Information फोल्डर को कैसे एक्सेस करें?
System Volume Information फोल्डर प्रत्येक ड्राइव के रूट पर ऑटोमैटिकली बनता है (चाहे वह लोकल HDD, SSD, रिमूवेबल USB फ्लैश ड्राइव, या SD कार्ड हो)। यह System Restore, Indexing, File History आदि से संबंधित सिस्टम डेटा स्टोर करता है।
डिफ़ॉल्ट रूप से, System Volume Information फोल्डर हिडन होता है और केवल NT AUTHORITY\SYSTEM अकाउंट ही इसे एक्सेस कर सकता है।
इस फोल्डर को दिखाने के लिए, आपको File Explorer में "Hide protected operating system files" ऑप्शन को डिसेबल करना होगा या PowerShell स्क्रिप्ट चलानी होगी:
$regkey = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'
Set-ItemProperty $regkey Hidden 1
Set-ItemProperty $regkey HideFileExt 0
Set-ItemProperty $regkey ShowSuperHidden 1
Stop-Process -ProcessName explorer
यहां तक कि एडमिनिस्ट्रेटर भी इसे खोलकर इसकी सामग्री नहीं देख सकता। यदि आप किसी भी यूजर (बिल्ट-इन एडमिनिस्ट्रेटर अकाउंट सहित) के तहत File Explorer में System Volume Information फोल्डर खोलने का प्रयास करते हैं, तो आपको "Access is denied" एरर मिलेगा:
Location is not available. C:\System Volume Information is not accessible. Access is denied.
फोल्डर की सामग्री देखने के लिए, आपको खुद को डायरेक्टरी का ओनर असाइन करना होगा और अपने अकाउंट को NTFS परमिशन देनी होगी (यह फोल्डर प्रॉपर्टीज के Security टैब के माध्यम से किया जा सकता है)। लेकिन कमांड प्रॉम्प्ट से खुद को ओनर असाइन करना और डायरेक्टरी एक्सेस देना बहुत तेज है:
takeown /f "C:\System Volume information"
icacls "C:\System Volume Information" /grant woshub\jwolf:F
फोल्डर प्रॉपर्टीज के Security टैब में चेक करें कि आपके अकाउंट को अब फुल कंट्रोल परमिशन मिल गई है।
आप NT AUTHORITY\SYSTEM विशेषाधिकारों के साथ PowerShell कंसोल चलाकर भी System Volume Information डायरेक्टरी की सामग्री देख सकते हैं:
PsExec.exe -i -s powershell.exe
फोल्डर की सामग्री देखने के लिए कमांड चलाएं:
Get-ChildItem 'C:\System Volume Information\'
फोल्डर का साइज निम्न PowerShell कमांड से पता लगाया जा सकता है:
(Get-ChildItem 'C:\System Volume Information\' | measure Length -s).sum / 1Gb
System Volume Information फोल्डर पर मूल परमिशन बहाल करने के लिए चलाएं:
icacls "C:\System Volume Information" /setowner "NT Authority\System"
icacls "C:\System Volume Information" /remove woshub\jwolf
Windows में System Volume Information फोल्डर क्या है?
System Volume Information फोल्डर में क्या स्टोर होता है? मुझे निम्न सेवाओं के बारे में जानकारी मिली जो इस फोल्डर में अपनी फाइलें स्टोर करती हैं (सूची संपूर्ण नहीं है):
- WindowsImageBackup — डेस्कटॉप Windows वर्जन पर सिस्टम रिस्टोर पॉइंट या सर्वर OS में Windows Server Backup (
wbadmin) का उपयोग करके बनाए गए सिस्टम स्टेट बैकअप; - तेज फाइल खोज के लिए उपयोग होने वाले Indexing Service डेटाबेस की सामग्री (Outlook सर्च सहित);
- Distributed Link Tracking Service डेटाबेस;
- Volume Shadow Copy द्वारा बनाए गए डिस्क स्नैपशॉट, जिनका उपयोग फाइलों के पुराने वर्जन को रिकवर करने के लिए किया जा सकता है। प्रत्येक स्नैपशॉट के लिए, लंबी ID के नाम से एक अलग फाइल बनती है;
- NTFS डिस्क कोटा सेटिंग्स;
- Data Deduplication सर्विस के बेस और चंक्स;
- DFS Replication डेटाबेस (dfsr.db);
- WPSettings.dat फाइल — स्टोरेज सर्विस (StorSvc) द्वारा बनाई गई;
- USB ड्राइव पर IndexerVolumeGuid फाइल भी स्टोर होती है जो Windows Search सर्विस द्वारा उपयोग किए जाने वाले यूनिक डिस्क लेबल को परिभाषित करती है;
- AppxProgramDataStaging, AppxStaging — Windows UWP ऐप बैकअप (इसे हटाने के बाद रिकवरी के लिए उपयोग किया जा सकता है)।
यदि आप अपने कंप्यूटर या सर्वर पर शैडो कॉपी का उपयोग फाइलों/सिस्टम स्टेट के पुराने वर्जन पर वापस जाने के लिए कर रहे हैं, तो ध्यान रखें कि प्रत्येक नया VSS स्नैपशॉट System Volume Information डायरेक्टरी में डेटा सेव करता है, जिससे इसका साइज बढ़ता है। शैडो कॉपी जितनी बार बनती हैं और डिस्क पर फाइलें जितनी बार बदलती हैं, उतनी ही तेजी से इस डायरेक्टरी का साइज बढ़ता है।
नीचे दिए गए स्क्रीनशॉट में आप देख सकते हैं कि System Volume Information फोल्डर में 160 GB से बड़ी एक सिस्टम फाइल है।
System Volume Information फोल्डर को कैसे साफ़ करें?
नोट: System Volume Information फोल्डर में फाइलों को मैन्युअली डिलीट करने की सलाह नहीं दी जाती, क्योंकि यह सिस्टम रिकवरी के लिए जानकारी और कुछ महत्वपूर्ण सेवाओं के लिए डेटा स्टोर करता है।
आप सिस्टम रिस्टोर पॉइंट और फाइल हिस्ट्री को डिसेबल करके System Volume Information डायरेक्टरी को रेडिकली साफ़ कर सकते हैं। लेकिन यह हमेशा स्वीकार्य नहीं होता।
पहले, देखते हैं कि इस डायरेक्टरी में क्या स्टोर है। शैडो कॉपी के उपयोग के आंकड़े प्रदर्शित करें:
vssadmin list shadowstorage
जैसा कि आप देख सकते हैं, सिस्टम ड्राइव (C:\) स्पेस का 10% शैडो कॉपी फाइलों के लिए आवंटित है और उसमें से केवल 2% उपयोग में है। यदि Maximum Shadow Copy Storage space का मान UNBOUNDED पर सेट है, तो इसका मतलब है कि शैडो कॉपी की कोई लिमिट सेट नहीं है और वे संभावित रूप से सारे उपलब्ध फ्री डिस्क स्पेस को घेर सकते हैं। Windows डिफ़ॉल्ट रूप से टोटल डिस्क साइज का 10% शैडो कॉपी स्टोर करने के लिए आवंटित करता है।
आप vssadmin कमांड का उपयोग करके VSS की डिस्क उपयोग लिमिट को 2 GB तक कम कर सकते हैं। vssadmin कमांड का सिंटैक्स निम्न है:
vssadmin resize shadowstorage /on=[drive letter]: /For=[drive letter]: /MaxSize=[maximum size]
हमारे उदाहरण में यह इस तरह दिखेगा:
vssadmin resize shadowstorage /on=c: /for=c: /maxsize=2GB
यदि आप WSB (Windows Server Backup) का उपयोग करके सिस्टम स्टेट बैकअप बनाते हैं, तो सभी पुराने सिस्टम स्टेट कॉपी को इस तरह डिलीट किया जा सकता है (Windows Server एडिशन में):
wbadmin delete systemstatebackup -keepversions:0
Windows Server पर पुराने VSS स्नैपशॉट को जल्दी से साफ़ करने के लिए diskshadow टूल का उपयोग करें:
DiskShadow
Delete shadows OLDEST c:\
हर बार कमांड चलाने पर वॉल्यूम का सबसे पुराना शैडो कॉपी (स्नैपशॉट) डिलीट हो जाता है।
जब आप Windows 10 में wbadmin delete systemstatebackup कमांड चलाते हैं, तो एरर आता है: "The DELETE BACKUP command is not supported in this version of Windows"। तथ्य यह है कि डेस्कटॉप OS (Windows 10/8.1/7) पर रिस्टोर पॉइंट और लिमिट को केवल Windows GUI से मैनेज किया जा सकता है। सिस्टम प्रॉपर्टीज खोलें और System Protection टैब पर क्लिक करें।
सिस्टम ड्राइव चुनें और Configure बटन पर क्लिक करें। सिस्टम रिस्टोर पॉइंट स्टोर करने के लिए डिस्क कोटा कॉन्फिगरेशन डायलॉग बॉक्स खुलेगा। आप शैडो कॉपी स्टोर करने के लिए डिस्क का साइज कम कर सकते हैं। यहां आप या तो सभी मौजूदा रिस्टोर पॉइंट डिलीट कर सकते हैं (Delete बटन), या Disable system protection चुनकर रिस्टोर पॉइंट बनाने को पूरी तरह डिसेबल कर सकते हैं।
System Volume Information डायरेक्टरी का साइज कम करने के लिए आप यह भी कर सकते हैं:
- VSS डेटा को दूसरे NTFS ड्राइव पर ले जाएं (
vssadmin add shadowstorage /for=c: /on=d: /maxsize=30%); - Windows File History फीचर को डिसेबल या रीकॉन्फिगर करें;
- बिल्ट-इन टूल cleanmgr.exe का उपयोग करके सिस्टम फाइलें साफ़ करें (डिस्क प्रॉपर्टीज -> Disk Cleanup)।
System Volume Information में Dedup ChunkStore को साफ़ करें
Windows Server पर System Volume Information फोल्डर की सामग्री का विश्लेषण करते समय, आप देख सकते हैं कि Dedup\ChunkStore डायरेक्टरी बहुत स्पेस खा रही है। इसका मतलब है कि इस वॉल्यूम के लिए फाइल डिडुप्लीकेशन फीचर इनेबल है।
यदि Windows Data Deduplication सर्विस को वॉल्यूम पर फाइलों में समान चंक्स (फ्रैगमेंट) मिलते हैं, तो यह उन्हें यूनिक चंक के लिंक से बदल देती है, जो System Volume Information डायरेक्टरी में सेव होता है। यदि आप डिडुप्लीकेटेड वॉल्यूम से ऑप्टिमाइज्ड फाइलों को मूव या डिलीट करते हैं, तो पुराने चंक्स तुरंत डिलीट नहीं होते। इन ब्लॉक्स को एक विशेष GarbageCollection जॉब द्वारा हटाया जाता है जो सप्ताह में एक बार चलता है। यही कारण है कि डिडुप्लीकेशन इनेबल्ड वॉल्यूम पर स्पेस तुरंत रिक्लेम नहीं होता।
अनउज्ड चंक्स को हटाने की प्रक्रिया तुरंत शुरू करने के लिए PowerShell कमांड चलाएं:
start-dedupjob -Volume C: -Type GarbageCollection
अगला डिडुप जॉब शेष चंक्स की इंटीग्रिटी चेक करेगा:
start-dedupjob -Volume C: -Type DataScrubbing
इन टास्क को मॉनिटर करने के लिए Get-DedupJob कमांडलेट का उपयोग करें।
टास्क पूरे होने के बाद, System Volume Information डायरेक्टरी में अनउज्ड चंक्स डिलीट हो जाएंगे, और अतिरिक्त डिस्क स्पेस फ्री हो जाएगा।
सावधान: Start-DedupJob -Volume D: -Type Unoptimization कमांड का उपयोग करके वॉल्यूम के लिए डेटा डिडुप्लीकेशन डिसेबल करते समय सावधान रहें। यह कमांड System Volume Information डायरेक्टरी में सभी चंक्स को डिलीट कर देगा और वॉल्यूम पर अनऑप्टिमाइज्ड फाइलें अपने मूल साइज पर वापस आ जाएंगी। इसलिए ऑप्टिमाइजेशन डिसेबल करने से पहले सुनिश्चित करें कि पर्याप्त फ्री डिस्क स्पेस है।