Sometimes, the disk full warning in Windows may not be related to the usual resource-consuming folders.
Webmasters often wonder what would be consuming the disk space.
System Volume Information is a mysterious Windows folder that users aren't permitted to open.
The System Volume Information folder stores System Restore, Volume Shadow Copy, and content-indexing files.
Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to locate the exact folders that consume disk space.
In this context, we shall look into how to access the system volume information and clean up the folder to free up disk space.
The System Volume Information folder automatically created at the root of each drive, normally stores data related to System Restore, Indexing, File History, etc.
This folder is hidden by default. Thus, to make this folder visible, our support engineers disable the option “Hide protected operating system files” in File Explorer.
Alternatively, they also use the following PowerShell script:
$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
Normally while accessing the System Volume Information folder in File Explorer users receive an access denied error as shown below:
Location is not available
E:\System Volume Information is not accessible.
Access is denied.
Here, We assign the user as the directory owner and grant the account the NTFS permissions to access it. Though we can do it through the Security tab in folder properties, we can also perform it easily from the command prompt using the command below:
takeown /f "C:\System Volume information"
icacls "C:\System Volume Information" /grant ibmimedia\user:F
Alternatively, we can also view the contents of the System Volume Information directory by running the PowerShell console with NT AUTHORITY\SYSTEM privileges:
PsExec.exe -i -s powershell.exe
To view the contents of a folder, run the command:
Get-ChildItem 'C:\System Volume Information\'
Now, we can find the size with the following PowerShell command:
(Get-ChildItem 'C:\System Volume Information\' | measure Length -s).sum / 1Gb
Finally, we can restore the original permissions on the System Volume Information folder, using:
icacls "C:\System Volume Information" /setowner "NT Authority\System"
icacls "C:\System Volume Information" /remove ibmimedia\user
System Volume Information folder stores information for system recovery and data for some critical services. Thus it is not recommended to manually delete files in this folder
Though we can clean up the System Volume Information directory by disabling the system restore points and file history, it is not always acceptable.
Firstly, we can display what is stored in this directory by displaying the statistics of using shadow copies:
vssadmin list shadowstorage
This will display the details of the shadow copy storage. Windows by default allocate 10% of the total disk size for storing shadow copies.
We can reduce the disk usage limit of VSS to 2 GB using the vssadmin command.
The vssadmin command has the following syntax:
vssadmin resize shadowstorage /on=[drive letter]: /For=[drive letter]: /MaxSize=[maximum size]
We can delete all old system state copies using(in the Windows Server editions when we create system state backups using Windows Server Backup):
wbadmin delete systemstatebackup -keepversions:0
To quickly clean up old versions of VSS snapshots on Windows Server, use the diskshadow tool:
Delete shadows OLDEST c:\
Each time when the command run, it deletes the oldest shadow copy (snapshot) of the volume.
When analyzing the contents of the System Volume Information folder on Windows Server, we often notice that the Dedup\ChunkStore directory is consuming a lot of space.
This means that the file deduplication feature is enabled for this volume.
The Windows Data Deduplication service replaces identical chunks (fragments) in files on a volume with a link to the unique chunk. It then saves this to the System Volume Information directory.
While we move or delete optimized files from a deduplicated volume, it does not delete the old chunks immediately. A special GarbageCollection job that runs once a week removes these blocks. Thus it does not immediately reclaim space on a deduplication-enabled volume.
To immediately start the process of removing unused chunks, run the PowerShell command:
start-dedupjob -Volume C: -Type GarbageCollection
The next dedup job will check the integrity of the remaining chunks:
start-dedupjob -Volume C: -Type DataScrubbing
To monitor these tasks, use the Get-DedupJob cmdlet.
Now, it deletes unused chunks in the System Volume Information directory and frees additional disk space.