14 votos

¿Cómo CHKDSK /F en volumen cerrado obtener "programado" en el reinicio?

Me he quedado chkdsk /F muchas veces a lo largo de los años...y hoy he tenido que ejecutar en una de mis 2008 R2 servidores y me sale el mensaje normal:

Chkdsk no se puede ejecutar porque el volumen está en uso por otro proceso. Te gustaría programar el volumen de comprobarse la próxima vez que el el sistema se reinicia? (Y/N) Y

Este volumen se comprobará la próxima vez que reinicie el sistema.

He mirado en el Technet doc aquí: http://technet.microsoft.com/en-us/library/cc730714.aspx así como la normal de google de la búsqueda y de búsqueda de Technet y site:microsoft.com en google, pero no puede encontrar lo que estoy buscando...

La Pregunta:

CÓMO/dónde hace el programa de Windows esta en reiniciar? No está en el Programador de Tareas o RunOnce o similares, lo cual tiene sentido si se tiene que ejecutar antes de que Windows bloquea el volumen...entonces, ¿dónde exactamente que hace que Windows configure esta "tarea programada" para que el servidor lo sabe, incluso, una semana más tarde, durante una ventana de mantenimiento reboot?

19voto

BigHomie Puntos 3983

Gran Pregunta. la respuesta es que el VolumeDirty bit se establece en el volumen, que (tengo que asumir) se comprueban durante el arranque. Probablemente similar a la forma en que se verifica cuando una unidad de memoria flash se inserta y uno obtiene la ventana emergente que dice Scan o Continuar Sin Escanear.

Una vez traté de encontrar una manera de programar un chkdsk para un sistema automatizado de servidor que había cerca de cero mantenimiento, mediante el establecimiento de la volumedirty de bits a través de la secuencia de comandos de powershell (dirtybitset = $true), pero no funcionaría. Me pueden revisar que tal como se desprende de mi enlace hay un ScheduleAutoChk que hace justamente eso y trabaja en conjunto con el dirtybit.

Además de la investigación que aquí se indica:

Cada vez que Windows se reinicia, Autochk.exe es llamado por el Kernel para examinar todos los volúmenes para comprobar si el volumen sucio está establecido el bit. Si el bit está establecido.

Más información sobre autochk.exe puede ser encontrado aquí para ayudar a explicar lo que está pasando en el sitio de Microsoft Technet y la Wikipedia, donde Wikipedia dice:

Una vez que todo el Sistema y de Inicio de los conductores han sido cargados, el kernel (sistema de rosca) se inicia el Gestor de Sesiones (Subsistema smss.exe).

Antes de que los archivos se abren, Autochk se inicia por smss.exe. Autochk monta todas las unidades y los cheques de uno en uno para ver si es o no eran desmontado limpiamente. Si autochk determina uno o más volúmenes son sucios, automáticamente se ejecuta chkdsk

Específicamente, parece que si usted mira en el registro bajo:

HKLM\System\CurrentControlSet\Control\Session Manager

Hay un valor de BootExecute que se cambia de autocheck autochk * a algo como autocheck autochk /p \\??\C: autocheck autochk *

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: