Ошибка обновления 0x800f081f (Windows 11/Server): Отсутствует источник
Подсистема CBS и суть ошибки 0x800f081f
Ошибка 0x800f081f (CBS_E_SOURCE_MISSING) при установке накопительных обновлений (Cumulative Updates) в Windows 11 или Windows Server 2022 означает, что системе обслуживания на основе компонентов (CBS - Component Based Servicing) не хватает базовых файлов (Payloads) в хранилище компонентов (папка WinSxS) для применения патча (дельта-обновления). Когда DISM или Windows Update пытаются собрать обновленный файл, они понимают, что исходника нет. При попытке скачать его с серверов Windows Update происходит сбой (из-за блокировок, WSUS-настроек или отсутствия связи). Бизнес-риски: серверы остаются уязвимыми (без патчей безопасности), невозможность установить роли (например, .NET Framework 3.5).
Причины отсутствия исходных файлов
| Причина коррупции WinSxS | Механизм возникновения | Диагностика |
|---|---|---|
| WSUS Ограничения | Сервер настроен на получение обновлений с локального WSUS, где нет нужных файлов по требованию (FOD). | Проверка ключа реестра UseWUServer. |
| Агрессивная очистка | Использование сторонних твикеров (или DISM /ResetBase), которые удалили необходимые базовые манифесты. | Логи CBS (C:\Windows\Logs\CBS\CBS.log). |
| Повреждение ФС | Тихие ошибки NTFS (Silent Data Corruption) или плохие сектора (Bad Blocks). | Команда sfc /scannow не может восстановить файлы. |
Восстановление хранилища компонентов (WinSxS)
Сценарий 1: Использование DISM с онлайн-источником (Windows Update)
Если у сервера есть прямой выход в интернет, заставим DISM скачать недостающие файлы напрямую с серверов Microsoft, минуя локальный WSUS.
Восстановление образа с загрузкой из Интернета
DISM /Online /Cleanup-Image /RestoreHealth
Если настроен WSUS, временно отключаем его через реестр (CMD от Админа):
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v UseWUServer /t REG_DWORD /d 0 /f
net stop wuauserv
net start wuauserv
DISM /Online /Cleanup-Image /RestoreHealthСценарий 2: Использование локального образа (Install.wim)
Если интернета нет (изолированная среда), вам потребуется ISO-образ с ТОЙ ЖЕ версией и редакцией ОС.
- Смонтируйте ISO-образ Windows (например, диск
E:). - Найдите файл
E:\sources\install.wim(илиinstall.esd). - Узнайте индекс вашей редакции ОС (например, Windows Server Standard = Index 2):
dism /Get-WimInfo /WimFile:E:\sources\install.wim - Запустите восстановление с указанием источника:
DISM восстановление из локального WIM файла
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:E:\sources\install.wim:2 /LimitAccessТиповые ошибки администраторов
- Указание неверного источника: Если сервер обновлен до билда 20348.1500, а вы пытаетесь скормить ему
install.wimот релизной версии 20348.169, DISM отклонит источник (Source rejected). Образ-донор должен быть максимально близок по версии к целевой ОС (содержать свежие Cumulative Updates).
Отсутствие единого процесса управления патчами (Patch Management) ставит безопасность компании под угрозу. ITSTM внедрит и настроит MECM (SCCM) или правильную топологию WSUS, обеспечив контролируемую и безошибочную доставку обновлений по расписанию.
Частые вопросы (FAQ)
Почему ошибка 0x800f081f часто возникает при установке .NET Framework 3.5?
В современных версиях Windows (начиная с 8/Server 2012) бинарные файлы (payloads) для .NET 3.5 удалены из дистрибутива (папки WinSxS) для экономии места. Система пытается скачать их (Features on Demand), но если настроен WSUS (который их не кэширует), возникает ошибка отсутствия источника.
Что делает ключ /LimitAccess в команде DISM?
Ключ /LimitAccess явно запрещает утилите DISM обращаться к службе Windows Update (интернету) за недостающими файлами, заставляя её использовать СТРОГО тот источник, который указан параметром /Source.
Где посмотреть, какого именно файла не хватает?
Откройте файл лога C:\Windows\Logs\CBS\CBS.log и выполните поиск снизу вверх по слову 'ERROR_SXS_ASSEMBLY_MISSING' или '0x800f081f'. Там будет указано имя конкретного манифеста или DLL-библиотеки (например, amd64_microsoft-windows-tcpip...).
Можно ли просто скопировать папку WinSxS с другого сервера?
Категорически нет. Папка WinSxS (Component Store) состоит из жестких ссылок (Hardlinks) на реальные файлы в системе (System32). Простое копирование разрушит архитектуру ОС. Используйте только механизмы DISM.