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

Seleccione idioma Seleccione idioma
Id. de artículo: 314835 - Ver los productos a los que se aplica este artículo
Para obtener una versión de este artículo para Microsoft Windows 2000 y Windows NT 4.0, vea 187941.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describen dos nuevos modificadores, /C e /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 utiliza 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 en una unidad que tenga el formato del sistema de archivos NTFS. Cada uno de los nuevos modificadores indica a la rutina de CHKDSK que omita ciertas acciones que de otra forma tendría que realizar para validar la integridad de las estructuras de datos NTFS.

Si ejecuta CHKDSK en línea, el código que realmente realiza la comprobació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 que se ejecutan cuando un volumen se comprueba a través del Explorador de Windows o de la interfaz gráfica de usuario de Administración de disco.

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. Dado que Autochk.exe se ejecuta al principio de la secuencia de inicio del equipo, carece de 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 evento en el registro de eventos de aplicación. La información del evento que se registra incluirá tanto texto como quepa en el búfer de datos del registro de eventos.

Puesto que tanto Autochk.exe como el código de comprobación de las DLL de utilidades de Chkdsk.exe se basan en el mismo código fuente, en el resto de este artículo se usa el término "CHKDSK" para hacer referencia genéricamente a Autochk.exe o Chkdsk.exe. Igualmente, dado que este artículo sólo trata de los cambios de CHKDSK que implican a los volúmenes NTFS, cualquier frase que indique que CHKDSK hace algo implica que lo hace cuando se ejecuta 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 consiguiente, se recomienda que sólo utilice estos modificadores si el tiempo de inactividad debe ser mínimo. Estos modificadores están pensados para situaciones en las que se deba ejecutar CHKDSK en volúmenes excepcionalmente grandes y se requiera flexibilidad para administrar el tiempo de inactividad que se produce.

Para saber cuándo podría ser apropiado usar los modificadores /C e /I, se necesita tener un conocimiento básico de algunas de las estructuras de datos internas de NTFS, el tipo de daños que pueden causar, qué acciones emprende CHKDSK cuando comprueba un volumen y qué posibles consecuencias puede tener omitir los pasos de comprobación usuales de CHKDSK.

Descripción de la actividad 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 acerca de los datos". Se trata de la "sobrecarga" del sistema de archivos, por decirlo de alguna manera, que realiza el seguimiento de la información acerca de todos los archivos que se almacenan en el volumen. Los metadatos incluyen información acerca de qué unidades de asignación conforman los datos para un archivo determinado, cuáles están libres, cuáles contienen sectores erróneos, etcétera. Por otro lado, los datos que el archivo contienen se conocen como "datos de usuario". NTFS protege sus metadatos mediante un registro de transacciones. Los datos de usuario no se protegen de esta manera.

Fase 1: comprobar los archivos

Durante su primer paso, CHKDSK muestra un mensaje que le indica que está comprobando los archivos y también muestra el porcentaje que se lleva completado. Durante esta fase, CHKDSK examina cada segmento de registro de archivo en la tabla maestra de archivos (MFT, Master File Table) del volumen.

Un segmento de registro de archivo concreto en la MFT identifica de forma exclusiva cada archivo y directorio de un volumen NTFS. El "porcentaje completado" que CHKDSK muestra durante esta fase es el porcentaje de la MFT que ha comprobado. Durante este paso, 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 usan y el otro los clústeres del volumen que se están utilizando.

Al final de esta fase, CHKDSK ha identificado el espacio que se está usando y el que está disponible, tanto en la MFT como en el volumen, como un todo. NTFS mantiene el 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 señalan en la salida de CHKDSK. Por ejemplo, si se encuentra que se ha dañado un segmento de registro de archivo que se estaba utilizando, los clústeres del disco que estaban asociados anteriormente a ese segmento se marcan como "disponibles" en el mapa de bits de CHKDSK, pero se marcan para indicar que "están utilizándose" en el mapa de bits de NTFS.

Fase 2: comprobar los índices

Durante su segundo paso, CHKDSK muestra un mensaje que indica que está comprobando los índices y muestra de nuevo un indicador de porcentaje, de 0 a 100. 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 los directorios del volumen que se han comprobado. Durante este paso, CHKDSK examina cada directorio del volumen y comprueba la 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 diversas marcas de tiempo y la información del tamaño de archivo de 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 hay archivos "huérfanos" y de que todas las listas de directorios contienen archivos válidos. Un archivo huérfano es aquel para el que hay un segmento de registro de archivo legítimo pero para el que no hay ninguna lista en ningún directorio. A menudo, un archivo huérfano se puede restaurar en su directorio apropiado, si todavía existe. Si este directorio ya no existe, CHKDSK crea otro en el directorio raíz y coloca allí el archivo. Si CHKDSK encuentra listas de directorios para los segmentos de registro de archivo que ya no se están usando, o para los que están usándose pero no se corresponden con el archivo que se muestra en el directorio, simplemente quita la entrada del directorio correspondiente al segmento de registro de archivo.

