sfc / DISM - Reparar archivos del sistema

Mantenido el

Cuando Windows se vuelve inestable o funciones estándar como Configuración o el menú Inicio dejan de funcionar correctamente, el Comprobador de archivos de sistema (sfc) es una de las primeras herramientas que conviene probar. Analiza los archivos protegidos del sistema de Windows y sustituye por la versión correcta los que estén dañados o hayan sido modificados.

Si sfc no puede solucionar el problema, combínelo con el comando DISM, que repara el almacén de componentes que sfc utiliza como origen. Este artículo explica ambos comandos y el orden en que conviene ejecutarlos.

Preparación: ejecutar como administrador

sfc y DISM solo funcionan en un Símbolo del sistema ejecutado como administrador. Si ejecuta sfc sin permisos de administrador, muestra un error indicando que debe ejecutar una sesión de consola como administrador, y el análisis no se inicia.

Para saber cómo abrir el Símbolo del sistema como administrador, consulte

.

Sintaxis básica de sfc

sfc [/scannow] [/verifyonly] [/scanfile=<archivo>] [/verifyfile=<archivo>]
    [/offbootdir=<unidad> /offwindir=<carpeta_de_Windows>] [/offlogfile=<archivo_de_registro>]
OpciónDescripción
/scannowAnaliza todos los archivos protegidos y repara los problemas
/verifyonlyAnaliza todos los archivos protegidos sin repararlos
/scanfile=<archivo>Analiza un archivo y lo repara si hay un problema (indique la ruta completa)
/verifyfile=<archivo>Analiza un archivo sin repararlo (indique la ruta completa)
/offbootdir /offwindirSe dirige a una instalación de Windows que no está en ejecución (por ejemplo, desde un entorno de recuperación; se necesitan ambas opciones)
/offlogfile=<archivo_de_registro>Indica dónde se escribe el registro de las reparaciones sin conexión

Analizar y reparar todo el sistema

sfc /scannow

Mientras se ejecuta, el progreso se muestra como «Verificación al xx % completada». Según el equipo, puede tardar desde varias decenas de minutos hasta una hora o más, así que no cierre la ventana ni apague el PC durante el análisis.

No lo interrumpa aunque el progreso parezca detenido

El porcentaje puede parecer quedarse fijo durante mucho tiempo, pero el proceso sigue en marcha. Salvo que haya dejado claramente de avanzar durante un tiempo muy prolongado, evite forzar su cierre.

Cómo interpretar los mensajes de resultado

Al terminar, se muestra uno de los siguientes mensajes.

Mensaje (resumen)Significado y siguiente paso
La Protección de recursos de Windows no encontró ninguna infracción de integridad.No hay problemas con los archivos del sistema. Busque otra causa.
La Protección de recursos de Windows encontró archivos dañados y los reparó correctamente.La reparación ha terminado. Reinicie el PC y compruebe si el problema desapareció.
La Protección de recursos de Windows encontró archivos dañados, pero no pudo reparar algunos.Pase a «Reparar el origen con DISM», más abajo.
La Protección de recursos de Windows no pudo realizar la operación solicitada.No se pudo ejecutar la reparación. Vuelva a intentarlo en modo seguro. Si sigue fallando, compruebe si existen las carpetas PendingDeletes y PendingRenames en C:\Windows\WinSxS\Temp. Si ejecuta desde un entorno de recuperación, indique /offbootdir y /offwindir.
チェック

Después de una reparación, ejecute sfc /scannow otra vez para confirmar que ya no informa de infracciones de integridad.

Solo analizar, sin reparar

Si solo quiere conocer el estado del sistema sin modificarlo, use /verifyonly.

sfc /verifyonly

Analizar y reparar un archivo concreto

Si sabe qué archivo está dañado, puede indicarlo con su ruta completa.

Analizar
sfc /scanfile=C:\Windows\System32\kernel32.dll
Solo
sfc /verifyfile=C:\Windows\System32\kernel32.dll

Consultar los detalles en el registro

Los detalles de sfc se guardan en C:\Windows\Logs\CBS\CBS.log. Este archivo es muy grande, por lo que resulta más fácil de leer si extrae solo las líneas de sfc (las marcadas con [SR]).

Guardar
findstr /c:"[SR]" "%windir%\Logs\CBS\CBS.log" > "%userprofile%\Desktop\sfcdetails.txt"

