GuíasGuides · Nivel 1Level 1

Windows 11: actualizaciones que fallan o se deshacen, historial y códigos de error, registros, DISM, SFC y reinicio de componentesWindows 11: updates that fail or roll back, history and error codes, logs, DISM, SFC and resetting the components

Leer el historial de Windows Update y sus códigos (0x800f081f, 0x80070002, 0x800f0922), generar WindowsUpdate.log, buscar en CBS.log, reparar el almacén de componentes con DISM (con origen sin conexión) y SFC, reiniciar los componentes sin romper nada, hacer sitio y el ticket del equipo que dice «Deshaciendo cambios» cada noche.Reading Windows Update history and its codes (0x800f081f, 0x80070002, 0x800f0922), generating WindowsUpdate.log, searching CBS.log, repairing the component store with DISM (with an offline source) and SFC, resetting the components safely, freeing space, and the ticket for the device that says 'Undoing changes' every night.

Qué vas a conseguir

Un método para el equipo que no consigue instalar una actualización: saber qué actualización falla y con qué código, leer los dos registros que lo explican, reparar el almacén de componentes con DISM y SFC, reiniciar Windows Update sin borrar lo que no toca y resolver el caso más molesto: la actualización se instala, reinicia, llega al 100 % y dice No se pudieron completar las actualizaciones. Deshaciendo cambios.

Antes de empezar

  • Windows 11 23H2, 24H2 o 25H2 y una sesión de administrador local (en remoto, por PowerShell o con la herramienta de control remoto).
  • Saber cómo recibe las actualizaciones el equipo: Windows Update directamente, anillos de Intune, WSUS o MECM. Cambia dónde busca los archivos de reparación.
  • Una ISO de Windows 11 de la misma versión que el equipo, guardada en un recurso compartido (\\srv-ficheros\Software$\ISO), para reparar sin conexión.
  • C:\Temp creado para dejar las copias de los registros.

1. Qué actualización falla y con qué código

En el equipo, Configuración › Windows Update › Historial de actualizaciones: cada actualización con su estado y, si falló, el código. Desde PowerShell, con el historial completo:

