Una explicación de los nuevos modificadores /C e /I que se pueden usar con Chkdsk.exe

Para obtener una versión de Microsoft Windows 2000 y Windows NT 4.0 de este artículo, vea 187941 .

Resumen

Este artículo describe dos nuevos modificadores, el modificador /C y el modificador/i , que se incluyen en el programa CHKDSK en Windows XP. Estos modificadores permiten una mejor administración del tiempo de inactividad que se produce al ejecutar CHKDSK o AUTOCHK.


Advertencia: Microsoft no recomienda interrumpir el proceso de chkdsk cuando se usa con el modificador/f. Microsoft no garantiza la integridad del disco si se interrumpe el programa chkdsk.

Más información

CHKDSK.exe es la interfaz de línea de comandos del programa CHKDSK, que comprueba la integridad lógica de un sistema de archivos. Si CHKDSK encuentra incoherencias lógicas en los datos del sistema de archivos, realiza acciones que reparan los datos del sistema de archivos (suponiendo que los datos no están en modo de sólo lectura).

Los modificadores /C e /I sólo son válidos para una unidad con formato sistema de archivos NTFS. Cada uno de los nuevos modificadores indica a la rutina CHKDSK que omita ciertas acciones que CHKDSK de otra forma exigirían validar la integridad de las estructuras de datos NTFS.

Si ejecuta CHKDSK en línea, el código que realmente realiza la verificación reside en las DLL de utilidades, por ejemplo Untfs.dll y Ufat.dll. Las rutinas de comprobación que CHKDSK invoca son las mismas rutinas que se ejecutan cuando se comprueba un volumen a través de la interfaz gráfica de usuario de Windows Explorer o en administración de discos.

Sin embargo, si CHKDSK se programa para ejecutarse cuando el equipo se reinicia, el módulo binario que contiene el código de comprobación es Autochk.exe, un programa de Windows nativo. Puesto que Autochk.exe se ejecuta pronto en la secuencia de inicio del equipo, Autochk.exe no tiene la ventaja de la memoria virtual o de otros servicios Win32.

Autochk.exe genera el mismo tipo de salida de texto que las DLL de utilidades de Chkdsk.exe. Autochk.exe muestra esta salida de texto durante el proceso de inicio y también registra un suceso en el registro de sucesos de aplicación. La información del suceso registrado incluye tanto de la salida de texto como quepa en el búfer de datos del registro de eventos.

Dado que Autochk.exe y el código de comprobación de las DLL de utilidades de Chkdsk.exe se basan en el mismo código fuente, el resto de este artículo utiliza el término "CHKDSK" para hacer referencia genéricamente a Autochk.exe o Chkdsk.exe. Del mismo modo, ya que este artículo refiere a sólo aquellos cambios CHKDSK que implican a los volúmenes NTFS, cualquier instrucción que "CHKDSK hace esto y lo otro" significa que "CHKDSK hace esto y lo otro cuando se ejecuta CHKDSK en un volumen NTFS."


Tenga en cuenta que si utiliza los modificadores /C e /I , es posible que un volumen siga dañado incluso después de ejecutar CHKDSK. Por lo tanto, se recomienda que utilice estos modificadores si el tiempo de inactividad debe mantenerse al mínimo. Estos modificadores están pensados para situaciones cuando debe ejecutar CHKDSK en volúmenes excepcionalmente grandes y se requiera flexibilidad para administrar el tiempo de inactividad que se produce.

Para entender cuándo podría ser apropiado usar los modificadores /C e /I , necesita un conocimiento básico de algunas de las estructuras de datos internas de NTFS, lugar de los tipos de daños que pueden ocurrir, qué acciones emprende CHKDSK cuando comprueba un volumen y cuáles son las posibles consecuencias si burlar los pasos de comprobación usuales de CHKDSK.

Descripción de CHKDSK

La actividad de CHKDSK se divide en tres pasos principales, durante los que examina todos los metadatos del volumen, y un cuarto paso opcional.

