¿La actualización in‑place de Windows Server 2019 a 2022 se detiene al 87% con “Parent process unexpectedly exited” y el evento 0xc0000409? En esta guía práctica encontrarás el porqué, cómo confirmarlo en los logs y un plan de corrección paso a paso para completar la migración sin pérdida de servicios ni datos.
Contexto y síntomas
En actualizaciones in‑place (2019 Standard → 2022 Standard) es relativamente común que el progreso aparente se “congele” cerca del 87%. Cuando se revisan los logs en C:\$WINDOWS.~BT\Sources\Panther\MIG
se observa la traza Parent process unexpectedly exited
. En el Visor de eventos, normalmente aparece una excepción 0xc0000409
(posible stack buffer overrun). En paralelo, MigHost
suele estar procesando perfiles de usuario, claves de registro o datos de aplicaciones.
Qué está sucediendo técnicamente
El motor de migración (MIG) de Windows, que transfiere configuraciones, perfiles y componentes durante la actualización, falla de manera abrupta. Ese fallo provoca que el proceso padre (SetupHost
/MigHost
) termine inesperadamente y el asistente de actualización se cierre sin completar.
Causas más probables
- Corrupción de sistema (por ejemplo,
ntdll.dll
), errores de memoria o disco. - Drivers/servicios de terceros (AV/EDR, backup, DLP, cifrado, filtros de archivo/almacenamiento) incompatibles con Windows Server 2022.
- Perfil de usuario corrupto (hive
HKCU
oUsrClass.dat
) desde el que se lanza la actualización. - Requisitos previos incumplidos: poco espacio en
C:
o en la partición del sistema (System Reserved/EFI), firmware/BIOS desactualizado.
Mapa rápido de diagnóstico
Indicio | Cómo verlo | Acción inmediata |
---|---|---|
0xc0000409 en Visor | Aplicación/Instalación → errores de SetupHost /MigHost | Ejecutar SFC/DISM , revisar memoria/disco |
“Parent process unexpectedly exited” en MIG | Panther\MIG\*.log | Arranque limpio y deshabilitar filtros de terceros |
Eventos de drivers de filtro | fltmc filters , System log | Desinstalar/pausar AV/EDR/backup/DLP |
Falta de espacio | Get-Volume , Explorador | Liberar/expandir C: y System Reserved/EFI |
Perfil en uso con errores | Errores HKCU/UsrClass.dat | Crear admin local nuevo y relanzar |
Plan de acción priorizado (de menor a mayor intrusión)
Preparación y compatibilidad
- Actualiza Windows Server 2019 al último Servicing Stack Update (SSU) y Cumulative Update (CU).
- Actualiza BIOS/firmware y drivers críticos (almacenamiento, chipset, red, controladoras HBA/RAID).
- Valida compatibilidad de aplicaciones/servicios con 2022. Atención especial a agentes de seguridad, backup, DLP, cifrado o filtrado de disco.
- Asegura espacio libre: mínimo 20–30 GB en
C:
y suficiente espacio en la partición System Reserved/EFI (ideal ≥500 MB).
Arranque limpio y reducción de “superficies de conflicto”
- Suspende BitLocker (si aplica) y desconecta periféricos USB no esenciales.
- Desinstala o deshabilita temporalmente AV/EDR, agentes de backup, DLP, software de cifrado y cualquier filtro de sistema de archivos/almacenamiento.
- Configura un clean boot (solo servicios Microsoft) con
msconfig
. - Crea un usuario local nuevo con rol Administrador, inicia sesión con ese perfil y lanza el
setup.exe
desde ahí (evita unHKCU
dañado).
Salud del sistema y del disco
Ejecuta en esta secuencia (consola elevada):
mdsched.exe
sfc /scannow
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
chkdsk C: /f
Programa chkdsk
en reinicio si fuese necesario y repite la actualización solo cuando no haya errores.
Limpieza de cachés de instalación
Tras fallos previos, borra cachés y reinicia:
net stop wuauserv
net stop bits
net stop cryptsvc
net stop msiserver
rd /s /q C:\Windows\SoftwareDistribution
rd /s /q C:\Windows\System32\catroot2
rd /s /q C:\$WINDOWS.~BT
net start msiserver
net start cryptsvc
net start bits
net start wuauserv
Identificación de filtros y drivers de terceros
Los minifiltros de archivos incompatibles son culpables frecuentes. Lista los filtros activos:
fltmc filters
En la salida verás filtros nativos (por ejemplo, Wof
, FileInfo
, Luafv
). Si detectas filtros de seguridad/backup/DLP cifrado, deshabilítalos o desinstala temporalmente el software.
Para revisar drivers instalados y su proveedor/versión:
pnputil /enum-drivers
driverquery /v /fo table > C:\Temp\drivers.txt
sc.exe query type= driver state= all > C:\Temp\drv_services.txt
Análisis específico del fallo de migración
Usa SetupDiag para obtener una causa canónica y correlacionarla con los logs de Panther:
SetupDiag.exe /Output:"C:\Temp\SetupDiagResults.log" /LogPath:"C:\$WINDOWS.~BT\Sources\Panther"
Busca firmas relacionadas con finalización de SetupHost
/MigHost
, errores del tipo 0xC1900101
o el 0xc0000409
. En los logs MIG, identifica el plugin y ruta que se estaban procesando antes del crash (p. ej., datos de una aplicación concreta). Si un plugin apunta a una app específica, desinstala temporalmente esa app y reintenta.
Reintento controlado de la actualización
- Ejecuta el instalador desde ISO local copiada a disco (no por red).
- Opcionalmente, bloquea la descarga de drivers durante el proceso si sospechas que uno recién traído rompe la actualización:
setup.exe /DynamicUpdate disable
- Conserva aplicaciones y datos. Registra la hora del reinicio para correlacionar cualquier nueva traza.
Alternativa de bajo riesgo: migración paralela
Si tras dos intentos con mitigaciones falla en el mismo punto, tu mejor opción operativa puede ser un side‑by‑side: instala Windows Server 2022 desde cero en un host/VM paralela, migra roles/datos y realiza cutover planificado. Minimiza el downtime y evita arrastrar problemas del sistema origen.
Cómo verificar y ampliar la partición System Reserved/EFI
Una partición System Reserved (BIOS/MBR) o EFI (UEFI/GPT) pequeña o llena puede interrumpir la preparación de arranque durante la actualización. Apunta a ≥500 MB libres.
Comprobación rápida con PowerShell
Get-Partition | Sort-Object DiskNumber, PartitionNumber | Format-Table DiskNumber, PartitionNumber, DriveLetter, Size, Type
Get-Volume | Format-Table DriveLetter, FileSystemLabel, FileSystem, Size, SizeRemaining
En sistemas UEFI puedes montar la partición EFI para verificar su ocupación:
mountvol S: /S
Si está al límite, limpia logs antiguos de arranque o, mejor, amplíala desde entorno seguro (WinPE/hipervisor) tras un respaldo verificado. En MBR suele implicar mover encogiendo el inicio de C:
; en GPT, ampliar la EFI si hay espacio contiguo. Siempre realiza copia/snapshot antes.
Revisión de eventos y ejemplos de log
Visor de eventos
- Aplicación: errores de
SetupHost.exe
,MigHost.exe
,MoSetup
. - Instalación y Configuración: resultados de componentes de actualización.
- Sistema: cargas de drivers, fallos de servicio, minifiltros.
Patrones típicos
// Panther\MIG\setupact.log (ejemplo)
[Info] MigHost: Starting profile migration for SID S-1-5-21-...
[Info] Plugin <AppSettings> processing path: C:\ProgramData\Vendor\...
[Error] Parent process unexpectedly exited
// Visor de eventos - Aplicación
Faulting application name: SetupHost.exe
Exception code: 0xc0000409
Faulting module name: ntdll.dll
Comandos útiles (lista rápida)
mdsched.exe
sfc /scannow
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
chkdsk /f
fltmc filters
pnputil /enum-drivers
driverquery /v /fo table
SetupDiag.exe /Output:"C:\Temp\SetupDiagResults.log" /LogPath:"C:\$WINDOWS.~BT\Sources\Panther"
Crear un perfil limpio para lanzar la actualización
Evita que un HKCU
dañado intervenga en MIG. Desde una consola elevada:
net user UpgradeAdmin Un@Contr4seña! /add
net localgroup Administrators UpgradeAdmin /add
Cierra sesión con el usuario habitual, inicia con UpgradeAdmin y ejecuta setup.exe
desde la ISO local.
Qué hacer con Microsoft Visual C++ Redistributable
En general, no bloquean la actualización: son bibliotecas de usuario. Rara vez son la causa directa de un crash de MIG. La excepción es que la app que los usa instale drivers/servicios (hooks, filtros) incompatibles; si SetupDiag/MIG apunta a esa app, desinstálala temporalmente y vuelve a intentar.
Checklist práctico para completar la migración
- ✔️ Respaldo/snapshot verificado del servidor y BCD/estado del sistema.
- ✔️ Windows 2019 en último SSU/CU; BIOS/firmware y drivers de almacenamiento/red al día.
- ✔️ ≥30 GB libres en
C:
; System Reserved/EFI ≥500 MB. - ✔️ Clean boot (solo servicios Microsoft); AV/EDR/backup/DLP desinstalados o deshabilitados.
- ✔️ Nuevo admin local para ejecutar la actualización.
- ✔️
SFC/DISM
sin errores;chkdsk
limpio; memoria validada conmdsched
. - ✔️ Cachés de instalación (
SoftwareDistribution
,catroot2
,$WINDOWS.~BT
) limpias. - ✔️
fltmc
sin minifiltros de terceros activos. - ✔️ SetupDiag revisado; sin firmas de bloqueo pendientes.
- ✔️ Reintento desde ISO local, opcional
/DynamicUpdate disable
. - ✔️ Si persiste el 87%: plan de migración paralela (side‑by‑side).
Árbol de decisión rápido
- ¿Hay 0xc0000409 y “Parent process unexpectedly exited”? Sí → Probable crash MIG.
- ¿Tienes filtros de terceros? Sí → Deshabilita/desinstala y reintenta.
- ¿Integridad del sistema limpia (SFC/DISM/CHKDSK)? No → Repara hasta que quede OK.
- ¿Espacio suficiente en C: y System Reserved/EFI? No → Libera/expande primero.
- ¿Sigue fallando con admin local nuevo? Sí → Inspecta logs MIG por app/clave concreta y retira esa app.
- ¿Falla en el mismo punto tras dos intentos? Sí → Side‑by‑side a 2022.
Buenas prácticas para minimizar el riesgo
- Preferir drivers “in‑box” durante la actualización; agregar drivers de fabricante después.
- Usar ISO verificada (hash) copiada al disco local; no montar desde recursos compartidos inestables.
- Desactivar tareas programadas de software de terceros que inyecten DLL/servicios en segundo plano.
- Si es VM, confirmar herramientas de hipervisor compatibles (VM tools, agentes) o actualizarlas después.
- Evitar Safe Mode para la actualización; usa clean boot normal.
Ejemplos ampliados de comandos y automatización
Inventario de minifiltros y drivers (PowerShell)
# Minifiltros
fltmc filters > C:\Temp\minifiltros.txt
Drivers instalados (con proveedor y fecha)
pnputil /enum-drivers > C:\Temp\drivers\_pnp.txt
driverquery /v /fo csv > C:\Temp\drivers\_detalle.csv
Servicios de tipo driver
sc.exe query type= driver state= all > C:\Temp\servicios\_driver.txt
Comprobar tamaño y uso de la partición EFI
mountvol S: /S
dir S:\ /a
Lanzar Setup con Dynamic Update deshabilitado
D:\setup.exe /DynamicUpdate disable
Preguntas frecuentes
¿Puedo ejecutar la actualización desde una sesión RDP? Es posible, pero si hay políticas o software que inyecten componentes en sesiones remotas, eleva riesgos. Preferible consola directa o KVM/ILO.
¿Puedo dejar instalado el antivirus/EDR? No es recomendable. Aunque “compatible”, sus minifiltros pueden interferir con MIG. Deshabilita o desinstala temporalmente siguiendo la guía del fabricante.
¿Qué logs debo adjuntar si escalo el caso? Carpeta Panther
completa (setupact.log
, setuperr.log
, subcarpeta MIG
), resultados de SetupDiag
y eventos de Aplicación/Sistema alrededor del minuto del 87%.
Conclusiones
El combo de “Parent process unexpectedly exited” + 0xc0000409 encaja con un crash del motor de migración provocado por corrupción, problemas de memoria/disco o, muy frecuentemente, por drivers/servicios de terceros. Aplicar el plan anterior —clean boot, retirada temporal de filtros, verificación de integridad, perfil limpio y reintento desde ISO— resuelve la mayoría de casos. Si no, la migración paralela a 2022 reduce el tiempo de indisponibilidad y te permite avanzar sin arrastrar inconsistencias del host origen.
Apéndice: plantilla de análisis para tus notas
Paso | Resultado | Evidencia/Log | Acción siguiente |
---|---|---|---|
SFC/DISM | OK / Corrupción | CBS.log , salida DISM | Reparar hasta OK |
Minifiltros | Solo MS / Terceros | fltmc filters | Desinstalar/pausar |
Espacio C:/EFI | >=30GB / <30GB | Get-Volume , mountvol | Liberar/expandir |
Perfil | Nuevo / Antiguo | Registro HKCU | Usar admin local nuevo |
SetupDiag | Firma hallada | SetupDiagResults.log | Mitigar señalada |
Nota operativa: evita reintentos idénticos sin cambios. Cada intento fallido consume tiempo, fragmenta logs y complica el análisis. Cambia una variable (filtros, perfil, caché, Dynamic Update, espacio) y documenta.