chkdsk - Comprobar y reparar errores del disco
Los archivos no se abren, las carpetas parecen dañadas o una unidad USB pregunta una y otra vez «¿Desea formatearla?». En esos casos conviene probar chkdsk (Check Disk), que analiza una unidad en busca de errores y los repara.
El comportamiento de chkdsk cambia mucho según las opciones. Sin opciones solo analiza; /f repara los errores; /r además busca sectores defectuosos. Este artículo explica cómo elegir entre ellas y cómo actuar ante los mensajes más habituales.
Requisito previo: ejecutar como administrador
chkdsk debe ejecutarse desde un Símbolo del sistema abierto como administrador. Sin permisos elevados el análisis se rechaza, incluso el de solo lectura.
Consulte
para saber cómo abrir un Símbolo del sistema con permisos elevados.Resumen según el objetivo
| Objetivo | Comando |
|---|---|
| Ver solo el estado (sin reparar) | chkdsk C: |
| Analizar y reparar errores | chkdsk C: /f |
| Buscar también sectores defectuosos (lento) | chkdsk C: /r |
| Desmontar primero una unidad en uso y reparar | chkdsk D: /x |
| Analizar un volumen NTFS mientras está en uso | chkdsk C: /scan |
| Reparar rápidamente solo los problemas hallados (NTFS) | chkdsk C: /spotfix |
Si ejecuta chkdsk solo, comprueba en modo de solo lectura la unidad actual (normalmente C:). Para otra unidad, indique su letra, por ejemplo chkdsk D:.
Sintaxis básica de chkdsk
chkdsk [<unidad>:] [/f] [/r] [/x] [/scan] [/spotfix] [/v]
| Opción | Descripción |
|---|---|
| (ninguna) | Solo analiza; informa de los errores pero no los corrige |
/f | Corrige los errores del disco. La unidad debe poder bloquearse |
/r | Localiza sectores defectuosos y recupera la información legible. Incluye lo que hace /f |
/x | Desmonta antes la unidad si es necesario. Incluye lo que hace /f |
/scan | Analiza un volumen NTFS en línea (mientras está en uso) |
/spotfix | Repara rápidamente solo los problemas hallados, sin conexión (volúmenes NTFS) |
/v | Muestra información detallada (la ruta de cada archivo comprobado en FAT; mensajes de limpieza en NTFS) |
Diferencia entre /f y /r
Son las dos opciones que más se confunden.
| Aspecto | /f | /r |
|---|---|---|
| Qué repara | Incoherencias del sistema de archivos | Incoherencias del sistema de archivos + sectores defectuosos |
| Tiempo necesario | Relativamente corto | Largo (puede tardar horas en un HDD grande) |
| Cuándo usarla | Como primer intento | Cuando se sospechan problemas físicos del disco |
/r incluye /f, así que no hace falta escribir ambas. Lo habitual es probar primero /f y usar /r si los problemas continúan o la lectura es extremadamente lenta.
/r examina todo el disco, lo que puede tardar mucho en HDD grandes. Conecte el portátil a la corriente y no apague ni interrumpa la alimentación durante el análisis. Los sectores defectuosos funcionan de forma distinta en un SSD que en un HDD, por lo que apenas hay motivo para usar /r de forma rutinaria en un SSD.
Analizar un disco
Primero, compruebe el estado sin reparar nada.
chkdsk C:
Si no hay problemas, al final verá algo parecido a esto (en NTFS):
Windows ha analizado el sistema de archivos y no ha encontrado problemas.
No es necesario realizar ninguna acción adicional.
Si se encuentran errores, aparecerá un mensaje indicando que el sistema de archivos tiene errores y que debe ejecutar CHKDSK con la opción /f. Repárelos como se explica a continuación.
Reparar errores
chkdsk D: /f
/f bloquea la unidad para repararla. Si ningún otro programa la está usando, el análisis y la reparación continúan de inmediato.
Si aparece «No se puede bloquear la unidad actual»
Si usa /f en una unidad en uso, como la unidad C: donde está Windows, verá un mensaje como este:
No se puede bloquear la unidad actual.
Chkdsk no se puede ejecutar porque otro proceso está usando el volumen.
¿Desea programar la comprobación de este volumen la próxima vez que se reinicie el sistema? (S/N)
Escriba S y pulse Entrar para que el análisis y la reparación se ejecuten automáticamente en el próximo reinicio (antes de que arranque Windows). Reinicie el equipo y espere a que termine.
En unidades que no son del sistema, como las USB, cerrar las ventanas y aplicaciones abiertas suele permitir el análisis sin reiniciar. Si sigue indicando que la unidad está en uso, chkdsk D: /x la desmonta antes (los identificadores abiertos de esa unidad dejan de ser válidos). En una unidad ocupada que no es del sistema, chkdsk /f puede preguntar antes «¿Desea forzar el desmontaje de este volumen? (S/N)»; responder S equivale a lo mismo, así que guarde antes su trabajo.
Cancelar una comprobación programada
Para cancelar una comprobación que programó, excluya la unidad de la comprobación al inicio:
chkntfs /x C:
Una unidad excluida con chkntfs /x deja de comprobarse automáticamente al iniciar, aunque tenga problemas reales. Para deshacerlo, ejecute chkntfs /d y se restaurará el comportamiento predeterminado.
Con chkntfs C: puede ver si hay una comprobación programada. Al reiniciar, también puede pulsar una tecla en la pantalla que permite omitir la comprobación del disco para saltarla solo esa vez.
Consultar los resultados después
Tras una comprobación al reiniciar, el escritorio aparece enseguida y es fácil pasar por alto el resultado. Puede verlo en el Visor de eventos:
- Ejecute
eventvwr.mscpara abrir el Visor de eventos - Seleccione «Registros de Windows» → «Aplicación»
- Busque eventos cuyo origen sea Wininit (comprobación al reiniciar) o Chkdsk (análisis dentro de Windows)
En PowerShell, este comando recupera el último resultado de una comprobación al reiniciar:
Get-WinEvent -FilterHashtable @{ LogName = 'Application'; ProviderName = 'Wininit' } -MaxEvents 1 | Format-List Message
Analizar sin detener el equipo (/scan)
En volúmenes NTFS de Windows 8 y posteriores, /scan realiza un análisis en línea sin desconectar la unidad.
chkdsk C: /scan
/scan solo analiza; las reparaciones se hacen después. Para reducir al mínimo el tiempo de inactividad, use /spotfix:
chkdsk C: /spotfix
/spotfix repara únicamente los problemas hallados. Si la unidad está en uso y no se puede desconectar, se ejecuta cuando no esté en uso, por ejemplo en el siguiente reinicio.
Comprobar el código de salida en un archivo por lotes
chkdsk devuelve su resultado como código de salida, de modo que un archivo por lotes puede actuar en función de él.
| Código | Significado |
|---|---|
| 0 | No se encontraron errores |
| 1 | Se encontraron errores y se corrigieron |
| 2 | Se realizó una limpieza, o no se realizó porque no se especificó /f |
| 3 | No se pudo comprobar el disco, no se pudieron corregir los errores, o no se corrigieron porque no se especificó /f |
@echo off
chkdsk D:
if %errorlevel% equ 0 (
echo No se encontraron problemas.
) else (
echo El disco requiere atencion. Codigo de salida: %errorlevel%
)
pause
Para más información sobre los códigos de salida, consulte
.Qué conviene saber antes de usar chkdsk
- Haga una copia de seguridad antes: si el disco está fallando físicamente, repararlo con
/fo/rpuede empeorar la situación. Copie antes los datos importantes. - Pueden perderse algunos archivos: durante la reparación, los archivos dañados pueden guardarse como fragmentos en carpetas como
found.000o eliminarse. - Si los errores se repiten, sospeche del hardware: si tras reparar vuelven los mismos errores, el propio disco puede estar cerca del final de su vida útil.
- Para archivos del sistema dañados, use sfc: los problemas causados por archivos del sistema de Windows dañados se tratan con , no con
chkdsk.
Resumen
| Objetivo | Comando |
|---|---|
| Ver el estado sin reparar | chkdsk C: |
| Reparar errores | chkdsk C: /f |
| Buscar y reparar también sectores defectuosos | chkdsk C: /r |
| Analizar con la unidad en uso | chkdsk C: /scan |
| Reparar solo los problemas hallados | chkdsk C: /spotfix |
| Cancelar una comprobación programada | chkntfs /x C: |