Los metadatos son "datos sobre datos". Los metadatos son la "sobrecarga","por decirlo así, que realiza un seguimiento de información sobre todos los archivos que se almacenan en el volumen del sistema de archivos. Los metadatos incluyen información acerca de qué unidades de asignación conforman los datos para un archivo determinado, qué unidades de asignación están libres, cuáles contienen sectores erróneos, etcétera. Los datos que contiene el archivo, por otra parte, se denominan "datos de usuario". NTFS protege sus metadatos mediante un registro de transacciones. Datos de usuario no se protegen de esta manera.

Fase 1: Comprobar archivos

Durante su primer paso, CHKDSK muestra un mensaje que le indica que está comprobando los archivos y también muestra el porcentaje de la comprobación de que se haya completado, contando desde 0 a 100 por ciento. Durante esta fase, CHKDSK examina cada segmento de registro de archivo en la tabla del volumen de maestra de archivos (MFT).

Un segmento de registro de archivo concreto en la MFT identifica de manera única a cada archivo y directorio en un volumen NTFS. El "porcentaje completado" que CHKDSK muestra durante esta fase es el porcentaje de la MFT que ha comprobado. Durante esta fase, CHKDSK examina cada segmento de registro de archivo para comprobar su coherencia interna y genera dos mapas de bits, uno que representa los segmentos que se encuentran en uso y el otro los clústeres del volumen que están en uso.

Al final de esta fase, CHKDSK ha identificado el espacio que está en uso y el espacio disponible, tanto en la MFT como en el volumen como un todo. NTFS realiza un seguimiento de esta información en mapas de bits propios, que se almacenan en el disco. CHKDSK compara sus resultados con los mapas de bits que NTFS mantiene. Si hay discrepancias, se indican las discrepancias en la salida de CHKDSK. Por ejemplo, si se encuentra un segmento de registro de archivo que estaba en uso se dañe, los clústeres del disco que estaban asociados a ese segmento se marcan como "disponibles" en el mapa de bits CHKDSK, pero se marcan como "en uso" en el mapa de bits NTFS.

Fase 2: Comprobar los índices

Durante su segundo paso, CHKDSK muestra un mensaje que le indica que está comprobando los índices y muestra de nuevo el porcentaje completado, contando desde 0 a 100 por ciento. Durante esta fase, CHKDSK examina cada uno de los índices del volumen.

Los índices son esencialmente directorios NTFS. El "porcentaje completado" que CHKDSK muestra durante esta fase es el porcentaje del número total de directorios del volumen que se han comprobado. Durante esta fase, CHKDSK examina cada directorio del volumen, comprobación de coherencia interna y que al menos un directorio haga referencia a cada archivo y directorio representados por un segmento de registro de archivo en la MFT. CHKDSK confirma que todos los archivos o subdirectorios a los que se hace referencia en un directorio existan realmente como un segmento de registro de archivo válido en la MFT y también comprueba si hay referencias circulares. Finalmente, confirma que las marcas de tiempo y la información de tamaño de archivo para los archivos estén actualizadas en las listas de directorios correspondientes a esos archivos.

Al final de esta fase, CHKDSK se ha asegurado de que no existen archivos "huérfanos" y que son todas las listas de directorios contienen archivos válidos. Un archivo huérfano es un archivo para el que hay un segmento de registro de archivo legítimo pero para el que no hay ninguna lista en ningún directorio. Un archivo huérfano a menudo puede restaurarse en su directorio apropiado si todavía existe. Si ya no existe el directorio apropiado, CHKDSK crea un directorio en el directorio raíz y coloca allí el archivo. Si CHKDSK encuentra listas de directorios para archivo de segmentos de registro que ya no están en uso, o para los segmentos de registro de archivo que están en uso pero que no se corresponden con el archivo que aparece en el directorio, simplemente quita la entrada de directorio para el segmento de registro de archivo.

Fase 3: Comprobando descriptores de seguridad

Durante su tercer paso, CHKDSK muestra un mensaje que le indica que está comprobando los descriptores de seguridad y, por tercera vez, muestra el "porcentaje completado" contando de 0 a 100 por ciento. Durante esta fase, CHKDSK examina cada descriptor de seguridad asociado a los archivos o directorios que se encuentran en el volumen.

