Solución al error 0xC1900101‑0x20017 al actualizar in‑place Windows Server 2012 R2 a 2019

Actualizar in‑place de Windows Server 2012 R2 a 2019 dentro de una red aislada puede volverse un dolor de cabeza cuando el proceso revierte tras el primer reinicio y arroja el código 0xC1900101 – 0x20017. Este artículo profundiza en las causas, explica cómo interpretar los registros y muestra un plan de corrección probado específicamente para máquinas virtuales VMware ESXi sobre servidores Dell PowerEdge R740.

Índice

Escenario y síntoma central

El asistente de instalación avanza con normalidad hasta el primer reinicio. En la fase SAFE_OS aparecen mensajes como “Installation failed during BOOT operation” y el sistema vuelve automáticamente a 2012 R2. Los archivos setuperr.log y setupact.log registran:

  • No se pudo inicializar OneSettings ni descargar la base de datos de compatibilidad (compatibility SDB).
  • Error al validar la clave de producto 0x8A010001.
  • Fallos de conexión a servicios en línea (COS, telemetría, vínculos de compatibilidad).
  • Problemas al cargar DLL de migración y limpiar claves de registro de la fase de Upgrade.

Comprendiendo el código 0xC1900101 – 0x20017

Windows utiliza códigos compuestos para describir fallos de instalación:

Primer bloqueSignificado
0xC1900101Error genérico vinculado a controladores (drivers) o firmware — casi siempre almacenamiento, red o BIOS.
0x20017La devolución de llamada BOOT falló dentro de la fase SAFE_OS; el entorno WinPE no pudo arrancar al nuevo kernel.

En la práctica, el combo indica que un controlador carga algo inconsistente o sin firma y el sistema opta por revertir para no quedar inusable.

Metodología de diagnóstico

Analizar los registros de instalación

Todos los archivos relevantes se generan en C:\$WINDOWS.~BT\Sources. Copie setupact.log y setuperr.log a otra máquina y busque:

  • Códigos de error inmediatamente antes del reinicio final (timestamp más reciente).
  • Llamadas a controladores de terceros (.sys) sin firma digital actual.
  • Mensajes “Failed to initialize SDB” o “LoadMigrationDll failed”.

Ejecutar SetupDiag sin conexión

SetupDiag.exe /offline "" /logpath "%SystemDrive%\UpgradeDiag"

SetupDiag correlaciona los hallazgos con una base de conocimiento local y devuelve el controlador, servicio o paquete que bloquea la instalación.

Estrategias de remediación

La siguiente tabla resume las áreas críticas y las acciones recomendadas. Después de la tabla encontrarás explicaciones detalladas que amplían cada punto.

ÁreaAcciones recomendadas
Compatibilidad de hardware y firmwareVerificar que el R740 y sus controladoras figuren como compatibles con 2019; actualizar BIOS, iDRAC, PERC/RAID y NICs con el último paquete «Dell EMC Server Update Utility» o con la ISO personalizada de ESXi.
Controladores y dispositivos virtualesInstalar la versión más reciente de VMware Tools; retirar disqueteras y USB virtuales; cambiar a controladora SCSI VMware Paravirtual; evitar IDE.
Medio de instalaciónCrear una ISO «slipstream» con el CU más reciente y los paquetes Dynamic Update; asegurarse de que la edición y el idioma coincidan con la instalación de origen.
Integridad del sistemaEjecutar sfc /scannow; después dism /online /cleanup-image /scanhealth y /restorehealth; completar con chkdsk /scan.
Servicios y software de tercerosDeshabilitar antivirus, agentes de backup, Dell OpenManage y todo servicio no‑Microsoft; realizar un clean boot antes de ejecutar setup.exe /compat ignorewarning.
Espacio y particionesAsegurar al menos 32 GB libres en C:; sistema sin discos dinámicos ni BitLocker activo.
Clave de productoValidar la clave MAK/KMS e instalarla con slmgr /ipk <clave> antes de iniciar la actualización.
Diagnóstico adicionalRevisar compatdata.xml y setupapi.dev.log para encontrar controladores heredados; chequear C:\$WINDOWS.~BT\Sources\Rollback.
AlternativasMigrar a un servidor limpio 2019 y restaurar datos vía Storage Migration Service o Backup; o realizar un salto intermedio a 2016 si persisten bloqueos.

Compatibilidad de hardware y firmware

El Dell R740 con BIOS antiguas (p. ej. versión 1.x del 2018) carga módulos UEFI que no cumplen las directrices de Windows 2019. Una simple actualización a la rama 2.XX resuelve la mayoría de los 0xC1900101. Verifique además:

  • Controlador de la PERC (H730P/H740P) al firmware mínimo requerido (aparecerá en la edición Dell Server Compatibility Matrix).
  • Controladoras de red Intel X550 o Broadcom 5720 con firmware NVM y soporte SR‑IOV actualizado.
  • Secure Boot: con BIOS antiguas resulta mejor deshabilitarlo temporalmente, instalar y luego reactivar.

Controladores y dispositivos virtuales

