Очистка системного каталога System Volume Information в Windows

На одном из серверов (под управлением Windows Server 2016) столкнулся с исчерпанием места на системном диске C:\. После очистки основных мест, в которых обычно скапливается разный мусор (WinSxS, каталог TEMP, профили неактивных пользователей и устаревшие обновления и пр.), но заметного эффекта это не дало. Места на диске все также не хватало. В результате нашел, что большую часть системного диска занимала папка System Volume Information. В этой статье я попробую рассказать, зачем нужен каталог System Volume Information в Windows, что в нем хранится, и как его корректно очистить.

большой размер каталога system volume information в windows

Примечание. Инструкции, приведенные в этой статье применимы ко всем поддерживаемым Windows: Windows 10, Windows 8.1, Windows Server 2019/2016/2012 R2.

Просмотр содержимого каталога System Volume Information

Каталог System Volume Information автоматически создается в корне каждого диска (будь то локальный HDD, SSD диск, съемный USB накопитель, SD карта). В нем хранятся системные данные, относящиеся к службе восстановления системы, индексирования, истории файлов и т.д.

По умолчанию папка System Volume Information скрыта и доступ к ней есть только у системы (учетная запись NT AUTHORITY\SYSTEM ).

Чтобы показать этот каталог, нужно отключить скрытие защищенных системных файлов в File Explorer (Hide protected operating system files) или выполнить PowerShell скрипт:

$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'
Set-ItemProperty $key Hidden 1
Set-ItemProperty $key HideFileExt 0
Set-ItemProperty $key ShowSuperHidden 1
Stop-Process -processname explorer

Даже администратор не может открыть его и просмотреть содержимое папки. Если попробовать открыть папку System Volume Information в проводнике, под любым пользователем (даже под встроенным администратором), появится ошибка доступа:

Расположение недоступно  

Нет доступа к C:\System Volume Information Отказано в доступе

запрещен доступ к system volume information в windows

Чтобы просмотреть содержимое каталога, придется сначала назначить себя владельцем каталога и предоставить своей учетной записи права доступа на него на уровне файловой системы NTFS (это можно сделать через в свойствах папки на вкладке Безопасность). Но гораздо быстрее назначить себя владельцем и предоставить доступ к каталогу из комнадной строки:

takeown /f "C:\System Volume information"
icacls "C:\System Volume Information" /grant Corp\kbuldogov:F

Проверьте в свойствах папки на вкладке Безопасность, что у вашей учетки появились полные права доступа к папке.

предоставить разрешения на просмотр содержимого папки system volume information

Также можно получить просмотреть содержимое каталога System Volume Information, запустив консоль PowerShell с правами SYSTEM;

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

Чтобы восстановить исходные права доступа на каталоге System Volume Information, выполните:

icacls "C:\System Volume Information" /setowner "NT Authority\System"
icacls "C:\System Volume Information" /remove corp\kbuldogov

Что хранится в каталоге System Volume Information?

Что же хранится в каталоге System Volume Information? Мне удалось найти информацию о следующих службах, хранящих свои файлы в этой папке (список не является исчерпывающим):

  • WindowsImageBackup — данные точек восстановления системы на клиентских системах или резервные копии System State, сделанные через Windows Server Backup (wbadmin), на серверных ОС;
  • Содержимое базы службы индексирования (Indexing Service), используемого для быстрого поиска файлов (в том числе для поиска в Outlook);
  • База данных службы Distributed Link Tracking Service;
  • Данные снапшотов дисков (теневых копий), создаваемых службой Volume Shadow Copy , которые можно использовать для восстановления старых версий файлов. Для каждого снапшота создается отдельный файл без расширения с длинным ID;большие снапшоты (теневые копии vss) в system volume information
  • Настройки дисковых квот NTFS;
  • База и чанки службы дедупликации файлов;
  • База репликации DFSR (dfsr.db);
  • Файл WPSettings.dat — создается службой хранилища (StorSvc);
  • На USB накопителях будет хранится также файл IndexerVolumeGuid, в котором хранится уникальная метка диска, используемая службой поиска Windows;
  • AppxProgramDataStaging, AppxStaging – резервные копии UWP приложений Windows (можно использовать для восстановления после удаления).

Если вы используете на своем компьютере или сервере теневые копий для возможности отката к старым версиям файлов/состояниям системы, имейте в виду: каждый новый VSS снапшот (снимок) сохраняет данные в каталог System Volume Information, увеличивая его размер. Чем чаще создаются теневые копии и чем чаще изменяются файлы на диске, тем быстрее растет размер этого каталога.

На скриншоте ниже видно, что в папке System Volume Information есть системный файл размером больше 120 Гб.

очень большой размер каталога System Volume Information - более 120 гигабайт

Как очистить системные файлы в каталоге System Volume Information?