Descriptores de seguridad contienen información acerca del propietario de un archivo o directorio, acerca de los permisos NTFS para el archivo o directorio y auditoría para el archivo o directorio. El "porcentaje completado" que CHKDSK muestra durante esta fase es el porcentaje de los archivos y directorios que se han comprobado el volumen. CHKDSK comprueba que cada estructura de descriptor de seguridad está bien formada y sea coherente internamente. CHKDSK no comprueba la existencia real de los usuarios o grupos enumerados, o la idoneidad de los permisos que se conceden.

Fase 4: Comprobar los sectores

Si el modificador /R está en vigor, CHKDSK ejecuta un cuarto paso para buscar sectores defectuosos en el espacio libre del volumen. CHKDSK intenta leer cada sector del volumen para confirmar que el sector puede usarse. Incluso sin el modificador/r , CHKDSK siempre lee los sectores que están asociados a metadatos. Los sectores asociados con datos de usuario se leen durante las fases anteriores de CHKDSK si se especifica el modificador/r .

Cuando CHKDSK encuentra un sector ilegible, NTFS agrega el clúster que contiene ese sector a su lista de clústeres erróneos. Si el clúster defectuoso se está usando, CHKDSK asigna un clúster nuevo para hacer su trabajo el clúster no válido. Si utiliza un disco con tolerancia a errores, NTFS recupera los datos del clúster defectuoso y escribe los datos en el clúster recién asignado. De lo contrario, el nuevo clúster se rellena con un patrón de 0xFF bytes.

Si NTFS encuentra sectores ilegibles durante el curso de una operación normal, NTFS reasigna los sectores del mismo modo que lo hace cuando se ejecuta CHKDSK. Por lo tanto, con el modificador /R no suele esencial. Sin embargo, con el modificador/r es una manera cómoda de examinar todo el volumen si se sospecha que un disco puede tener sectores defectuosos.

Descripción de los requisitos de tiempo CHKDSK

La descripción anterior de las fases de la ejecución de CHKDSK da sólo un esquema general de las tareas más importantes que realiza para comprobar la integridad de un volumen NTFS. CHKDSK también realiza muchas comprobaciones concretas adicionales durante cada paso y varias comprobaciones rápidas entre los pasos. Sin embargo, incluso este tipo de descripción proporciona alguna base para la siguiente explicación de las variables que afectan a la cantidad de tiempo que CHKDSK tarda en ejecutarse y del impacto de los nuevos /C e /I modificadores que están disponibles en Windows XP.

Variable 1: La fase de "Índices"

Durante las fases primeras y terceros de la ejecución de CHKDSK (comprobando los archivos y los descriptores de seguridad), el progreso del indicador "porcentaje completado" es relativamente suave. Los segmentos de registro de archivo sin usar requieren menos tiempo para procesar y descriptores de seguridad grandes tardan más tiempo al proceso, pero en general el "porcentaje completado" es una consideración bastante precisa del tiempo real que la fase requiere.


Sin embargo, esta relación de porcentaje y el tiempo no es necesariamente aplicable a la segunda fase, cuando CHKDSK examina los índices (directorios NTFS). El tiempo que necesita para procesar que un directorio está estrechamente vinculado al número de archivos y subdirectorios que se encuentran en ese directorio, pero el "porcentaje completado" durante esta fase se basa sólo en el número de directorios que CHKDSK debe examinar. No hay ningún ajuste de cuánto tiempo puede tardar, por ejemplo, para procesar un directorio que tiene un número extremadamente grande de archivos y subdirectorios. A menos que los directorios en un volumen todas contienen aproximadamente el mismo número de archivos, el "porcentaje completado" que se muestra durante esta fase no refleja confiablemente el tiempo real que la segunda fase requiere.


Para empeorar cuando se está en medio de un procedimiento inesperado de CHKDSK, la segunda fase de CHKDSK es que normalmente se tarda más en ejecutarse.

Variable 2: La condición del volumen

