Windows 11 atascado en 22000.2538: “Duplicate profile detected” y cómo solucionarlo limpiando ProfileList

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.

Índice

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) o 0x8007000D (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.

  1. Crear copia de seguridad del nodo del Registro
    • Abre regedit.exe y navega a HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
    • Archivo → Exportar → selecciona “Rango de exportación: rama seleccionada” → guarda como ProfileList_backup.reg.
  2. 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.
  3. 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.
  4. Reiniciar el equipo Tras la limpieza, reinicia para descargar perfiles en uso y actualizar el mapeo interno del servicio de perfiles.
  5. 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

  1. Abre regedit.exe como administrador.
  2. Navega a HKEYLOCALMACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
  3. Exporta la clave para tener una copia de seguridad.
  4. 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.
  5. 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 o Get-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

IndicioInterpretaciónAcción recomendada
“Duplicate profile detected”Colisión de rutas de perfil o SID duplicadoEliminar subclave duplicada en ProfileList
0x8007001FError de dispositivo/E/S durante migraciónRevisar perfiles huérfanos; repetir setup tras limpieza
0x8007000DDatos no válidos en la fase GatherCorregir entradas rotas en el Registro y rutas de perfil
Entradas IIS APPPOOL fallandoRuido habitual en migraciónNo confundir con la causa raíz; centrarse en usuarios

Guía para distinguir qué borrar y qué no

Tipo de SIDEjemploEstado de la ruta¿Eliminar?Notas
SistemaS-1-5-18 / 19 / 20ExisteNoCríticos, no tocar
Usuario activoS-1-5-21-…-RIDExisteNoConfirma con whoami /user
Usuario duplicadoS-1-5-21-…-RIDDuplicadaMisma ProfileImagePath en dos SIDs
Usuario huérfanoS-1-5-21-…-RIDNo existeRuta 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

  1. Respaldar ProfileList en .reg.
  2. Inventariar SIDs y ProfileImagePath con PowerShell.
  3. Eliminar subclaves de rutas inexistentes y duplicados de ruta.
  4. Reiniciar el equipo.
  5. Ejecutar actualización in‑place de Windows 11.
  6. 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.

Índice