Папка SoftwareDistribution в Windows: что хранит, можно ли чистить и как починить Windows Update
Меня зовут Семёнов Евгений, директор АйТи Фреш. За 15+ лет админства я удалял содержимое C:\Windows\SoftwareDistribution раз триста. Это один из самых надёжных способов быстро починить Windows Update, когда сервер «не видит обновлений» или клиент кричит о недостатке места на системном диске. В статье расскажу, что именно лежит в этой папке, когда её чистка безопасна, а когда — стреляет по ногам, и приведу готовый скрипт, который я держу в наборе инструментов.
Что такое SoftwareDistribution
Это рабочая папка службы Windows Update (wuauserv). Windows хранит там скачанные кабы обновлений, базу истории сканирований и метаданные о применимых патчах. Папка всегда лежит в C:\Windows\SoftwareDistribution и состоит из нескольких ключевых подкаталогов:
| Подпапка | Назначение |
|---|---|
| Download | Скачанные .cab/.msu-файлы обновлений |
| DataStore | База DataStore.edb (Jet/ESE) со всей историей |
| EventCache | Кэш событий WU |
| PostRebootEventCache.V2 | События, отложенные до перезагрузки |
| ReportingEvents.log | Текстовый лог результатов установки |
| SLS | Service Locator Service-кэш |
Почему папка разрастается
За 15+ лет я видел пять типовых сценариев:
- Не перезагружали сервер после крупного апдейта. Пакет feature update лежит в Download и ждёт ребута. На серверах 2019→2022 это 5–8 ГБ.
- Windows Update сломался. Пакет постоянно скачивается и не устанавливается, растёт количество копий.
- WSUS-сервер. На сервере с ролью WSUS SoftwareDistribution может занимать десятки и даже сотни гигабайт — это легитимно, там сам кэш WSUS.
- Битая DataStore.edb. База не ротируется и вырастает до 2–4 ГБ.
- Старые установочные файлы для функций. Остатки от предыдущих feature updates, которые Windows не убрала.
Когда чистить, а когда — не трогать
Я всегда следую простому правилу:
- Клиентская Windows, папка > 8 ГБ и WU не работает — чистим.
- Клиентская Windows, папка 2–4 ГБ, WU работает — не трогаем.
- Сервер с ролью WSUS — чистим через WSUS-консоль (Server Cleanup Wizard), а не вручную.
- Обычный сервер, папка > 10 ГБ — анализируем, скорее всего зависли feature updates, очищаем Download.
Безопасная очистка: пошаговый скрипт
У меня есть готовый скрипт, который я запускаю на проблемных машинах. Он останавливает службы, чистит Download, пересоздаёт каталоги и перезапускает WU:
@echo off
REM Fix-WindowsUpdate.cmd — очистка SoftwareDistribution и catroot2
net stop wuauserv
net stop cryptsvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start cryptsvc
net start bits
net start msiserver
wuauclt /resetauthorization /detectnow
echo Done. Remove *.old folders after 7 days.
Скрипт запускаем от администратора. После него WU пересоздаёт SoftwareDistribution и начинает новое сканирование. Через 5–15 минут пользователь видит список доступных обновлений.
PowerShell-вариант
Stop-Service -Name wuauserv, bits, cryptsvc, msiserver -Force
Rename-Item "C:\Windows\SoftwareDistribution" "SoftwareDistribution.old" -Force
Rename-Item "C:\Windows\System32\catroot2" "catroot2.old" -Force
Start-Service -Name wuauserv, bits, cryptsvc, msiserver
# Триггер полного сканирования
(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()
Мини-кейс: место на системном диске закончилось
Февраль 2026. Файл-сервер клиента Windows Server 2019 упёрся в 99% занятости C:. Виновник — C:\Windows\SoftwareDistribution\Download на 27 ГБ с четырьмя копиями feature update. Перезагрузки после патчей избегали, потому что сервер в продуктиве.
Сделал snapshot, остановил wuauserv, переименовал папку, перезапустил сервис. Через 40 секунд системный диск освободил 27 ГБ. После ребута по окну обслуживания всё применилось штатно, сервер доприменил актуальный набор патчей. Время работы — 15 минут, риск — нулевой. Клиенту прислал счёт только на выезд для проверки, 4 500 руб.
Типовые ошибки Windows Update и как их ловить
| Код | Что значит | Решение |
|---|---|---|
| 0x80070003 | Не найден путь | Очистка SoftwareDistribution |
| 0x80244022 | Сервер WU недоступен | Проверить WSUS-URL и прокси |
| 0x8024200D | Повреждён скачанный пакет | Очистка Download + повтор |
| 0x80073712 | Повреждён CBS/WinSxS | DISM /RestoreHealth, потом SFC |
| 0x80240034 | Downloading, зависло | Очистка + bitsadmin /reset |
DISM и SFC — перед серьёзными действиями
Если WU не чинится очисткой, я всегда запускаю:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
DISM подменяет битые компоненты из WinSxS, SFC проверяет системные файлы. Операции долгие, но в 80% случаев решают скрытые повреждения.
WSUS: другие правила
На сервере с WSUS SoftwareDistribution — это сам репозиторий патчей. Очистка вручную ломает подписи и потом клиенты не могут скачать. Правильный путь — Server Cleanup Wizard в консоли WSUS, далее — Invoke-WsusServerCleanup через PowerShell:
Invoke-WsusServerCleanup -CleanupObsoleteComputers `
-CleanupObsoleteUpdates -CleanupUnneededContentFiles `
-DeclineExpiredUpdates -DeclineSupersededUpdates `
-CompressUpdates
Запускаем ночью, занимает от 15 минут до нескольких часов в зависимости от размера репозитория.
Профилактика
- Ежемесячные окна обслуживания с перезагрузкой после патчей.
- Мониторинг свободного места на C: с алертом на 15%.
- Автоматический Windows Update Cleanup через Disk Cleanup или scheduled task.
- Ротация WSUS минимум раз в квартал.
- Лог WindowsUpdate.log через
Get-WindowsUpdateLogраз в неделю для ранней диагностики.
Что не делать
- Удалять SoftwareDistribution без остановки служб — словите I/O error и сломаете WU.
- Удалять DataStore.edb, пока wuauserv работает — получите corrupt и долгую пересборку истории.
- Переносить SoftwareDistribution на другой диск симлинком без перезагрузки и теста.
- Чистить на серверах WSUS ручным способом.
Почините Windows Update в офисе
Приеду, разберусь, напишу скрипт под ваш парк. Устраняю ошибки WU, настраиваю регулярное обслуживание и мониторинг места на дисках. Удалённая помощь через WAC в дата-центре МТС. Опыт с Windows Server с 2008-го.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы
- Что такое папка SoftwareDistribution?
- Рабочая папка Windows Update с кэшем пакетов и базой истории.
- Можно ли удалить SoftwareDistribution?
- Целиком — нельзя. Через остановку служб и переименование — безопасно.
- Почему папка разрастается?
- Зависшие feature updates, сломанный WU, большая DataStore.edb или WSUS-репозиторий.
- Что такое DataStore.edb?
- Jet-база с историей сканирований и установок Windows Update.
- Помогает ли очистка от ошибок WU?
- В большинстве случаев — да. Используется как первый шаг диагностики.