Si tu Windows 11 se queda atascado en la compilación 22000.2538 y ningún intento de reparación funciona, es muy probable que el motor de migración detecte perfiles duplicados o huérfanos. En esta guía aprenderás a confirmar el diagnóstico en los logs y a limpiar con seguridad las entradas de ProfileList
para completar la actualización.
Resumen del problema
En algunos equipos —sobre todo unidos a dominio y con perfiles móviles— el proceso de actualización de Windows 11 falla en la fase de recopilación de datos del instalador. Aun tras ejecutar una actualización in‑place, el Solucionador de problemas de Windows Update y SFC /scannow
, el setup se detiene reportando errores de migración. En setupact.log y setuperr.log aparecen mensajes como “Duplicate profile detected …” y códigos 0x8007001F
o 0x8007000D
.
Síntomas que verás
- El equipo permanece anclado en Windows 11 build 22000.2538 pese a intentos repetidos de actualizar.
- La actualización in‑place con el instalador de Windows 11 concluye con error sin cambios de versión.
- El Solucionador de Windows Update no detecta problemas y
SFC /scannow
repara archivos sin resolver el bloqueo. - En los registros se observa falla en “Gather data” con
0x8007001F
(error de dispositivo o E/S) o0x8007000D
(datos no válidos), acompañados de Duplicate profile detected. - Si el equipo está en dominio, puede coexistir “ruido” de migración relacionado con cuentas de servicios como IIS APPPOOL, que no es la causa raíz.
Causa raíz en una línea
El motor de migración de Windows (MIG) detiene la actualización al encontrar entradas SID duplicadas o rotas en el Registro bajo HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
. Cuando dos o más subclaves apuntan a la misma carpeta de perfil, o cuando el ProfileImagePath
referencia una ruta inexistente, el setup interpreta que hay un perfil no válido y aborta con “Duplicate profile detected”.
Cómo confirmarlo
Qué buscar en los logs
Revisa los archivos setuperr.log y setupact.log en C:\$WINDOWS.~BT\Sources\Panther
(o en C:\Windows\Panther
):
[Mig] Duplicate profile detected for SID S-1-5-21-XXXXXXXXX-XXXXXXXXX-XXXXXXXXX-1113
[Mig] Profile path collision: C:\Users\usuario <-- already mapped
[SetupHost] Error SP GATHER_DATA: 0x8007001F
[SetupHost] Error MIG failing in Gather with status 0x8007000D
[UserProfile] The specified user does not have a valid profile (0x000004E5)
Comandos rápidos para mapear SIDs y perfiles
Estos comandos te ayudan a relacionar SIDs con cuentas y verificar rutas de perfil:
whoami /user
wmic useraccount get name, sid, disabled
En PowerShell, lista SIDs y rutas detectadas por el sistema:
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*' |
Select-Object SID, ProfileImagePath, Flags, State |
Sort-Object ProfileImagePath
Solución probada y segura
La reparación consiste en hacer copia de seguridad de ProfileList
, identificar y eliminar subclaves SID huérfanas o duplicadas y, después, ejecutar de nuevo el setup de Windows 11.
- Crear copia de seguridad del nodo del Registro
- Abre
regedit.exe
y navega aHKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
. - Archivo → Exportar → selecciona “Rango de exportación: rama seleccionada” → guarda como
ProfileList_backup.reg
.
- Abre
- Identificar subclaves problemáticas
- Localiza subclaves
S-1-5-21-…-RID
(por ejemplo, terminadas en-1106
,-1113
,-1114
,-1115
,-1122
, etc.). - Comprueba el valor
ProfileImagePath
de cada subclave:- Si la ruta no existe en disco, es candidata a eliminarse.
- Si la ruta existe pero está duplicada con otra subclave distinta, elimina la entrada duplicada que no corresponda al usuario válido.
- Si el usuario asociado está deshabilitado o ya no existe, también es candidata.
- Localiza subclaves
- Eliminar únicamente SIDs huérfanos o duplicados
- No borres los SIDs especiales de sistema:
S-1-5-18
(SYSTEM)S-1-5-19
(Servicio local)S-1-5-20
(Servicio de red)
- No borres el SID del usuario con el que has iniciado sesión.
- Trabaja con otra cuenta administrativa para editar el perfil objetivo sin bloqueos.
- No borres los SIDs especiales de sistema:
- Reiniciar el equipo Tras la limpieza, reinicia para descargar perfiles en uso y actualizar el mapeo interno del servicio de perfiles.
- Relanzar la actualización in‑place Ejecuta el instalador de Windows 11. Con las entradas duplicadas eliminadas, la fase de migración se completará correctamente.
Método gráfico con el Editor del Registro
- Abre
regedit.exe
como administrador. - Navega a
HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
. - Exporta la clave para tener una copia de seguridad.
- Revisa cada subclave S-1-5-21-…-RID y su
ProfileImagePath
:- Si la carpeta referenciada no existe o coincide con otra subclave diferente, elimina la subclave problemática.
- Si dudas, marca la subclave y simplemente renómbrala (por ejemplo, añade
.bak
) para validar sin borrar definitivamente.
- Reinicia el equipo y vuelve a lanzar el setup.
Método con PowerShell para inventariar y limpiar
Primero, haz un inventario y detecta duplicados sin modificar nada:
# Inventario de perfiles y detección de duplicados o rutas inexistentes
$keys = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList' |
Where-Object { $_.PSChildName -like 'S-1-5-21-*' } |
ForEach-Object {
$p = Get-ItemProperty $_.PsPath
[PSCustomObject]@{
SID = $_.PSChildName
ProfileImagePath = $p.ProfileImagePath
Exists = if ($p.ProfileImagePath) { Test-Path $p.ProfileImagePath } else { $false }
}
}
\$keys | Sort-Object ProfileImagePath | Format-Table -AutoSize
Posibles duplicados por ruta
\$dup = \$keys | Group-Object ProfileImagePath | Where-Object { \$.Count -gt 1 -and \$.Name -ne \$null }
\$dup | ForEach-Object {
Write-Host "Ruta duplicada: \$(\$*.Name)"
\$*.Group | Format-Table SID, ProfileImagePath
}
Rutas inexistentes
\$keys | Where-Object { -not \$.Exists -and \$.ProfileImagePath } |
Format-Table SID, ProfileImagePath
Si el inventario confirma el diagnóstico, puedes eliminar de forma controlada las entradas candidatas. Este ejemplo elimina subclaves cuya ruta no existe y no pertenecen a SIDs de sistema. Incluye confirmación:
$systemSIDs = @('S-1-5-18','S-1-5-19','S-1-5-20')
\$toDelete = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList' |
Where-Object { \$.PSChildName -like 'S-1-5-21-\' } |
ForEach-Object {
\$p = Get-ItemProperty \$*.PsPath
if (\$p.ProfileImagePath -and -not (Test-Path \$p.ProfileImagePath)) { $\_ } # huérfanas
} |
Where-Object { \$systemSIDs -notcontains $\_.PSChildName }
if (\$toDelete.Count -gt 0) {
Write-Host "Se eliminarán \$(\$toDelete.Count) subclaves huérfanas:" -ForegroundColor Yellow
\$toDelete | Select-Object PSChildName | Format-Table
\$ok = Read-Host "¿Confirmas? Escribe YES para continuar"
if (\$ok -eq 'YES') {
\$toDelete | ForEach-Object { Remove-Item $\_.PsPath -Recurse -Force }
Write-Host "Eliminación completada. Reinicia el equipo." -ForegroundColor Green
} else {
Write-Host "Cancelado por el usuario."
}
} else {
Write-Host "No se encontraron subclaves huérfanas."
}
Consejo: si también hay duplicados exactos por ProfileImagePath
, elimina la subclave que apunte a la misma ruta pero corresponda a un usuario ya inactivo o inexistente. Valida siempre antes de borrar.
Validación posterior
- Comprueba la versión con
winver
oGet-ComputerInfo
para confirmar que ya no estás en 22000.2538. - Vuelve a revisar setupact.log/setuperr.log; no deberían aparecer nuevos “Duplicate profile detected”.
- Verifica que los usuarios pueden iniciar sesión y que su perfil local/dominio se carga correctamente.
Preguntas frecuentes
¿Qué entradas son seguras de eliminar? Aquellas cuyos ProfileImagePath
no existen en disco o duplican exactamente la ruta de otra subclave válida. También las asociadas a cuentas eliminadas o deshabilitadas.
¿Afecta a perfiles móviles de dominio? Limpiar ProfileList
solo elimina el caché local. Al iniciar sesión de nuevo, el perfil de dominio volverá a crearse. Asegúrate de tener conectividad al controlador de dominio.
¿Qué pasa si me equivoco? Para eso exportaste la clave. Importa el .reg
de respaldo o usa un punto de restauración del sistema si lo tenías habilitado.
¿Por qué aparece 0x8007001F o 0x8007000D? Son códigos genéricos de error de E/S o datos inválidos. En este escenario son consecuencia de que MIG no logra resolver un perfil “válido”.
¿Y si el error persiste? Revisa que no queden subclaves colgantes, comprueba permisos sobre C:\Users
y que no existan perfiles temporales C:\Users\TEMP
activos. Como último recurso, crea un usuario administrador limpio, inicia sesión con él y lanza la actualización desde esa cuenta.
Tabla de referencia rápida
Indicio | Interpretación | Acción recomendada |
---|---|---|
“Duplicate profile detected” | Colisión de rutas de perfil o SID duplicado | Eliminar subclave duplicada en ProfileList |
0x8007001F | Error de dispositivo/E/S durante migración | Revisar perfiles huérfanos; repetir setup tras limpieza |
0x8007000D | Datos no válidos en la fase Gather | Corregir entradas rotas en el Registro y rutas de perfil |
Entradas IIS APPPOOL fallando | Ruido habitual en migración | No confundir con la causa raíz; centrarse en usuarios |
Guía para distinguir qué borrar y qué no
Tipo de SID | Ejemplo | Estado de la ruta | ¿Eliminar? | Notas |
---|---|---|---|---|
Sistema | S-1-5-18 / 19 / 20 | Existe | No | Críticos, no tocar |
Usuario activo | S-1-5-21-…-RID | Existe | No | Confirma con whoami /user |
Usuario duplicado | S-1-5-21-…-RID | Duplicada | Sí | Misma ProfileImagePath en dos SIDs |
Usuario huérfano | S-1-5-21-…-RID | No existe | Sí | Ruta de perfil ausente |
Checklist de campo
- Cuenta administrativa diferente a la que vas a tocar.
- Copia de seguridad de
ProfileList
exportada a.reg
. - Inventario de SIDs y rutas con PowerShell.
- Eliminación de SIDs duplicados o huérfanos.
- Reinicio y relanzamiento de la actualización.
- Verificación de versión y de ausencia de nuevos errores en logs.
Apéndice con ejemplos reales
En un caso práctico, se eliminaron varias subclaves terminadas en -1106
, -1113
, -1114
, -1115
, -1122
. Todas apuntaban a rutas inexistentes o duplicadas. Tras reiniciar y relanzar el instalador, la actualización culminó con éxito.
Apéndice de comandos útiles
# Estado de Windows Update
Get-WindowsUpdateLog
Integridad de componentes (opcional, después de actualizar)
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
Versión de Windows
winver
Get-ComputerInfo | Select-Object OsName, OsVersion, WindowsVersion, OsBuildNumber
Consideraciones para equipos unidos a dominio
- Al usar perfiles móviles,
ProfileList
refleja cachés locales. Al iniciar sesión, el perfil se recrea desde el servidor de perfiles. - Si utilizas soluciones de redirección de carpetas o contenedores (por ejemplo, perfiles en contenedor), la limpieza de
ProfileList
no afecta al contenido central del perfil almacenado en red, solo al mapeo local. - Asegura que el usuario puede resolver el controlador de dominio tras la actualización para evitar perfiles temporales
TEMP
.
Riesgos y mejores prácticas
- Evita cambios si no tienes copia de seguridad del Registro.
- No elimines SIDs de sistema ni el SID de la sesión activa.
- Si procede, crea un punto de restauración antes de la limpieza.
- Documenta qué SIDs se eliminaron para futuras auditorías.
Resumen ejecutivo
Cuando Windows 11 no avanza de la compilación 22000.2538 y el setup señala Duplicate profile detected con fallos en Gather data (0x8007001F
/0x8007000D
), la causa es casi siempre entradas duplicadas o huérfanas en ProfileList
. Respaldar, limpiar las subclaves afectadas y relanzar la actualización resuelve el problema de forma consistente, especialmente en entornos de dominio con perfiles móviles.
Plantilla de procedimiento reutilizable
- Respaldar
ProfileList
en.reg
. - Inventariar SIDs y
ProfileImagePath
con PowerShell. - Eliminar subclaves de rutas inexistentes y duplicados de ruta.
- Reiniciar el equipo.
- Ejecutar actualización in‑place de Windows 11.
- Verificar versiones y revisar logs.
Resultado esperado: tras la limpieza, el motor MIG deja de detectar conflictos de perfil y el instalador completa la migración de datos de usuario, permitiendo que el equipo salga de 22000.2538 y aplique las versiones posteriores de Windows 11 sin bloqueos.