La versión 12.x de VMware Tools incluida en ESXi 6.5 no posee controladores de red/vStorage firmados con SHA‑2; Windows 2019 rechazará el paquete. Instale al menos VMware Tools 11.3 (incluido en ESXi 7.0) dentro de 2012 R2 antes de actualizar. Quite también:

  • Disqueteras virtuales y unidades USB: suelen cargar flpdrv.sys o usbstor.sys con firmas SHA‑1 que hacen fallar BOOT.
  • CD/DVD ISO externos: monte la ISO de Windows desde el datastore local con conexión IDE o mejor aún con SCSI Paravirtual.

Crear una ISO “slipstream” actualizada

En entornos sin Internet, el instalador busca el paquete de compatibilidad (Compatibility Appraiser) en Microsoft Update y al no encontrarlo aborta. Evítelo inyectando los últimos parches:


Dism /Mount-Image /ImageFile:W2019.iso /Index:6 /MountDir:D:\W2019Mnt
Dism /Image:D:\W2019Mnt /Add-Package /PackagePath:KB5039796.cab
Dism /Unmount-Image /MountDir:D:\W2019Mnt /Commit
Oscdimg -m -o -u2 -udfver102 D:\W2019Mnt D:\W2019_SLIP.iso

En esta línea /Index:6 corresponde a la edición Datacenter Gui. Ajuste según su caso.

Integridad del sistema de archivos

Controladores dañados en 2012 R2 a veces pasan desapercibidos. Ejecute:

sfc /scannow
dism /online /cleanup-image /restorehealth /source:D:\sources\install.wim

Si sfc repara archivos críticos, es preferible reiniciar y volver a ejecutar hasta que el resultado sea “Windows Resource Protection did not find any integrity violations”.

Deshabilitar servicios de terceros y clean boot

La técnica clásica:

  1. Ejecute msconfig, active Arranque selectivo, desmarque “Cargar servicios del sistema” y “Cargar elementos de inicio”.
  2. En la pestaña Servicios marque “Ocultar todos los servicios de Microsoft” y haga clic en “Deshabilitar todos”.
  3. Reinicie y lance la actualización con setup.exe /compat ignorewarning /norebootui.

Espacio libre y particiones limítrofes

La fase SAFE_OS crea un archivo Windows.old y copia install.wim; si C: está casi lleno, el Upgrade Assistant se detiene. Recuerde además:

  • No use discos dinámicos; conviértalos a básicos con diskmgmt.msc o ConvertTo-BasicDisk en PowerShell.
  • Si BitLocker está activo en la unidad del sistema, suspenda la protección: Manage‑bde –protectors –disable C:.

Clave MAK o KMS

Un error frecuente es instalar con una ISO «VL» (licenciamiento por volumen) pero utilizar la clave OEM original del fabricante. Verifique la clave correcta:

slmgr /dli
slmgr /ipk XXXXX‑XXXXX‑XXXXX‑XXXXX‑XXXXX
slmgr /ato

El instalador deja de verificar la clave en línea cuando slmgr /ato devuelve “Licensed” antes del Upgrade.

Herramientas de diagnóstico adicional

  • SetupDiag: ya descrito, imprescindible.
  • Compatdata.xml: lista completo de dispositivos y sus resultados de compatibilidad; busque cadenas BlockMigration o HardBlock.
  • setupapi.dev.log: indica el controlador exacto que falló durante Plug & Play.

Proceso completo para una actualización sin conexión exitosa

  1. Aplicar firmware Dell Server Update al R740 e instalar VMware Tools actualizado.
  2. Crear y montar la ISO slipstream de Windows Server 2019 con CU y DU.
  3. Deshabilitar antivirus, servicios no‑Microsoft y suspender BitLocker.
  4. Ejecutar diagnósticos de integridad (sfc/dism), limpiar drivers antiguos con pnputil /enum-drivers.
  5. Quitar dispositivos virtuales innecesarios y asignar controladora VMware Paravirtual.
  6. Iniciar setup.exe desde la ISO con la opción /quiet /reflectdrivers:<carpetadllsfirmware>.
  7. Vigilar el progreso en C:\$WINDOWS.~BT\Sources\Panther; especialmente setupact.log.
  8. Después del último reinicio, reinstalar VMware Tools y reactivar Secure Boot (si se deshabilitó).

Qué hacer si todavía falla

Si tras seguir cada paso la instalación sigue revirtiendo:

  • Migración paralela: implemente Windows Server 2019 limpio y utilice Storage Migration Service para mover roles y datos con mínimo downtime.
  • Doble salto 2012 R2 → 2016 → 2019: poco habitual, pero algunas versiones de controladores solo existen en 2016; el instalador 2019 los aceptará como firmas válidas.
  • Revisar protección de seguridad: soluciones EDR modernas (p. ej. Carbon Black o CrowdStrike) inyectan DLL incluso estando “deshabilitadas”; desinstale por completo antes de continuar.

Conclusiones

El error 0xC1900101 – 0x20017 puede parecer inescrutable, pero su causa raíz casi siempre reside en controladores o firmware desfasados que colisionan con las políticas de arranque seguro de Windows Server 2019. Invirtiendo tiempo en actualizar el hardware, crear un medio de instalación moderno sin depender de Internet y limpiando servicios de terceros, la actualización in‑place se completa con éxito incluso dentro de una red completamente aislada.

Índice