Fase 3: comprobar los descriptores de seguridad

Durante su tercer paso, CHKDSK muestra un mensaje que indica que está comprobando los descriptores de seguridad y, por tercera vez, muestra el "porcentaje completado". Durante esta fase, CHKDSK examina cada descriptor de seguridad que esté asociado a los archivos y directorios del volumen.

Los 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 acerca de la auditoría del archivo o directorio. El "porcentaje completado" que CHKDSK muestra durante esta fase es el porcentaje de los directorios y archivos del volumen que se han comprobado. CHKDSK comprueba que cada estructura de descriptores de seguridad esté bien formada y sea coherente internamente. No comprueba la existencia real de los usuarios o grupos enumerados, o la idoneidad de los permisos que se han concedido.

Fase 4: comprobar los sectores

Si el modificador /R está en vigor, CHKDSK ejecuta un cuarto paso para buscar los sectores defectuosos en el espacio disponible 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 a los 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 defectuosos. Si el clúster defectuoso se está usando, CHKDSK asigna un clúster nuevo para hacer su trabajo. Si usa un disco con tolerancia a errores, NTFS recupera los datos del clúster defectuoso y los escribe en el clúster recién asignado. De lo contrario, el clúster nuevo 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 cuando se ejecuta CHKDSK. Por consiguiente, el uso del modificador /R no suele ser imprescindible. Sin embargo, utilizar el modificador /R es una manera cómoda de examinar todo el volumen si sospecha que un disco puede tener sectores defectuosos.

Descripción de los requisitos temporales de CHKDSK

La descripción anterior de las fases de la ejecución de CHKDSK sólo ofrece un amplio esquema de las tareas más importantes que realiza para comprobar la integridad de un volumen NTFS. CHKDSK también efectúa 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 de la repercusión de los nuevos modificadores /C e /I que están disponibles en Windows XP.

Variable 1: la fase de "Índices"

