Очистка каталога System Volume Information
На одном из серверов (под управлением Windows Server 2012 R2) столкнулся с исчерпанием места на системном диске C:\. Перебрал основные места, в которых обычно скапливается разный мусор (WinSxS, очистка каталогов TEMP, профилей пользователей и удаление устаревших обновлений и пр.), но заметного эффекта это не дало. Места на диске все также не хватало. В результате нашел, что большую часть системного диска занимала папка System Volume Information. В этой статье я попробую рассказать, зачем нужен каталог System Volume Information в Windows системах, что в нем хранится, и как его очистить.
Как открыть папку System Volume Information?
Каталог System Volume Information находится в корне каждого диска (будь то локальный HDD, SSD диск или съемный накопитель USB-флешка). В нем хранятся системные данные, относящиеся к службе восстановления системой, индексирования, ведения истории файлов и т.д.
По умолчанию папка System Volume Information скрыта и доступ к ней есть только у системы (учетная запись NT AUTHORITY\SYSTEM). Даже администратор не может открыть его и просмотреть содержимое папки. Если попробовать открыть папку System Volume Information в проводнике, под любым пользователем (даже администратором), появится ошибка доступа:
Чтобы просмотреть содержимое каталога, придется сначала назначить себя владельцем каталога и предоставить своей учетной записи права доступа на него на уровне файловой системы NTFS (это можно сделать через графический интерфейс Безопасность в свойствах папки). Но гораздо быстрее вы можете предоставить своей учетной записи (например username) права доступа на папку с помощью команды:
icacls «C:\System Volume Information» /grant username:F /t
Проверьте в свойствах папки на вкладке Безопасность, что у вашей учетки появились полные права доступа к папке.
icacls «C:\System Volume Information» /remove username /t
Что хранится в каталоге System Volume Information?
Что же хранится в каталоге System Volume Information? Мне удалось найти информацию о следующих службах, хранящих свои файлы в этой папке (список не является исчерпывающим):
- Данные точек восстановления системы на клиентских системах или резервные копии System State, сделанные через Windows Server Backup (wbadmin), на серверных ОС;
- Содержимое базы службы индексации (Indexing Service), используемого для быстрого поиска файлов;
- База данных службы Distributed Link Tracking Service;
- Данные снапшотов дисков (теневых копий), создаваемых службой Volume Shadow Copy , которые можно использовать для восстановления старых версий файлов;
- Настройки дисковых квот;
- База сервиса дедупликации файлов;
- База группы репликации DFS (dfsr.db).
Если вы используете на своем компьютере или сервере теневые копий для возможности отката к старым версиям файлов / состояниям системы, имейте в виду: каждый новый VSS снапшот (снимок) сохраняет данные в каталог System Volume Information, увеличивая его размер. Чем чаще создаются теневые копии и чем чаще изменяются файлы на диске, тем быстрее растет размер этого каталога.
На скриншоте ниже видно, что в папке System Volume Information есть системный файл размером больше 120 Гб.
Как очистить системные файлы в каталоге System Volume Information
Радикально очистить каталог System Volume Information можно, отключив ведение точек восстановления системы и истории файлов. Но это не всегда допустимо.
Посмотрим для начала, чем же занят каталог. Выведем статистику использования теневых копий:
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 1.1 — Программа командной строки для администрирования службы теневого копирования томов
(C) Корпорация Майкрософт (Microsoft Corportion), 2001-2013.
Успешно изменен размер для соответствия хранилища теневой копии
Если вы создаете резервные копии состояния системы с помощью Windows Server Backup, удалить старые версии копий system state можно с помощью команды (в редакциях Windows Server):
wbadmin delete systemstatebackup -keepversions:0
При запуске команды wbadmin delete systemstatebackup в Windows 10 появляется ошибка – «Команда DELETE SYSTEMSTATEBACKUP не поддерживается в этой версии ОС Windows». Дело в том, что в клиентских системах (Windows 10 / 8.1 /7) управление точками восстановления и лимитами возможно только из графического интерфейса. В свойствах системы (System) перейдите на вкладку System Protection (Защита системы).
Выберите системный диск и нажмите на кнопку Configure (Настроить). Откроется диалоговое окно настройки квот для хранения точек восстановления системы. Вы можете уменьшить размер диска под хранение теневых копий. Здесь же можно удалить все имеющие точки восстановления (кнопка Удалить), либо совсем отключить создание точек восстановления, выбрав Отключить защиту системы.
Также уменьшения размера каталога System Volume Information вы можете:
- Перенести данные VSS на другой NTFS диск ( vssadmin add shadowstorage /for=c: /on=d: /maxsize=30% );
- Отключить/перенастроить функцию История файлов Windows;
- Выполнить очистку системных файлов на диске с помощью встроенной утилиты cleanmgr.exe (свойства диска -> Очистка диска).
- Если вы используете функцию дедупликации данных, необходимо отключить дедубликацию и выполнить команду деоптимизации файлов Start-DedupJob -Volume D: -Type Unoptimization (выполнение команды может занять довольно много времени, также следите за тем, чтобы на диске было достаточно свободного места).
Очистка диска в Windows Server 2008/2008r2 без установки Desktop Experience
В Windows Server 2008 /R2 и 2012 / R2 по умолчанию не установлена утилита очистки диска — Disk Cleanup ( cleanmgr.exe ), позволяющая удалить ненужные файлы и очистить каталог WinSxS от файлов устаревших обновлений. Для ее запуска нужно сначала установить отдельный компонент сервера Desktop Experience (Возможности рабочего стола) с помощью Server Manager или с помощью PowerShell (Install-WindowsFeature Desktop-Experience).
Совет . В Windows 2008 R2 для возможности использовать cleanmgr для удаления устаревших обновлений нужно установить обновление KB2852386 .
Но вместе с Desktop Experience устанавливается множество других компонентов, которые абсолютно не нужны на сервере:
- Windows Media Player
- Темы рабочего стола
- Поддержка AVI для Windows
- Windows SideShow
- Windows Defender
- Disk Cleanup
- Sync Center
- Запись звука
- Character Map
- Snipping Tool
Для запуска мастера очистки дисков в Windows Server можно воспользоваться более простым методом: достаточно скопировать в системный каталог из каталога WinSxS два файла Cleanmgr.exe и Cleanmgr.exe.mui . Ниже представлены команды для копирования файлов на разных версиях Windows (во всех случаях путь для английских редакций ОC)
Windows Server 2008 R2 x64
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\System32\en-US\
Windows Server 2008 x64
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.0.6001.18000_none_c962d1e515e94269\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.0.6001.18000_en-us_b9f50b71510436f2\cleanmgr.exe.mui C:\Windows\System32\en-US\
Windows Server 2012 x64
copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe C:\Windows\System32\
copy C:\Windows\WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui C:\Windows\System32\en-US\
Для запуска утилиты очистки диска теперь достаточно выполнять с правами администратора команду cleanmgr.exe.
Windows Server 2012 R2 x64
Рассмотренный выше трюк не работает в Windows Server 2012 R2 из-за изменений, внесенных обновлением KB2821895. Дело в том, что после установки данного обновления для хранения бинарных файлов компонентов стала использоваться компрессия. При попытке запустить скопированный cleanmgr.exe появляется ошибка:
The Program or feature \??\C:\Windows\system32\cleanmgr.exe cannot start or run due to incompatibility with 64-bit version of windows
В качестве обходного решения можно воспользоваться такой методикой:
- Установить компонент Desktop Experience: Install-WindowsFeature Desktop-Experience
- Перезагрузить сервер
- Скопировать файлы % windir%\system32\cleanmgr.exe и %windir%\system32\en-US\cleanmgr.exe.mui в произвольный каталог (c:\temp)
- Удалить фичу: Uninstall-WindowsFeature Desktop-Experience
- Перезагрузка
- Скопировать файлы cleanmgr.exe и cleanmgr.exe.mui в описанные выше каталоги
В дальнейшем эти два файла можно скопировать и на все другие сервера или интегрировать в шаблоны виртуальных машин с Win 2012 R2.
Ссылка на скачивание готового комплекта файлов cleanmgr.exe.mui + cleanmgr.exe для Windows Server 2012 R2 на ЯндексДиске (thks Alex Kornev )
Совет . Для удаления устаревших обновлений в Windows Server 2012 R2 гораздо проще воспользоваться такой командой DISM:
System volume information как очистить в windows server 2008 r2
Сообщения: 51411
Благодарности: 14732
Конфигурация компьютера |
Материнская плата: ASUS P8Z77-V LE PLUS |
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб |
Звук: Realtek ALC889 HD Audio |
CD/DVD: ASUS DRW-24B5ST |
ОС: Windows 8.1 Pro x64 |
Прочее: корпус: Fractal Design Define R4 |
Almest, в wbadmin.msc вы видите не теневые копии, а Backup — резервные копии (архивы) или образы системы. Ну а поскольку эти образы инкрементальные, каждому из них соответствует своя теневая копия.
Если хочется помучить командную строку, почитайте о команде wbadmin.exe (не путать с wbadmin.msc), например:
(удалит старые архивы, оставит только 5 последних).
P.S. Если использовать команду vssadmin delete shadows для удаления теневых копий, то останутся ссылки на них в каталоге архивации (и сведения обновятся только после следующей архивации).
Последний раз редактировалось Petya V4sechkin, 05-04-2018 в 20:36 .
Если всё это дело не нужно, то грузанись с LiveCD и поудаляй. 2. Поставь себе права(или своей группе) на эту папку, добавь себя в «полный доступ к этой папке и ее подпапкам»(ибо там только system и trustedinstaller) — и поудаляй. » |
Конфигурация компьютера |
Материнская плата: ASUS P8Z77-V LE PLUS |
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб |
Звук: Realtek ALC889 HD Audio |
CD/DVD: ASUS DRW-24B5ST |
ОС: Windows 8.1 Pro x64 |
Прочее: корпус: Fractal Design Define R4 |
Значит, эти архивы не содержат состояния системы.
Их тип можете посмотреть так:
К сожалению, Server 2008 R2 поддерживает только wbadmin delete systemstatebackup, но не wbadmin delete backup (эта опция появилась в Server 2012).
Ну тогда остаётся vssadmin delete shadows, при этом:
останутся ссылки на них в каталоге архивации (и сведения обновятся только после следующей архивации) |