Cuando la consola devuelve el temido 0x800f081f CBSESOURCE_MISSING al tratar de ejecutar DISM /online /cleanup-image /restorehealth
en un servidor de producción con Windows Server 2019 Standard (build 17763), no solo se detiene la reparación de la imagen: también se bloquea el servicio de Windows Update y, con él, todo el ciclo de mantenimiento del sistema. A continuación encontrarás una guía exhaustiva —probada en entornos reales— para diagnosticar la causa y devolver la funcionalidad completa al almacén de componentes WinSxS sin reinstalar el sistema operativo.
Causas del error 0x800f081f
El código 0x800f081f indica que DISM no localiza los paquetes CAB o los archivos .manifest necesarios para reconstruir los componentes dañados. Las razones más frecuentes son:
- El directorio
%windir%\WinSxS
se ha dañado o limpiado de forma agresiva mediante cleanup manual. - Faltan paquetes porque el servidor pertenece a un anillo de actualización distinto (por ejemplo, está conectado a WSUS con catálogos recortados).
- El archivo
install.wim
o.esd
usado como origen de reparación no coincide exactamente con la edición y el nivel de parches del equipo. - Existen operaciones de mantenimiento pendientes (archivo
pending.xml
) que bloquean el almacén de componentes. - La actualización de pila de mantenimiento (SSU) no está al día, impidiendo que DISM aplique los parches de manera correcta.
Pre‑requisitos antes de iniciar la reparación
Antes de tocar un solo byte conviene asegurar lo siguiente:
- Disponer de copia de seguridad o instantánea de la máquina virtual.
- Comprobar la consistencia del disco con
chkdsk /scan
; sectores dañados pueden corromper de nuevo la imagen. - Registrar la versión exacta del sistema con
winver
oGet-ComputerInfo
para buscar un medio de instalación idéntico. - Actualizar, si es posible, la Servicing Stack Update más reciente (SSU) descargándola como paquete independiente.
Obtención de una fuente de reparación compatible
La estrategia más sencilla es clonar el directorio WinSxS
desde otro servidor en perfecto estado que cumpla:
Edición = Standard o Datacenter idéntica
Compilación = 17763
Nivel de parche = mes y año coincidentes
Si no existe otro servidor con esa huella, monta el ISO original de Windows Server 2019 y localiza \sources\install.wim
o install.esd
. Para evitar ambigüedades:
DISM /Get-WimInfo /WimFile:"D:\sources\install.wim"
Anota el Index que corresponda a tu edición (p. ej. :2
para Standard, :4
para Datacenter).
Ejecución de DISM con origen explícito
DISM /online /cleanup-image /restorehealth ^
/source:"X:\WinSxS" ^
/limitaccess
/source:
admite rutas locales o UNC; en una red lenta copia primero los archivos a disco local./limitaccess
deshabilita Windows Update durante la reparación y fuerza a DISM a usar solo los bits proporcionados.
Alternativa utilizando el medio de instalación
Cuando solo se dispone de un ISO limpio (sin parches), se debe combinar la imagen con las actualizaciones acumulativas para igualar el nivel de la máquina. Conviene hacerlo en otra estación de trabajo para no saturar el servidor:
- Descarga la CU y la SSU en formato .msu.
- Usa
DISM /Mount-Wim
para montar la edición correcta delinstall.wim
en una carpeta temporal. - Inyecta los paquetes con
/Add-Package
. - Aplica
/Cleanup-Image /StartComponentCleanup
dentro de la imagen. - Guarda los cambios con
/Unmount-Wim /Commit
.
El WIM resultante tendrá parches idénticos a tu sistema y servirá como fuente de reparación sin riesgo de desalinear la base WinSxS.
Verificación post‑reparación
Una vez completado el proceso, valida la integridad:
sfc /scannow
DISM /online /cleanup-image /analyzecomponentstore
Resultado esperado | Interpretación |
---|---|
Windows Resource Protection did not find any integrity violations | No quedan archivos de sistema corruptos. |
Component Store Cleanup Recommended : No | El almacén WinSxS no necesita limpieza adicional. |
Resolución de incidencias recurrentes
Si DISM continúa arrojando 0x800f081f:
- Busca referencias a
0x800f081f
enC:\Windows\Logs\DISM\dism.log
y localiza los nombres de los paquetes faltantes. - Descarga manualmente las versiones CAB de esos paquetes desde el Microsoft Update Catalog e instálalas con
dism /add-package
opkgmgr /ip
. - Elimina
%windir%\winsxs\pending.xml
solo si estás seguro de que quedó corrupto tras un corte de energía; de lo contrario provoca más daños que beneficios. - Aísla problemas de red usando
netsh winhttp reset proxy
ybitsadmin /reset
antes de volver a activar Windows Update.
Refuerzo de la salud del sistema a largo plazo
Con la imagen ya operativa, establece buenas prácticas para prevenir futuras corrupciones:
Medida preventiva | Beneficio directo |
---|---|
Agendar dism /online /cleanup-image /analyzecomponentstore mensual | Alerta temprana de componentes que crecen sin control. |
Combinar políticas de WSUS con Fallback a Windows Update | Evita huecos en los catálogos de parches. |
Programar StartComponentCleanup en modo silencioso tras cada parche mensual | Reduce el tamaño de WinSxS y minimiza el riesgo de corrupción. |
Conservar ISOs slipstream actualizados | Fuentes de reparación listas sin tener que reconstruir el WIM cada vez. |
Automatización con PowerShell
El siguiente script encapsula todas las fases descritas y genera un informe HTML que puede enviarse por correo:
# Variables
$Source = "X:\WinSxS"
$ReportPath = "C:\Temp\RepairReport.html"
$Log = "C:\Temp\Repair.log"
Función de chequeo inicial
function Test-Health {
sfc /scannow
dism /online /cleanup-image /analyzecomponentstore
}
Reparación
Start-Transcript -Path \$Log
Test-Health
dism /online /cleanup-image /restorehealth /source:\$Source /limitaccess
Test-Health
Stop-Transcript
Generar informe
Get-Content \$Log | ConvertTo-Html -Title "DISM Repair" | Out-File \$ReportPath
Write-Host "Proceso completado. Informe en \$ReportPath"
Preguntas frecuentes
¿Puedo usar la carpeta WinSxS
de Windows 10?
No. La versión del kernel y los paquetes de Windows 10 son distintos; mezclar arquitecturas introduce inconsistencias irreparables.
¿Qué tamaño debería tener WinSxS tras la reparación?
Un sistema recién instalado ronda los 9‑10 GB; servidores con años de servicio pueden llegar a 15 GB incluso después de la limpieza.
¿Es seguro desinstalar características para adelgazar WinSxS?
Sí, siempre que utilices dism /disable-feature /remove
. Elimina el payload binario y reduce la huella sin tocar el registro.
Conclusiones
El error 0x800f081f suele generar pánico por la ausencia de una ruta clara de resolución. Sin embargo, con un origen confiable y los comandos adecuados, la reparación del almacén de componentes es un proceso determinístico que devuelve al servidor su capacidad de recibir parches y de mantener su seguridad. Documenta los pasos, conserva copias verificadas de tus medios de instalación y automatiza la limpieza mensual para que este problema no vuelva a interrumpir tus mantenimientos.