¿La actualización KB5034441 falla con el código 0x80070643 y te muestra el error de DiskPart shrink desired=250 minimum=250
? Aquí tienes una guía práctica, segura y probada para instalar el parche incluso cuando no puedes reducir C:. Además te explico cómo dejar WinRE en una partición dedicada (~1 GB) para futuras actualizaciones sin sobresaltos.
Qué está pasando realmente
KB5034441 actualiza el entorno de recuperación de Windows (Windows RE) y, para aplicarse, necesita que la partición de recuperación tenga espacio suficiente. En muchos equipos esa partición es de ~450–600 MB, lo que provoca:
- Fallo de Windows Update con 0x80070643 (ERRORINSTALLFAILURE).
- Si intentas seguir guías como KB5028997 y reducir C: en 250 MB, DiskPart responde:
Virtual Disk Service error: The specified shrink size is too big and will cause the volume to be smaller than the minimum volume size.
Esto ocurre porque hay archivos no movibles (MFT, puntos de restauración, hibernación, etc.) cerca del final del volumen.
Estrategia de resolución
En lugar de pelear con la reducción de C:, la ruta más estable es:
- Mover temporalmente WinRE a C: (Windows lo hace solo al habilitarlo si no hay partición de recuperación “marcada”).
- Instalar KB5034441 desde Windows Update o su instalador independiente.
- (Recomendado) Crear o reutilizar una partición dedicada de ~1 GB y volver a ubicar ahí WinRE para el futuro.
Antes de empezar
- Haz copia de seguridad de tus datos. Aunque no vamos a borrar volúmenes, trabajaremos con particiones.
- Necesitas una consola con privilegios de administrador.
- Si tu equipo usa BitLocker, ten a mano la clave de recuperación (por si se solicita).
Comprobaciones iniciales
- Abre Símbolo del sistema (Admin) o PowerShell (Admin).
- Consulta dónde está WinRE:
reagentc /info
Revisa la líneaWindows RE location
. Si aparece algo como\\?\GLOBALROOT\device\harddisk0\partitionN\...
, N es tu partición actual de recuperación. - (Opcional) Lista el diseño del disco:
diskpart list disk select disk 0 list partition exit
Identifica la partición “Recovery” por su tamaño (~500 MB en muchos equipos) y posición.
Solución A — Instalar KB5034441 sin reducir C: (WinRE temporal en C:)
Objetivo: “liberar” la partición actual de recuperación quitándole el tipo “Recovery”, deshabilitar/rehabilitar WinRE para que Windows lo coloque en C:, instalar la actualización y seguir trabajando.
- Deshabilita WinRE:
reagentc /disable
- Convierte la partición de recuperación actual a básica (quita el tipo “Recovery”):
diskpart select disk 0 select partition <N> :: Reemplaza <N> por la partición Recovery detectada set id=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 gpt attributes=0x0000000000000000 exit
Nota: En algunas máquinas funcionó dejando los atributos GPT a0x8000000000000000
. Si no ves el resultado esperado, prueba alternando entre0x0
y0x8000000000000000
. - Habilita WinRE (Windows lo ubicará en C: de forma temporal):
reagentc /enable
- Instala KB5034441 desde Windows Update o ejecutando el instalador independiente (.msu).
- Confirma el éxito:
reagentc /info
Debe mostrar Enabled. Y Windows Update debe indicar que KB5034441 se instaló correctamente.
Resultado esperado: La actualización se aplica con éxito, incluso si antes era imposible reducir C: en 250 MB.
Solución B — Dejar WinRE en su propia partición (~1 GB)
Para evitar tropiezos en futuras actualizaciones, reserva ~1 GB para WinRE. Puedes extender una partición pequeña existente (por ejemplo, una de 512 MB) o crear una nueva partición primaria del tamaño recomendado.
- Prepara una partición de ~1 GB (con el Administrador de discos o DiskPart). Debe quedar contigua al espacio libre si la estás extendiendo.
- Marca esa partición como Recovery (WinRE):
diskpart select disk 0 select partition <M> :: Reemplaza <M> por la que dedicarás a WinRE (p. ej. 5) set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac gpt attributes=0x8000000000000001 exit
- Fuerza la reubicación de WinRE a esa partición:
reagentc /disable reagentc /enable reagentc /info
Verifica queWindows RE location
ahora apunte apartition<M>
.
Tamaños y recomendaciones
- Tamaño recomendado: ~1 GB (1024 MB). En muchos casos, 512 MB se queda corto con nuevas imágenes de WinRE.
- Sistema de particiones: Estas instrucciones usan GPT. Si tu disco es MBR, el procedimiento difiere (ver más abajo).
Guías rápidas “copiar & pegar”
Instalar sin reducir C:
reagentc /disable
diskpart
select disk 0
select partition <WinRE_actual> :: p.ej. 2 o 4
set id=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
gpt attributes=0x0000000000000000 :: si falla, prueba 0x8000000000000000
exit
reagentc /enable
:: Instala KB5034441
Mover WinRE a una partición dedicada (~1 GB):
:: (Ajusta el tamaño desde el Administrador de discos si hace falta)
diskpart
select disk 0
select partition <Nueva_WinRE> :: p.ej. 5
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
exit
reagentc /disable
reagentc /enable
reagentc /info
BitLocker: lo que debes saber
Si al habilitar WinRE aparece un aviso del estilo “Windows RE cannot be enabled on a volume with BitLocker Drive Encryption enabled”, actúa así:
manage-bde -status
manage-bde -protectors -disable C:
reagentc /enable
:: Tras la actualización:
manage-bde -protectors -enable C:
Suspender los protectores evita que BitLocker te pida la clave al primer reinicio tras cambios de partición/WinRE.
Tabla de referencia: identificadores de partición (GPT)
Propósito | GUID (set id=) | Atributos GPT (gpt attributes=) | Notas |
---|---|---|---|
Basic data (partición “normal”) | ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 | 0x0000000000000000 | Úsalo para “desmarcar” una partición de Recovery. |
Windows Recovery (WinRE) | de94bba4-06d1-4d40-a16a-bfd50179d6ac | 0x8000000000000001 | Marca oficial de partición de recuperación de Windows. |
Si tu disco es MBR (no GPT)
En MBR no hay GUIDs. La partición WinRE suele usar el ID 27
. Ejemplos con DiskPart:
:: Quitar marca de Recovery (dejar como primaria normal)
diskpart
select disk 0
select partition <N>
set id=07 override
exit
\:: Marcar como Recovery (WinRE)
diskpart
select disk 0
select partition \
set id=27 override
exit
Después, igual que en GPT, usa reagentc /disable
y reagentc /enable
para reubicar WinRE y confirma con reagentc /info
.
Errores habituales y cómo resolverlos
Mensaje / Código | Causa probable | Acción recomendada |
---|---|---|
0x80070643 | WinRE sin espacio suficiente para la actualización. | Aplica la Solución A; luego, si puedes, migra a partición dedicada (Solución B). |
The specified shrink size is too big... | Archivos no movibles al final de C: impiden reducir 250 MB. | Evita reducir C:. Usa la Solución A. |
Windows RE cannot be enabled... | BitLocker activo bloquea la operación. | Suspende protectores con manage-bde -protectors -disable C: , habilita WinRE y reanuda protectores. |
reagentc /info muestra Disabled | WinRE no configurado o ruta inválida. | Ejecuta reagentc /enable . Si falta winre.wim , usa reagentc /setreimage (ver más abajo). |
Cómo identificar con seguridad la partición de recuperación
- En
reagentc /info
, anota el número de partición (partitionN
). - En
diskpart
:diskpart select disk 0 list partition
Busca una partición pequeña (≈500 MB, a veces 900 MB o 1 GB) sin letra de unidad. - Si dudas, no borres nada. La Solución A solo cambia tipo y atributos de la partición; no elimina contenido.
¿Y si falta winre.wim?
Ocurre a veces tras imágenes personalizadas. Puedes establecer manualmente la ruta de WinRE:
- Asigna una letra temporal a la partición WinRE (solo para configurar):
diskpart select disk 0 select partition <M> assign letter=R exit
- Si
R:\Recovery\WindowsRE\winre.wim
no existe pero sí está enC:\Windows\System32\Recovery\winre.wim
, crea la ruta y copia el archivo:mkdir R:\Recovery\WindowsRE copy C:\Windows\System32\Recovery\winre.wim R:\Recovery\WindowsRE\
- Registra la ruta:
reagentc /setreimage /path R:\Recovery\WindowsRE reagentc /enable reagentc /info
- Retira la letra temporal:
diskpart select disk 0 select partition <M> remove letter=R exit
Buenas prácticas para no volver a tropezar
- WinRE ~1 GB: deja ese tamaño fijo y olvídate de sorpresas.
- Orden de particiones: si necesitas crear espacio, la regla práctica suele ser reducir la partición inmediatamente a la izquierda de la partición de recuperación (normalmente C:). Si no se puede, recurre a la Solución A.
- BitLocker: suspende protectores antes de cambios de partición y reactívalos después.
- Evita “limpiar” discos: nunca uses
clean
en DiskPart a menos que quieras borrar todo. - Anota tu diseño actual: guarda una captura de
list partition
antes de tocar nada.
FAQ (preguntas frecuentes)
¿Por qué DiskPart no puede reducir C: en 250 MB si tengo espacio libre?
Porque la reducción no depende del espacio libre total, sino del espacio libre contiguo al final del volumen. Archivos no movibles (MFT, hiberfil, pagefile, sombras VSS) bloquean la operación.
¿Puedo borrar la “vieja” partición Recovery tras aplicar la Solución A?
No hace falta. La Solución A simplemente la “desmarca” como Recovery para que Windows ponga WinRE en C: y puedas actualizar. Si luego aplicas la Solución B, puedes reutilizar esa partición (por ejemplo, ampliándola hasta ~1 GB) y volver a marcarla como Recovery.
¿Es obligatorio que la partición Recovery esté justo después de C:?
No estrictamente, pero es lo más habitual y conveniente. Windows solo necesita que exista una partición marcada como Recovery y que el reagentc
apunte a ella.
¿Puedo hacer todo esto con herramientas gráficas?
Sí, puedes usar el Administrador de discos para extender/crear particiones y apoyarte en los comandos reagentc
para mover WinRE. Los pasos con DiskPart son equivalentes y más precisos.
Checklist de verificación final
reagentc /info
→ Enabled y Windows RE location apunta a tu partición dedicada (o temporalmente a C: si elegiste quedarte así).- Windows Update muestra KB5034441 instalado correctamente.
- Si usas BitLocker,
manage-bde -protectors -enable C:
ha quedado reactivado. - En
diskpart
, la partición de WinRE tiene:- GPT:
id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
,attributes=0x8000000000000001
. - MBR:
id=27
conoverride
.
- GPT:
Plantilla de script (avanzado)
Uso avanzado y bajo tu responsabilidad: este fragmento de PowerShell automatiza la Solución A en el Disco 0 y asume GPT. Adaptarlo a tu entorno es imprescindible.
$ErrorActionPreference = 'Stop'
1) Deshabilitar WinRE
cmd /c 'reagentc /disable'
2) Detectar partición WinRE actual a partir de reagentc
\$info = cmd /c 'reagentc /info' | Out-String
if (\$info -match 'partition(\d+)') {
\$winrePart = \[int]\$Matches\[1]
} else {
throw 'No se pudo detectar la partición de WinRE desde reagentc /info'
}
3) Cambiar tipo a Basic Data y atributos GPT a 0
\$diskpart = @"
select disk 0
select partition \$winrePart
set id=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
gpt attributes=0x0000000000000000
exit
"@
\$diskpart | diskpart | Out-Null
4) Habilitar WinRE (quedará temporalmente en C:)
cmd /c 'reagentc /enable'
Write-Host 'Listo. Instala KB5034441 y verifica con reagentc /info'
Resumen ejecutivo
- El error 0x80070643 al instalar KB5034441 suele deberse a una partición WinRE pequeña.
- Si no puedes reducir C:, no insistas: usa la Solución A para mover WinRE a C:, instala el parche y listo.
- Para el futuro, deja WinRE en una partición dedicada de ~1 GB (Solución B) y olvídate del problema.
Glosario rápido
- WinRE (Windows Recovery Environment): entorno de recuperación con herramientas de reparación y restablecimiento.
- DiskPart: utilidad de línea de comandos para gestionar discos, particiones y volúmenes.
- ReAgentC: utilidad para habilitar, deshabilitar y configurar WinRE.
- BitLocker: cifrado de unidades de Windows; puede exigir suspender protectores al cambiar particiones.
Consejo final: en equipos corporativos, coordina los cambios con tu departamento de TI. Documenta el estado antes y después (capturas de reagentc /info
y list partition
) para auditoría.