Примечание. Не рекомендуется вручную удалять файлы в каталоге System Volume Information, т.к. в нем хранится важная информация, необходимая для восстановления системы и другая важная информация.

Радикально очистить каталог System Volume Information можно, отключив ведение точек восстановления системы и истории файлов. Но это не всегда допустимо.

Посмотрим для начала, чем же занят каталог. Выведем статистику использования теневых копий:

vssadmin list shadowstorage

vssadmin list shadowstorage - информация по теневым копиям

vssadmin 1.1 - Программа командной строки для администрирования службы теневого копирования томов
(C) Корпорация Майкрософт (Microsoft Corportion), 2001-2013.
Сопоставление хранилища теневой копии
Для тома: (C:)\\?\Volume{9a9e5a02-db8e-447d-9fef-6029dc4f7f10}\
Том хранилища теневой копии: (C:)\\?\Volume{9a9e5a02-db8e-447d-9fef-6029dc4f7f10}\
Использованный объем хранилища теневой копии: 4,69 ГБ (2%)
Выделенный объем хранилища теневой копии: 5,17 ГБ (2%)
Максимальный объем хранилища теневой копии: 23,3 ГБ (10%)

Как мы видим, для данных теневых снаншотов на диске C:\ выделено 10% места на диске, из которых занято 2%. Если Максимальный объем хранилища теневой копии (Maximum Shadow Copy Storage space) равен UNBOUNDED, это означает, что лимит для теневых копий не задан и они потенциально могут занять все доступное свободное место на диске. Windows по умолчанию отводит под хранение данных теневых снимков 10 % от общего размера диска.

Уменьшите лимит использования дискового пространства службой VSS до 2 гб с помощью команды vssadmin. Команда имеет следующий синтаксис:

vssadmin resize shadowstorage /on=[drive letter]: /For=[drive letter]: /MaxSize=[maximum size]

В нашем примере она будет выглядеть так:

vssadmin resize shadowstorage /on=c: /for=c: /maxsize=2GB

vssadmin resize shadowstorage уменьшить размер места под теневые копии

vssadmin 1.1 - Программа командной строки для администрирования службы теневого копирования томов
(C) Корпорация Майкрософт (Microsoft Corportion), 2001-2013.
Успешно изменен размер для соответствия хранилища теневой копии

Если вы создаете резервные копии состояния системы с помощью Windows Server Backup (WSB), в Windows Server можно удалить старые версии копий system state с помощью команды:

wbadmin delete systemstatebackup -keepversions:0

wbadmin delete systemstatebackup - удаление старых версий резевных копий системы

Для быстрой очистки старых версий резервных копий состояния системы (system state) и снапшотов в Windows Server используйте утилиты diskshadow:

DiskShadow
Delete shadows OLDEST c:\

При каждом запуске команды удаляется самая старая теневая копия (снапшот) диска.

diskshadow удалить старую теневую копию диска в system volume information

При запуске команды wbadmin delete systemstatebackup в Windows 10 появляется ошибка – « Команда DELETE SYSTEMSTATEBACKUP не поддерживается в этой версии ОС Windows «. Дело в том, что в клиентских системах (Windows 10 / 8.1 /7) управление точками восстановления и лимитами возможно только из графического интерфейса. В свойствах системы (System) перейдите на вкладку System Protection (Защита системы).

windows 10 включено восстановление системы для системного диска

Выберите системный диск и нажмите на кнопку Configure (Настроить). Откроется диалоговое окно настройки квот для хранения точек восстановления системы. Вы можете уменьшить размер диска под хранение теневых копий. Здесь же можно удалить все имеющие точки восстановления (кнопка Удалить), либо совсем отключить создание точек восстановления, выбрав Отключить защиту системы.

отключить защиту системы в windows 10

Также для уменьшения размера каталога System Volume Information вы можете:

  • Перенести данные VSS на другой NTFS диск ( vssadmin add shadowstorage /for=c: /on=d: /maxsize=30% );
  • Отключить/перенастроить функцию История файлов Windows;
  • Выполнить очистку системных файлов на диске с помощью встроенной утилиты cleanmgr.exe (свойства диска -> Очистка диска).cleanmgr выполнить очистку системных файлов

Очистка System Volume Information после удаления файлов на томе с дедупликацией

При анализе содержимого каталога System Volume Information в Windows Server вы можете заметить, что много места занимает каталог Dedup\ChunkStore. Это означает, что на диске включена дедупликация файлов.

большой размер каталог дедупликации Dedup ChunkStore в system volume information

Служба дедупликации при нахождении одинаковых чанков в файлах заменяет их на ссылку на уникальный чанк, который сохраняется в каталог 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. Но при этом на диске де-оптимизированные файлы вернутся в исходное состояние и будут занимать на диске полное место. Поэтому перед отключением оптимизации проверьте, что на диске достаточно свободного места.

Предыдущая статья Следующая статья


Комментариев: 21 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)