Теневые копии (Shadow Copies), создаваемые службой Volume Shadow Copy Service (VSS) в Windows, позволяют сохранять моментальные снимки файлов и дисков для восстановления данных или резервного копирования. Хотя система автоматически управляет их удалением в соответствии с настройками VSS, иногда требуется вручную очистить теневые копии, чтобы освободить место на диске или устранить проблемы с VSS. В этой статье мы подробно разберем, как использовать утилиту Vssadmin для удаления теневых копий через командную строку, включая примеры и синтаксис команд.
Зачем удалять теневые копии
Теневые копии занимают место на диске, и их накопление может привести к нехватке свободного пространства, особенно на серверах с активным использованием VSS. Ручное удаление может понадобиться в следующих случаях:
— Освобождение дискового пространства, если VSS заполняет хранилище.
— Устранение ошибок, связанных с поврежденными или устаревшими теневыми копиями.
— Оптимизация работы службы VSS перед созданием новых копий.
Vssadmin — это встроенная утилита командной строки, которая позволяет управлять теневыми копиями, включая их удаление, просмотр и настройку хранилища.
Подготовка к использованию Vssadmin
Перед началом убедитесь, что:
— Вы используете учетную запись с правами администратора, так как Vssadmin требует повышенных привилегий.
— Служба Volume Shadow Copy включена. Проверьте ее состояние:
Get-Service VSS
— Вы знаете, какие теневые копии нужно удалить (например, для конкретного диска или по Shadow ID).
Vssadmin поддерживается в следующих системах: Windows Server 2003, 2003 R2, 2008, 2008 R2, 2012, Windows 8 и выше.
Синтаксис команды Vssadmin для удаления теневых копий
Основная команда для удаления теневых копий:
vssadmin delete shadows /for=
[/oldest | /all | /shadow= ] [/quiet]
Основные параметры приведены в таблице ниже:
Параметр | Описание |
---|---|
/for= |
Указывает диск на котором будет удалена Shadow копия |
/oldest | Удаляет только старые копии |
/all | Удаляет все Shadow копии для указанного диска |
/shadow= |
Удаляет shadow копию по указанному ShadowID. Чтобы получить идентификаторы всех shadow копий, можно использовать команду vssadmin list shadows. Формат идентификатора: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, где X — шестнадцатеричный символ |
/quiet | «Тихий» режим. При выполнении команды никакая информация на экран не выводится |
Важно: Вы можете удалять только те теневые копии, к которым у вас есть доступ. Для просмотра доступных копий используйте:
vssadmin list shadows
Пошаговая инструкция по удалению теневых копий
Метод 1. Удаление самой старой теневой копии
Чтобы удалить самую старую теневую копию на диске (например, C:):
1. Откройте Командную строку с правами администратора.
2. Выполните команду:
vssadmin Delete Shadows /For=C: /Oldest
3. Для выполнения без вывода сообщений добавьте /Quiet:
vssadmin Delete Shadows /For=C: /Oldest /Quiet
Метод 2. Удаление теневой копии по Shadow ID
Если нужно удалить конкретную теневую копию, сначала определите ее Shadow ID:
1. Выполните команду для просмотра всех теневых копий:
vssadmin list shadows
Пример вывода:
Contents of shadow copy set ID: {7205c3b3-81f9-4485-b594-7c4cb999fcb6}
Contained 1 shadow copies at creation time: 28-Nov-16 23:00:19
Shadow Copy ID: {442e95eb-b6c1-4ceb-a02b-425912cdfae3}
Original Volume: (D:)\\?\Volume{969f87c8-f206-4f9d-ab16-1c702776abdf}\
Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy104
Originating Machine: fileserver.dom.local
Service Machine: fileserver.dom.local
Provider: 'Microsoft Software Shadow Copy provider 1.0'
Type: ClientAccessible
Attributes: Persistent, Client-accessible, No auto release, No writers, Differential
2. Скопируйте Shadow Copy ID (включая фигурные скобки).
3. Удалите копию:
vssadmin Delete Shadows /Shadow={442e95eb-b6c1-4ceb-a02b-425912cdfae3}
4. Для тихого выполнения добавьте /Quiet:
vssadmin Delete Shadows /Shadow={442e95eb-b6c1-4ceb-a02b-425912cdfae3} /Quiet
Метод 3. Удаление всех теневых копий на диске
Чтобы удалить все теневые копии для определенного диска (например, D:):
1. Выполните команду:
vssadmin Delete Shadows /For=D: /All
2. Для выполнения без подтверждений:
vssadmin Delete Shadows /For=D: /All /Quiet
Другие полезные команды Vssadmin
Vssadmin предоставляет дополнительные команды для управления теневыми копиями. Чтобы просмотреть полный список, выполните:
vssadmin /?
Основные команды:
— Add ShadowStorage: Добавляет новую ассоциацию хранилища теневых копий.
— Create Shadow: Создает новую теневую копию.
— Delete ShadowStorage: Удаляет ассоциации хранилища теневых копий.
— List Providers: Показывает зарегистрированных провайдеров VSS.
— List Shadows: Выводит список существующих теневых копий.
— List ShadowStorage: Показывает ассоциации хранилища теневых копий.
— List Volumes: Перечисляет диски, поддерживающие теневые копии.
— List Writers: Выводит список подписанных VSS writers.
— Resize ShadowStorage: Изменяет размер хранилища теневых копий.
— Revert Shadow: Восстанавливает диск из теневой копии.
— Query Reverts: Проверяет прогресс операций восстановления.
Рекомендации и устранение неполадок
— Убедитесь, что у вас есть права на удаление теневых копий. Без административных привилегий команда завершится с ошибкой Access Denied.
— Перед удалением всех копий проверьте их список с помощью vssadmin list shadows, чтобы избежать потери важных данных.
— Если команда vssadmin выдает ошибки, проверьте состояние службы VSS:
Get-Service VSS
— Для диагностики проблем с VSS просмотрите Просмотр событий (eventvwr.msc) в разделе Windows Logs -> System или Applications and Services Logs -> Microsoft -> Windows -> VSS.
— Если диск заполнен, проверьте объем хранилища теневых копий:
vssadmin List ShadowStorage
— Для изменения размера хранилища используйте:
vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=10GB
— Регулярно проверяйте настройки VSS в Свойствах диска -> Теневые копии, чтобы избежать переполнения хранилища.
Альтернативные способы очистки
— Через графический интерфейс: Откройте Свойства диска -> Теневые копии и удалите копии вручную.
— Используйте Disk Cleanup (cleanmgr), выбрав опцию Теневые копии и Точки восстановления.
— Для автоматизации используйте PowerShell:
Get-WmiObject Win32_ShadowCopy | ForEach-Object { $_.Delete() }
Очистка теневых копий с помощью Vssadmin — это эффективный способ управления дисковым пространством и устранения проблем с VSS. Используйте приведенные команды для точечного удаления копий или полной очистки хранилища.