En informática, CHKDSK
(abreviatura de "check disk") es una herramienta y comando del sistema en DOS , Digital Research FlexOS , [1] IBM / Toshiba 4690 OS , [2] IBM OS/2 , [3] Microsoft Windows y sistemas operativos relacionados . Verifica la integridad del sistema de archivos de un volumen e intenta corregir errores lógicos del sistema de archivos. Es similar al fsck
comando en Unix y similar a Microsoft ScanDisk , que coexistió con CHKDSK
Windows 9x y MS-DOS 6.x.
Una implementación temprana de un 'CheckDisk' fue el CHECKDSK , que era parte de los diagnósticos de hardware de Digital Equipment Corporation y se ejecutaba en TENEX y TOPS-20 de principios de la década de 1970. [4] [5 ]
El CHKDSK
comando fue implementado por primera vez en 1980 por Tim Paterson e incluido en Seattle Computer Products 86-DOS . [6]
El comando está disponible en las versiones 1 y posteriores de MS-DOS . [7]CHKDSK
Se implementa como un comando externo. Las versiones 2.x a 4.x de MS-DOS lo utilizan chkdsk.com
como archivo ejecutable. Las versiones 5.x y posteriores de MS-DOS lo utilizan chkdsk.exe
como archivo ejecutable. [8]
CHKDSK
También puede mostrar el uso de la memoria. Esto se utilizaba antes de que MEM.EXE
se introdujera el comando en MS-DOS 4.0 para mostrar el uso de la memoria. En DR DOS, el parámetro /A
limitaba la salida para mostrar únicamente el uso de la memoria.
CHKDSK
y UNDELETE
en MS-DOS 5.0 tienen un error que puede corromper los datos: si la tabla de asignación de archivos de un disco utiliza 256 sectores, la ejecución CHKDSK /F
puede provocar la pérdida de datos y UNDELETE
resultados impredecibles. Esto normalmente afecta a los discos con una capacidad de aproximadamente un múltiplo de 128 MB. Esto se aplica a los CHKDSK.EXE
discos UNDELETE.EXE
que tienen una marca de fecha del 9 de abril de 1991. Este error se corrigió en MS-DOS 5.0a. [9]
CHKDSK
Se puede ejecutar desde el símbolo del sistema de DOS , el Explorador de Windows , el Símbolo del sistema de Windows , Windows PowerShell o la Consola de recuperación . [10]
En los sistemas operativos Windows NT , CHKDSK
también puede comprobar la superficie del disco en busca de sectores defectuosos y marcarlos (en MS-DOS 6.x y Windows 9x , esta es una tarea realizada por Microsoft ScanDisk ). La versión de Windows ServerCHKDSK
es compatible con RAID y puede recuperar completamente los datos de los sectores defectuosos de un disco en una matriz RAID-1 o RAID-5 si los demás discos del conjunto están intactos. [11]
Los fragmentos de archivos y directorios considerados corruptos como resultado de, por ejemplo, cortes de energía durante la escritura, nombres de archivos demasiado largos y/o caracteres no válidos en los nombres de archivos, se mueven a un directorio debajo de la raíz de la partición, llamado found.000
, y se renombran como archivos y directorios genéricos numerados hexadecimalmente que comienzan con file00000000.chk
y dir_00000000.chk
respectivamente. [12] [13]
En la familia Windows NT, un CHKDSK
análisis estándar consta de tres fases de prueba de metadatos de archivo. Busca errores pero no los corrige a menos que se le ordene explícitamente que lo haga. Lo mismo se aplica al análisis de superficie: esta prueba, que podría consumir mucho tiempo en discos grandes o de bajo rendimiento, no se lleva a cabo a menos que se solicite explícitamente. CHKDSK
requiere acceso de escritura exclusivo al volumen para realizar reparaciones. [14] [15]
Debido al requisito de acceso monopolizado a la unidad, CHKDSK
no se puede comprobar el disco del sistema en el modo de sistema normal. En su lugar, el sistema establece un bit sucio en el volumen del disco y luego reinicia el equipo. Durante el inicio de WindowsCHKDSK
, SMSS.EXE inicia una versión especial de Autochk
(una aplicación en modo nativo ) que comprueba e intenta reparar el sistema de archivos si el bit sucio está establecido.
Debido al requisito de acceso exclusivo y a la naturaleza lenta de CHKDSK
la operación, Windows Vista implementó un nuevo modelo de estado del sistema de archivos en el que el sistema operativo corrige los errores en los volúmenes a medida que los encuentra. En caso de que el problema sea grave y se requiera un análisis completo, el Centro de actividades notifica al usuario que desconecte el volumen lo antes posible. [16]
Windows Vista y Windows Server 2008 agregaron la capacidad de autorreparación, activada por defecto, además de proporcionar el CHKDSK
comando. Detecta errores físicos del sistema de archivos y los repara silenciosamente sobre la marcha. De esta manera, muchos problemas detectados previamente durante la ejecución CHKDSK
nunca aparecen. Se administra mediante fsutil repair
comandos. [17] [18]
Las críticas se han dirigido a la tendencia a AUTOCHK
modificar automáticamente el sistema de archivos cuando no lo solicita explícitamente el usuario que desea hacer una copia de seguridad de sus datos con anterioridad, ya que un intento de reparación puede alterar, socavar y desconocer las rutas de archivos y directorios, especialmente en una instalación de arranque múltiple donde varios sistemas operativos pueden haber escrito en la misma partición de manera interferente. [19] [20] [21]
Antes del lanzamiento de Windows 7 , InfoWorld informó de una supuesta fuga de memoria en CHKDSK
; según el informe, el chkdsk /r
comando haría que el consumo de memoria alcanzara el máximo y el sistema se bloqueara . Randall C. Kennedy de InfoWorld atribuyó el informe original a " varias fuentes web " y dijo que en sus pruebas, el consumo de memoria alcanzó más del 90%, aunque no experimentó un bloqueo. Sin embargo, Kennedy tomó el consumo de memoria como un error crítico que descarrilaría el lanzamiento de Windows 7 y reprendió a Microsoft. [22] Tom Warren de Neowin desestimó la evaluación de Kennedy sobre la importancia de la supuesta fuga. [23] Steven Sinofsky de Microsoft también respondió que Microsoft tampoco podía reproducir un bloqueo, pero que el consumo masivo de memoria era por diseño, para mejorar el rendimiento, y no una fuga. Ed Bott de ZDNet también revisó la afirmación con sus propias pruebas y observó que no se produciría ningún bloqueo. Al señalar que chkdsk /r
, por diseño, no funciona en la unidad del sistema mientras Windows está en línea, Bott concluyó que "podría decirse que es una característica, no un error, y la probabilidad de que alguna vez se bloquee un sistema de esta manera es muy, muy pequeña y completamente evitable". [24]
DR DOS 6.0 también incluye una implementación del CHKDSK
comando. [25]
La versión FreeDOS fue desarrollada por Imre Leber y está licenciada bajo la GNU GPL 2. [ 26]
La implementación de ReactOS se basa en un clon gratuito desarrollado por Mark Russinovich para Sysinternals en 1998. [27] Fue adaptado a ReactOS por Emanuele Aliberti en 1999 y admite volúmenes que utilicen el sistema de archivos FAT32 . El comando no admite volúmenes que utilicen el sistema de archivos Btrfs , aunque ReactOS lo admite desde la versión 0.4.1.
Bajo Tenex .. Procedimientos de mantenimiento de hardware .. Recuperación de errores de Checkdsk