Durante las fases primera y tercera de la ejecución de CHKDSK (la comprobación de los archivos y de 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 procesarse, y los descriptores de seguridad grandes tardan más, pero el total del "porcentaje completado" es una consideración bastante precisa del tiempo real que la fase requiere.

Sin embargo, esta relación entre el porcentaje y el tiempo no es necesariamente aplicable a la segunda fase, cuando CHKDSK examina los índices (directorios NTFS). El tiempo que se tarda en procesar un directorio está estrechamente vinculado al número de archivos y subdirectorios de ese directorio, pero el "porcentaje completado" durante esta fase sólo se basa en el número de directorios que CHKDSK debe examinar. No hay ningún ajuste de la duración que podría tardarse, por ejemplo, en procesar un directorio que contiene un número sumamente grande de archivos y subdirectorios. A menos que los directorios de un volumen contengan todos 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 las cosas cuando se está en mitad de una ejecución inesperada del procedimiento de CHKDSK, la segunda fase suele ser la que más tarda.

Variable 2: la condición del volumen

Muchos factores que tienen que ver con el estado de un volumen influyen en el tiempo que CHKDSK tarda en ejecutarse. Una fórmula para predecir el tiempo que se necesita 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 los nombres de archivo (nombres largos de archivo, nombres con formato 8.3 o una mezcla) y el daño real que CHKDSK debe reparar.

Variable 3: problemas de hardware

Los problemas de hardware también afectan al tiempo que tarda CHKDSK en ejecutarse. Las variables incluyen la cantidad de memoria disponible, la velocidad de la CPU, la velocidad del disco, etc.

Variable 4: la configuración de CHKDSK

Si no utiliza el modificador /R, el factor más importante en relación al tiempo en una plataforma de hardware determinada es el número de archivos y directorios que hay en el volumen, en lugar del tamaño absoluto del mismo.

Por ejemplo, sin el modificador /R, CHKDSK podría tardar sólo unos segundos en ejecutarse en un volumen de 50 gigabytes (GB) que sólo contuviera uno o dos archivos de base de datos grandes. Si utiliza el modificador /R, CHKDSK tiene que leer y comprobar cada sector del volumen, lo que supone un aumento significativo del tiempo que tarda con volúmenes grandes. Por otro lado, la ejecución de CHKDSK puede tardar horas en un volumen relativamente pequeño si tiene cientos de miles o millones de archivos pequeños, tanto si se especifica el modificador /R como si no.

Predecir los requisitos de tiempo de CHKDSK

Como puede ver, la ejecución de CHKDSK puede tardar desde unos segundos a varios días, según la situación concreta. La mejor forma de predecir cuánto tardará CHKDSK en ejecutarse en un volumen dado es hacer una ejecución de prueba en modo de solo lectura durante un período de poco uso del sistema.

Sin embargo, debe utilizar esta técnica con gran cuidado, por las razones siguientes:
  • En el 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 crear un informe de daños del disco si da la casualidad de que NTFS modifica áreas de un disco mientras CHKDSK lo está examinando. Para que la comprobación sea correcta, un volumen debe ser estático, y el único modo de garantizar ese estado es bloquearlo. CHKDSK sólo bloquea el volumen si especifica el modificador /F (o /R, lo que implica /F). Puede que tenga que ejecutar CHKDSK más de una vez para conseguir que complete todos los pasos en modo de sólo lectura.
  • CHKDSK utiliza mucho tanto la CPU como el disco. La carga del sistema y si CHKDSK se ejecuta en línea o durante la secuencia de inicio de Windows XP influyen en el tiempo de ejecución. El factor que finalmente constituya el cuello de botella dependerá de la configuración del hardware, pero un uso elevado de la CPU o el que se produzcan muchas operaciones de E/S de disco mientras CHKDSK se está ejecutando en modo de sólo lectura harán que aumente el tiempo de ejecución. Asimismo, Autochk.exe se ejecuta en un entorno diferente de Chkdsk.exe. Si se ejecuta CHKDSK a través de Autochk.exe, se le permite que haga un uso exclusivo de la CPU y de los recursos de E/S, pero también se le impide que utilice la memoria virtual. Aunque podría esperarse que Autochk.exe se ejecutara más rápidamente que Chkdsk.exe, en realidad puede tardar más mucho tiempo si el equipo tiene relativamente poca memoria RAM disponible.
  • Reparar los daños provoca que se tarde más en ejecutar el proceso. 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 la corrección de los problemas no supondrá mucho tiempo adicional al necesario para ejecutar simplemente CHKDSK. Pero si CHKDSK encuentra daños importantes, por ejemplo provocados por un error de hardware serio, puede prever que el tiempo requerido para ejecutarlo aumentará en proporción al número de archivos dañados que deba reparar. En casos extremos, esto puede suponer incluso más del doble de tiempo.

Introducción a los modificadores /C e /I

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 que hace que un subdirectorio se tenga a sí mismo como "antecesor".

El uso del modificador /C puede acelerar la ejecución de CHKDSK entre aproximadamente un 1 y un 2 por ciento, pero 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 de copia de seguridad, no pueden ver los archivos.

Modificador /I

El modificador /I indica a CHKDSK que omita las comprobaciones que comparan las entradas del directorio con sus segmentos de registro de archivo correspondientes. Con este modificador en vigor, se sigue comprobando la coherencia interna de las entradas de directorio, pero no tienen que ser necesariamente coherentes con los datos que están almacenados en los segmentos de registro de archivo correspondientes.

El tiempo que se ahorrará con el modificador /I es difícil de predecir. Normalmente, el modificador /I reduce el tiempo de CHKDSK entre un 50 y un 70 por ciento, según factores como la proporción de archivos en los directorios y la velocidad de las E/S de disco en relación con la velocidad de la CPU.

El uso del modificador /I tiene estas limitaciones:
  • Puede haber entradas de directorio que hagan referencia a segmentos de registro de archivo incorrectos. En este caso, cualquier programa que intente usar este tipo de entrada encontrará errores.
  • Puede que haya segmentos de registro de archivo a los que no haga referencia ninguna entrada de directorio (otra manera en que se producen archivos huérfanos). Un archivo que esté intacto en realidad, según se representa mediante el segmento de registro de archivo, puede no estar visible para todos los programas Win32, incluidos los 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 tomar ninguna medida. En un servidor esencial que tiene que estar en funcionamiento 24 horas al día, ésta suele ser la elección por necesidad. La desventaja es que los daños relativamente poco importantes pueden llegar a ser considerables. Por consiguiente, considere esta opción sólo si mantener el servidor en conexión es más importante que proteger la integridad de los datos que están almacenados 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 del usuario que se puedan recuperar por medio de un proceso automatizado. Sin embargo, ejecutar una operación CHKDSK completa puede costar varias horas de tiempo de inactividad en un servidor esencial en un momento inoportuno. La tercera opción es ejecutar una operación CHKDSK abreviada con uno o ambos de los modificadores /C e /I para reparar los daños que puedan convertirse en importantes en mucho menos tiempo de lo que una operación CHKDSK completa requiere.

Tenga en cuenta que la ejecución de una operación CHKDSK abreviada no repara todos los daños que podrían existir. Seguirá teniendo que ejecutar una operación CHKDSK completa más adelante para garantizar que todos los datos que se puedan recuperar se han recuperado de hecho.

También tenga en cuenta que NTFS no garantiza la integridad de los datos del usuario después de una sesión de recuperación de daños de disco, ni siquiera si ejecuta inmediatamente una operación de CHKDSK completa. Podría haber archivos que CHKDSK no pueda recuperar, y los archivos que recupere podrían estar todavía dañados internamente. Sigue siendo sumamente importante que proteja 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: lunes, 26 de noviembre de 2007 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
Palabras clave: 
kbinfo kbfea KB314835

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com