PowerShell (administrador) · PC-0418
$s = (New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher()$s.QueryHistory(0, $s.GetTotalHistoryCount()) | Select-Object -First 4 Date, ResultCode, @{n='HResult';e={'0x{0:X8}' -f $_.HResult}}, Title | Format-ListDate       : 03/11/2026 21:14:52ResultCode : 4HResult    : 0x800F081FTitle      : 2026-10 Actualización acumulativa para Windows 11 Version 24H2 para sistemas basados en x64 (KBxxxxxxx)Date       : 02/11/2026 21:12:07ResultCode : 4HResult    : 0x800F081FTitle      : 2026-10 Actualización acumulativa para Windows 11 Version 24H2 para sistemas basados en x64 (KBxxxxxxx)
  • ResultCode: 2 correcta, 3 correcta con errores, 4 fallida, 5 cancelada. La fecha está en UTC.
  • El mismo error queda en el registro Sistema, origen WindowsUpdateClient, evento 20 (Error de instalación), y en Registros de Windows › Setup aparece el paquete del KB y su cambio de estado.

Los códigos que más se ven y por dónde empezar:

CódigoQué significaPrimer paso
0x800f081fCBS_E_SOURCE_MISSING: no encuentra los archivos de origen de un componenteDISM /RestoreHealth, con origen si hace falta (punto 4)
0x800f0831CBS_E_STORE_CORRUPTION: falta el manifiesto de un paquete anteriorDISM; si no basta, el paquete del Catálogo
0x80073712ERROR_SXS_COMPONENT_STORE_CORRUPT: almacén de componentes incoherenteDISM /RestoreHealth
0x80070002ERROR_FILE_NOT_FOUND: falta un archivo, a menudo de una descarga a mediasReiniciar los componentes (punto 5)
0x80070070ERROR_DISK_FULL: no hay espacioHacer sitio (punto 6)
0x800f0922CBS_E_INSTALLERS_FAILED: falló un instalador durante la instalaciónConexión a los servidores de actualización (VPN, proxy) y espacio en la partición del sistema
0x8024402cWU_E_PT_WINHTTP_NAME_NOT_RESOLVED: no resuelve el servidor de actualizacionesDNS y proxy del equipo

2. WindowsUpdate.log: qué hizo el agente

Desde Windows 10, el agente escribe trazas ETW en C:\Windows\Logs\WindowsUpdate. Get-WindowsUpdateLog las convierte en un texto legible (por defecto, en el escritorio de quien lo ejecuta):

PowerShell (administrador) · PC-0418
Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.logSelect-String -Path C:\Temp\WindowsUpdate.log -Pattern 'FATAL|0x8' | Select-Object -Last 4 | ForEach-Object Line2026/11/03 21:13:40.5512031 5120  8344  Deployment      Installing update KBxxxxxxx (Revision 1)2026/11/03 21:14:51.9028114 5120  8344  Handler         FATAL: CBS called Error with 0x800f081f,2026/11/03 21:14:51.9031209 5120  8344  Handler         FATAL: Completing with result 0x800f081f2026/11/03 21:14:52.0125977 5120  8344  Agent           * END * Install ClientId = UpdateOrchestrator, Updates = 1, ScenarioId = 8, Result 0x800f081f

Si el error es de búsqueda o descarga (proxy, WSUS que no responde, 0x8024...), la causa está aquí. Si dice CBS called Error, el agente descargó bien y quien falló fue el servicio de componentes: el siguiente registro.

3. CBS.log: qué falló al instalar

CBS (Component-Based Servicing) instala los paquetes y anota cada paso en C:\Windows\Logs\CBS\CBS.log. Es grande y se está escribiendo: se copia y se busca en la copia.

PowerShell (administrador) · PC-0418
Copy-Item C:\Windows\Logs\CBS\CBS.log C:\Temp\CBS.logSelect-String -Path C:\Temp\CBS.log -Pattern 'HRESULT = 0x8|Payload Corrupt|Error' | Select-Object -Last 3 | ForEach-Object Line2026-11-03 21:14:40, Info   CSI  (p) CSI Payload Corrupt (n) amd64_microsoft-windows-shell32_31bf3856ad364e35_10.0.26100.xxxx_none_...\shell32.dll2026-11-03 21:14:51, Error  CBS  Failed to pin deployment while resolving Update: Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.xxxx [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]2026-11-03 21:14:51, Info   CBS  Failed to execute execution chain. [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]

Payload Corrupt o SOURCE_MISSING con el nombre de un componente es almacén de componentes dañado: lo arregla DISM. Los registros antiguos se comprimen en CbsPersist_*.cab en la misma carpeta.

4. DISM y SFC, en este orden

DISM repara el almacén de componentes (C:\Windows\WinSxS), que es de donde SFC saca las copias buenas de los archivos del sistema. Por eso DISM va primero.

PowerShell (administrador) · PC-0418
DISM /Online /Cleanup-Image /CheckHealthDISM /Online /Cleanup-Image /ScanHealthThe component store is repairable.DISM /Online /Cleanup-Image /RestoreHealthError: 0x800f081fThe source files could not be found.Use the "Source" option to specify the location of the files that are required to restore the feature.

/CheckHealth lee una marca y tarda segundos; /ScanHealth revisa todo (varios minutos); /RestoreHealth repara descargando de Windows Update lo que falte. En un equipo que se actualiza por WSUS o sin salida a internet, esa descarga no llega y aparece el mismo 0x800f081f. Dos salidas:

  • Origen sin conexión: montar la ISO de la misma versión, ver qué índice es tu edición y usarlo con /LimitAccess, que impide ir a Windows Update.
PowerShell (administrador) · PC-0418
Mount-DiskImage -ImagePath \\srv-ficheros\Software$\ISO\Win11_24H2_es-ES_x64.isoDISM /Get-WimInfo /WimFile:E:\sources\install.wimIndex : 3Name : Windows 11 EnterpriseDISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:E:\sources\install.wim:3 /LimitAccessThe restore operation completed successfully.sfc /scannowWindows Resource Protection found corrupt files and successfully repaired them.

Si la ISO trae install.esd en lugar de install.wim, el origen es /Source:ESD:E:\sources\install.esd:3. Cuanto más reciente sea la ISO, más componentes encuentra.

  • Permitir la reparación desde Windows Update aunque haya WSUS: la directiva Configuración del equipo › Plantillas administrativas › Sistema › Especificar la configuración para la instalación de componentes opcionales y la reparación de componentes, con la casilla de descargar el contenido de reparación directamente de Windows Update.

Lo que reparó SFC queda en CBS.log con la etiqueta [SR]: Select-String -Path C:\Windows\Logs\CBS\CBS.log -SimpleMatch '[SR]' | Select-Object -Last 10.

5. Reiniciar los componentes de Windows Update

Cuando el error es de descarga (0x80070002, una actualización que se queda al 0 % o vuelve a descargarse cada día), la caché de descargas o la base de datos de catálogos está mal. Se renombran, no se borran:

Símbolo del sistema (administrador) · PC-0418
net stop wuauservnet stop bitsnet stop cryptsvcren C:\Windows\SoftwareDistribution SoftwareDistribution.oldren C:\Windows\System32\catroot2 catroot2.oldnet start cryptsvcnet start bitsnet start wuauserv
  • Si ren dice que el archivo está en uso, un servicio ha vuelto a arrancar solo: se para otra vez y se repite.
  • Windows crea las dos carpetas de nuevo en la siguiente búsqueda. El historial que se ve en Configuración se queda casi vacío: es normal, el de PowerShell y el registro de eventos siguen ahí.
  • Nunca se borra catroot (sin el 2) ni nada de WinSxS a mano.
  • Cuando el equipo se haya actualizado bien, se borran las carpetas .old.

6. Espacio en disco

Una acumulativa necesita varios GB libres para descomprimirse y una actualización de versión bastante más: por debajo de 20 GB libres en C: empiezan los fallos raros.

PowerShell (administrador) · PC-0418
Get-PSDrive C | Select-Object @{n='LibreGB';e={[math]::Round($_.Free/1GB,1)}}LibreGB-------    6,2DISM /Online /Cleanup-Image /AnalyzeComponentStoreComponent Store Cleanup Recommended : YesDISM /Online /Cleanup-Image /StartComponentCleanup

Además: Configuración › Sistema › Almacenamiento › Recomendaciones de limpieza, la papelera, C:\Windows\SoftwareDistribution.old si ya no hace falta y, sobre todo, las carpetas del usuario que OneDrive puede dejar solo en la nube.

No uses /StartComponentCleanup /ResetBase como rutina: libera más espacio, pero las actualizaciones instaladas dejan de poder desinstalarse.

7. El ticket: "se instala, reinicia y dice 'Deshaciendo cambios'"

Martes, 8:45. Desde hace una semana, PC-0418 se reinicia cada noche, llega al 100 %, dice No se pudieron completar las actualizaciones. Deshaciendo cambios. No apagues el equipo y tarda veinte minutos en arrancar. Cumplimiento lo marca sin el parche del mes.

  1. El código: el historial del punto 1 da 0x800F081F en el mismo KB cuatro noches seguidas. No es un fallo puntual.
  2. Reinicio pendiente y espacio: Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending' da False y hay 6,2 GB libres. Se limpia (punto 6) hasta 31 GB.
  3. Los registros: WindowsUpdate.log dice CBS called Error; CBS.log, CSI Payload Corrupt en un componente y CBS_E_SOURCE_MISSING. Almacén de componentes dañado.
  4. La reparación: RestoreHealth falla con 0x800f081f porque el equipo va por WSUS. Con la ISO de 24H2 como origen y /LimitAccess termina bien; después, sfc /scannow y un reinicio.
  5. La actualización: Buscar actualizaciones. Se instala, reinicia y arranca sin deshacer. Si volviera a fallar, el paquete del Catálogo de Microsoft Update: en 24H2 pueden ser varios .msu (actualizaciones de punto de control); se dejan todos en la misma carpeta y se instala el del KB con DISM /Online /Add-Package /PackagePath:C:\Temp\KB\windows11.0-kbxxxxxxx-x64.msu, que encuentra solo los requisitos.
  6. Si nada de lo anterior funciona: Configuración › Sistema › Recuperación › Solucionar problemas con Windows Update › Reinstalar ahora reinstala la versión actual de Windows conservando aplicaciones y archivos. El último paso es reinstalar el equipo con la imagen corporativa.

Otras causas del mismo síntoma: con 0x800f0922, una VPN o un proxy que corta la conexión durante el reinicio, o la partición del sistema EFI sin espacio; con fallos de controladores en CBS.log, el controlador o el antivirus de terceros que bloquea los archivos.

En el ticket: KB, código, líneas de los dos registros, qué se reparó y con qué origen, y la comprobación final (historial con ResultCode 2).

Siguientes pasos

¿Falta algo o en tu entorno es distinto? Escríbeme y lo corrijo.

What you'll get

A method for the device that cannot install an update: knowing which update fails and with which code, reading the two logs that explain it, repairing the component store with DISM and SFC, resetting Windows Update without deleting what you shouldn't, and solving the most annoying case: the update installs, restarts, reaches 100% and says We couldn't complete the updates. Undoing changes.

Before you start

  • Windows 11 23H2, 24H2 or 25H2 and a local administrator session (remotely, through PowerShell or the remote control tool).
  • Knowing how the device gets its updates: Windows Update directly, Intune rings, WSUS or MECM. It changes where the repair files are fetched from.
  • A Windows 11 ISO of the same version as the device, kept on a share (\\srv-ficheros\Software$\ISO), for offline repair.
  • C:\Temp created to keep the copies of the logs.

1. Which update fails and with which code

On the device, Settings › Windows Update › Update history: each update with its status and, if it failed, the code. From PowerShell, with the full history:

PowerShell (administrator) · PC-0418
$s = (New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher()$s.QueryHistory(0, $s.GetTotalHistoryCount()) | Select-Object -First 4 Date, ResultCode, @{n='HResult';e={'0x{0:X8}' -f $_.HResult}}, Title | Format-ListDate       : 11/3/2026 9:14:52 PMResultCode : 4HResult    : 0x800F081FTitle      : 2026-10 Cumulative Update for Windows 11 Version 24H2 for x64-based Systems (KBxxxxxxx)Date       : 11/2/2026 9:12:07 PMResultCode : 4HResult    : 0x800F081FTitle      : 2026-10 Cumulative Update for Windows 11 Version 24H2 for x64-based Systems (KBxxxxxxx)
  • ResultCode: 2 succeeded, 3 succeeded with errors, 4 failed, 5 aborted. The date is in UTC.
  • The same error lands in the System log, source WindowsUpdateClient, event 20 (Installation Failure), and Windows Logs › Setup shows the KB package and its state change.

The codes you see most and where to start:

CodeWhat it meansFirst step
0x800f081fCBS_E_SOURCE_MISSING: the source files for a component cannot be foundDISM /RestoreHealth, with a source if needed (step 4)
0x800f0831CBS_E_STORE_CORRUPTION: the manifest of an earlier package is missingDISM; if that is not enough, the Catalog package
0x80073712ERROR_SXS_COMPONENT_STORE_CORRUPT: the component store is inconsistentDISM /RestoreHealth
0x80070002ERROR_FILE_NOT_FOUND: a file is missing, often from a half-finished downloadReset the components (step 5)
0x80070070ERROR_DISK_FULL: there is no spaceFree up space (step 6)
0x800f0922CBS_E_INSTALLERS_FAILED: an installer failed during installationConnection to the update servers (VPN, proxy) and space on the system partition
0x8024402cWU_E_PT_WINHTTP_NAME_NOT_RESOLVED: the update server name does not resolveThe device's DNS and proxy

2. WindowsUpdate.log: what the agent did

Since Windows 10, the agent writes ETW traces to C:\Windows\Logs\WindowsUpdate. Get-WindowsUpdateLog turns them into readable text (by default, on the desktop of whoever runs it):

PowerShell (administrator) · PC-0418
Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.logSelect-String -Path C:\Temp\WindowsUpdate.log -Pattern 'FATAL|0x8' | Select-Object -Last 4 | ForEach-Object Line2026/11/03 21:13:40.5512031 5120  8344  Deployment      Installing update KBxxxxxxx (Revision 1)2026/11/03 21:14:51.9028114 5120  8344  Handler         FATAL: CBS called Error with 0x800f081f,2026/11/03 21:14:51.9031209 5120  8344  Handler         FATAL: Completing with result 0x800f081f2026/11/03 21:14:52.0125977 5120  8344  Agent           * END * Install ClientId = UpdateOrchestrator, Updates = 1, ScenarioId = 8, Result 0x800f081f

If the error is in the scan or download (proxy, WSUS not answering, 0x8024...), the cause is here. If it says CBS called Error, the agent downloaded fine and the one that failed was the servicing stack: the next log.

3. CBS.log: what failed during installation

CBS (Component-Based Servicing) installs the packages and writes every step to C:\Windows\Logs\CBS\CBS.log. It is large and being written to: copy it and search the copy.

PowerShell (administrator) · PC-0418
Copy-Item C:\Windows\Logs\CBS\CBS.log C:\Temp\CBS.logSelect-String -Path C:\Temp\CBS.log -Pattern 'HRESULT = 0x8|Payload Corrupt|Error' | Select-Object -Last 3 | ForEach-Object Line2026-11-03 21:14:40, Info   CSI  (p) CSI Payload Corrupt (n) amd64_microsoft-windows-shell32_31bf3856ad364e35_10.0.26100.xxxx_none_...\shell32.dll2026-11-03 21:14:51, Error  CBS  Failed to pin deployment while resolving Update: Package_for_RollupFix~31bf3856ad364e35~amd64~~26100.xxxx [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]2026-11-03 21:14:51, Info   CBS  Failed to execute execution chain. [HRESULT = 0x800f081f - CBS_E_SOURCE_MISSING]

Payload Corrupt or SOURCE_MISSING with a component name means a damaged component store: DISM fixes it. Older logs are compressed into CbsPersist_*.cab in the same folder.

4. DISM and SFC, in this order

DISM repairs the component store (C:\Windows\WinSxS), which is where SFC takes the good copies of system files from. That is why DISM goes first.

PowerShell (administrator) · PC-0418
DISM /Online /Cleanup-Image /CheckHealthDISM /Online /Cleanup-Image /ScanHealthThe component store is repairable.DISM /Online /Cleanup-Image /RestoreHealthError: 0x800f081fThe source files could not be found.Use the "Source" option to specify the location of the files that are required to restore the feature.

/CheckHealth reads a flag and takes seconds; /ScanHealth checks everything (several minutes); /RestoreHealth repairs by downloading whatever is missing from Windows Update. On a device that updates through WSUS or has no internet access, that download never arrives and you get the same 0x800f081f. Two ways out:

  • Offline source: mount the ISO of the same version, find the index of your edition and use it with /LimitAccess, which stops DISM going to Windows Update.
PowerShell (administrator) · PC-0418
Mount-DiskImage -ImagePath \\srv-ficheros\Software$\ISO\Win11_24H2_en-US_x64.isoDISM /Get-WimInfo /WimFile:E:\sources\install.wimIndex : 3Name : Windows 11 EnterpriseDISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:E:\sources\install.wim:3 /LimitAccessThe restore operation completed successfully.sfc /scannowWindows Resource Protection found corrupt files and successfully repaired them.

If the ISO has install.esd instead of install.wim, the source is /Source:ESD:E:\sources\install.esd:3. The more recent the ISO, the more components it finds.

  • Allow repair from Windows Update even with WSUS: the policy Computer Configuration › Administrative Templates › System › Specify settings for optional component installation and component repair, with the box to download repair content directly from Windows Update.

What SFC repaired goes into CBS.log with the [SR] tag: Select-String -Path C:\Windows\Logs\CBS\CBS.log -SimpleMatch '[SR]' | Select-Object -Last 10.

5. Resetting the Windows Update components

When the error is in the download (0x80070002, an update stuck at 0% or downloading again every day), the download cache or the catalog database is broken. You rename them, you do not delete them:

Command Prompt (administrator) · PC-0418
net stop wuauservnet stop bitsnet stop cryptsvcren C:\Windows\SoftwareDistribution SoftwareDistribution.oldren C:\Windows\System32\catroot2 catroot2.oldnet start cryptsvcnet start bitsnet start wuauserv
  • If ren says the file is in use, a service has started again on its own: stop it again and repeat.
  • Windows recreates both folders on the next scan. The history shown in Settings ends up almost empty: that is normal, the PowerShell history and the event log are still there.
  • Never delete catroot (without the 2) or anything in WinSxS by hand.
  • Once the device has updated correctly, delete the .old folders.

6. Disk space

A cumulative update needs several GB free to unpack and a version upgrade quite a lot more: below 20 GB free on C: the odd failures start.

PowerShell (administrator) · PC-0418
Get-PSDrive C | Select-Object @{n='FreeGB';e={[math]::Round($_.Free/1GB,1)}}FreeGB------   6.2DISM /Online /Cleanup-Image /AnalyzeComponentStoreComponent Store Cleanup Recommended : YesDISM /Online /Cleanup-Image /StartComponentCleanup

Also: Settings › System › Storage › Cleanup recommendations, the recycle bin, C:\Windows\SoftwareDistribution.old if no longer needed and, above all, the user's folders that OneDrive can keep in the cloud only.

Do not use /StartComponentCleanup /ResetBase as routine: it frees more space, but installed updates can no longer be uninstalled.

7. The ticket: "it installs, restarts and says 'Undoing changes'"

Tuesday, 8:45. For a week, PC-0418 has restarted every night, reached 100%, said We couldn't complete the updates. Undoing changes. Don't turn off your computer and taken twenty minutes to boot. Compliance flags it without this month's patch.

  1. The code: the history from step 1 gives 0x800F081F on the same KB four nights in a row. It is not a one-off.
  2. Pending reboot and space: Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending' returns False and there are 6.2 GB free. A cleanup (step 6) takes it to 31 GB.
  3. The logs: WindowsUpdate.log says CBS called Error; CBS.log, CSI Payload Corrupt on a component and CBS_E_SOURCE_MISSING. Damaged component store.
  4. The repair: RestoreHealth fails with 0x800f081f because the device uses WSUS. With the 24H2 ISO as the source and /LimitAccess it completes; then sfc /scannow and a restart.
  5. The update: Check for updates. It installs, restarts and boots without rolling back. If it failed again, the package from the Microsoft Update Catalog: on 24H2 it can be several .msu files (checkpoint cumulative updates); put them all in the same folder and install the KB's one with DISM /Online /Add-Package /PackagePath:C:\Temp\KB\windows11.0-kbxxxxxxx-x64.msu, which finds the prerequisites by itself.
  6. If none of that works: Settings › System › Recovery › Fix problems using Windows Update › Reinstall now reinstalls the current version of Windows keeping apps and files. The last step is reimaging the device with the corporate image.

Other causes of the same symptom: with 0x800f0922, a VPN or proxy that cuts the connection during the restart, or an EFI system partition with no space; with driver failures in CBS.log, the driver or a third-party antivirus locking the files.

In the ticket: KB, code, the lines from both logs, what was repaired and with which source, and the final check (history with ResultCode 2).

Next steps

Is something missing, or different in your environment? Get in touch and I'll fix it.

Tech Career Lab · newsletter

¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.Found this useful? Every two weeks I send one practical idea for IT professionals: LinkedIn, projects, networking and hiring processes.

Apúntate y llévate las 33 ideasSign up and get the 33 ideas →