Hay muchos factores que afectan el estado de un volumen influyen una función en el tiempo que CHKDSK tarda en ejecutarse. Una fórmula para predecir el tiempo requerido para ejecutar CHKDSK en un volumen determinado tendría que incluir variables como el número de archivos y directorios, el grado de fragmentación del volumen en general y de la MFT en particular, el formato de nombres de archivo (nombres largos, nombres con formato 8.3 o una mezcla) y la cantidad de daño real que CHKDSK debe reparar.

Variable 3: Problemas de Hardware

Problemas de hardware también afectan a cuánto se tarda en ejecutar Chkdsk. Las variables incluyen la cantidad de memoria disponible, velocidad de CPU, velocidad del disco y así sucesivamente.

Variable 4: La configuración de CHKDSK

Si no utiliza el modificador/r , la mayor preocupación de tiempo en una plataforma de hardware determinada es el número de archivos y directorios que se encuentran en el volumen, en lugar del tamaño absoluto del volumen.

Por ejemplo, sin el modificador/r , un volumen de 50 gigabytes (GB) que tiene sólo uno o dos archivos de base de datos grande puede tardar a sólo unos segundos en que se ejecute CHKDSK. Si utiliza el modificador/r , CHKDSK tiene que leer y comprobar cada sector del volumen, lo que aumenta considerablemente el tiempo que se requiere para grandes volúmenes. Por otra parte, la ejecución de CHKDSK en un volumen relativamente pequeño puede tardar horas si el volumen tiene cientos de miles o incluso millones de archivos pequeños, independientemente de si especifica el /r/r cambie.

Predecir los requisitos de tiempo CHKDSK

Como puede ver, ejecución de CHKDSK puede tardar desde unos segundos a varios días, dependiendo de su situación específica. La mejor manera de predecir cuánto tiempo llevará hacer CHKDSK tarda en ejecutarse en un volumen determinado realmente es hacer una ejecución de prueba en modo de sólo lectura durante un período de poca utilización del sistema.

Sin embargo, debe utilizar esta técnica con gran cuidado, por las siguientes razones:

  • En modo de sólo lectura, CHKDSK terminará de ejecutarse antes de completar las tres fases si encuentra errores en las fases anteriores y además es propenso a informar de errores falsos. Por ejemplo, CHKDSK puede indicar daños en el disco si da la casualidad de que NTFS modifica áreas de un disco mientras CHKDSK está examinando el disco. Comprobación correcta, un volumen debe ser estático y el único modo de garantizar ese estado es bloquear el volumen. CHKDSK bloquea el volumen sólo si se especifica el modificador /F (o el modificador/r , que implica/f). Debe ejecutar CHKDSK más de una vez para conseguir que complete todos los pasos en modo de sólo lectura.
  • CHKDSK es ambas CPU - y -uso intensivo del disco. El tiempo que se tarda en ejecutar CHKDSK se ve afectado por la cantidad de carga es en el sistema y si CHKDSK se ejecuta en línea o durante la secuencia de inicio de Windows XP. El factor que se convierta en el cuello de botella dependerá de la configuración de hardware, pero el uso intensivo de la CPU o disco pesado i/OS mientras se ejecuta CHKDSK en modo de sólo lectura harán que aumente el tiempo de ejecución de CHKDSK. Asimismo, Autochk.exe se ejecuta en un entorno diferente de Chkdsk.exe. Ejecución de CHKDSK a través de Autochk.exe da haga un uso exclusivo de los recursos de CPU y de E/S, pero también impide que CHKDSK usando memoria virtual. Aunque se puede esperar que Autochk.exe se ejecutara más rápidamente que Chkdsk.exe, Autochk.exe en realidad puede tardar más tiempo si el equipo tiene relativamente poca memoria RAM disponible.
  • Solución de errores aumenta el tiempo necesario. En modo de sólo lectura, CHKDSK se ejecuta hasta completarse sólo si no encuentra ningún daño significativo. Si un disco sólo muestra daños secundarios, puede prever que corrijan los problemas no agregará mucho que el tiempo necesario para ejecutar simplemente CHKDSK. Pero si CHKDSK encuentra daños importantes, por ejemplo de un error de hardware serio, puede prever que aumentará el tiempo requerido para ejecutar CHKDSK en proporción al número de archivos dañados que CHKDSK debe reparar. En casos extremos, esto puede incluso más que duplicar el tiempo que se tarda en ejecutar Chkdsk.