> es la redirección, que escribe la salida en un archivo. Para más detalles, consulte

; para findstr, consulte .

Filtre el registro por [SR]

Otras operaciones se registran en el mismo archivo, así que sin filtrar por [SR] es difícil encontrar las líneas que busca.

Cuando sfc no lo soluciona: reparar el origen con DISM

sfc repara los archivos usando las copias guardadas en el almacén de componentes (C:\Windows\WinSxS). Si el propio almacén de componentes está dañado, sfc no puede reparar nada. En ese caso, use DISM (Deployment Image Servicing and Management) para reparar el almacén de componentes.

DISM /Online /Cleanup-Image /RestoreHealth
ComandoQué hace
DISM /Online /Cleanup-Image /CheckHealthComprueba rápidamente si se ha registrado algún daño (no repara)
DISM /Online /Cleanup-Image /ScanHealthAnaliza todo el almacén de componentes (no repara)
DISM /Online /Cleanup-Image /RestoreHealthAnaliza y repara los daños que encuentre

De forma predeterminada, /RestoreHealth obtiene los archivos de reparación de Windows Update, por lo que se necesita conexión a Internet. Puede tardar mucho y el porcentaje puede parecer detenerse a mitad del proceso.

Orden de ejecución

La recomendación de Microsoft es reparar primero el origen con DISM y después ejecutar sfc. Otro método habitual es probar primero sfc, pasar a DISM solo si no funciona y ejecutar sfc una vez más. En cualquier caso, termine confirmando con sfc /scannow que el problema se ha resuelto.

Los pasos al ejecutar primero DISM son:

  1. Ejecute DISM /Online /Cleanup-Image /RestoreHealth
  2. Cuando termine, ejecute sfc /scannow
  3. Reinicie y compruebe si los síntomas han mejorado
Ejecutar
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
En entornos sin conexión de red

Si el PC no puede conectarse a Windows Update, puede usar la opción /Source para indicar una imagen de Windows en buen estado como origen de reparación. Por ejemplo, indique /Source:WIM:X:\sources\install.wim:1 y añada /LimitAccess si no quiere que se conecte a Windows Update. La imagen debe coincidir con el Windows instalado en versión, edición e idioma.

Ejecutarlo desde un archivo por lotes

Reunir los pasos en un archivo por lotes que se ejecute con permisos de administrador evita escribirlos cada vez.

repair-system.cmd
@echo off
net session >nul 2>&1
if errorlevel 1 (
    echo Ejecute esto como administrador.
    pause
    exit /b 1
)

echo === Analisis y reparacion del origen con DISM ===
DISM /Online /Cleanup-Image /RestoreHealth

echo.
echo === Analisis y reparacion de archivos del sistema con sfc ===
sfc /scannow

echo.
echo Terminado. Revise los resultados y reinicie si es necesario.
pause

net session falla sin permisos de administrador, por lo que se usa a menudo como comprobación sencilla de permisos. Sin embargo, en un entorno donde el servicio Servidor está detenido, puede fallar incluso para un administrador. Para volver a lanzar un script automáticamente con permisos de administrador, consulte

.

DISM guarda registros detallados en C:\Windows\Logs\DISM\dism.log. Si DISM falla, consulte también este archivo.

Resumen

Qué quiere hacerComando
Analizar y reparar los archivos del sistemasfc /scannow
Solo analizar, sin repararsfc /verifyonly
Analizar y reparar un archivo concretosfc /scanfile=ruta_completa
Extraer los detalles del registro de sfcfindstr /c:"[SR]" "%windir%\Logs\CBS\CBS.log"
Reparar el origen (almacén de componentes)DISM /Online /Cleanup-Image /RestoreHealth

Artículos relacionados

Preguntas de práctica

Problema de práctica

sfc /scannow informa de que «no pudo reparar algunos» archivos. ¿Qué es lo más apropiado probar primero?

Elige una respuesta.

  1. Ejecutar DISM /Online /Cleanup-Image /RestoreHealth como administrador y, después, ejecutar sfc /scannow de nuevo
  2. Ejecutar sfc /verifyonly repetidamente y esperar a que se repare solo
  3. Eliminar manualmente la carpeta C:\Windows\WinSxS
#Símbolo del sistema #Línea de comandos #Comando #sfc #DISM #Permisos de administrador #Solución de problemas