Introducción a los modificadores /C e /I

El modificador /C

El modificador /C indica a CHKDSK que omita las comprobaciones que detectan ciclos en la estructura de directorios. Los ciclos son una forma muy poco común de daño en la que un subdirectorio se tiene así mismo como "antecesor".

Uso del modificador /C puede acelerar CHKDSK aproximadamente un 1 y un 2 por ciento, pero utilizar este modificador también puede dejar "bucles" de directorios en un volumen NTFS. Tales bucles podrían ser inaccesibles desde el resto del árbol de directorios y algunos archivos se podrían quedar huérfanos en el sentido de que los programas Win32, incluidos los programas de copia de seguridad, no pueden ver los archivos.

El modificador /I

El modificador /I indica a CHKDSK que omita las comprobaciones que comparan las entradas de directorio en sus segmentos de registro de archivo correspondientes. Con este modificador en vigor, las entradas de directorio se siguen comprobando coherencia interna, pero las entradas de directorio no son necesariamente coherentes con los datos que se almacenan en los segmentos de registro de archivo correspondientes.

Es difícil predecir cuánto tiempo que se ahorrará con el modificador /I . Normalmente, el modificador /I reduce el tiempo de CHKDSK en 50 y un 70 por ciento, dependiendo de factores como la proporción de archivos y directorios y la velocidad de E/S de disco con respecto a la velocidad de la CPU.

Uso del modificador /I presenta las siguientes limitaciones:

  • Puede que las entradas de directorio que hagan referencia a segmentos de registro de archivo incorrecto. En este caso, cualquier programa que intente usar la entrada encontrará errores.
  • Puede que los segmentos de registro de archivo que haga referencia a ninguna entrada de directorio (otra manera en que se producen archivos huérfanos). Un archivo que esté intacto en realidad, según lo representado por el segmento de registro de archivo puede ser invisible para todos los programas Win32, incluidos los programas de copia de seguridad.

El valor de los modificadores /C e /I

Cuando se detectan daños en el disco en un volumen, hay tres opciones básicas para la respuesta.

La primera opción es no realizar ninguna acción. En un servidor de misión crítica que se espera que estén en funcionamiento las 24 horas del día, suele ser la elección por necesidad. El inconveniente es que los daños relativamente poco importantes pueden llegar a ser considerables. Por lo tanto, considere esta opción sólo si mantener el servidor en línea es más importante que proteger la integridad de los datos que se almacenan en el volumen dañado. Todos los datos del volumen dañado deberían considerarse "en riesgo" hasta que se ejecute CHKDSK. La segunda opción es ejecutar una operación CHKDSK completa para reparar todos los datos del sistema de archivos y restaurar todos los datos de usuario que puedan recuperarse mediante un proceso automatizado. Sin embargo, ejecutar una operación CHKDSK completa puede costar varias horas de inactividad para un servidor de misión crítica en un momento inoportuno. La tercera opción es ejecutar una operación CHKDSK abreviada con uno o ambos el /C y/i cambia, para reparar los daños que puedan convertirse en problemas mayores en mucho menos tiempo de lo que un completo CHKDSK requiere.

Sin embargo, tenga en cuenta que ejecuta un CHKDSK abreviado no repara todos los daños que pudieran existir. Necesitará ejecutar un CHKDSK completo en algún momento futuro para garantizar que todos los datos recuperables de hecho se ha recuperado.

También tenga en cuenta que NTFS no garantiza la integridad de los datos de usuario después de una instancia de daños en el disco, incluso si ejecuta inmediatamente una operación CHKDSK completa. Puede haber archivos que CHKDSK no pueda recuperar, y los archivos que recupere podrían estar todavía dañados internamente. Sigue siendo muy importante proteger los datos esenciales realizando copias de seguridad periódicas o mediante algún otro método eficaz de recuperación de datos.
Propiedades

Id. de artículo: 314835 - Última revisión: 22 ene. 2017 - Revisión: 2

Comentarios