Question Comment CHKDSK / F sur un volume verrouillé est-il «programmé» au redémarrage?


J'ai couru chkdsk /F plusieurs fois au fil des ans ... et aujourd’hui, j’ai dû l’utiliser sur l’un de mes serveurs R2 2008 et j’obtiens le message normal:

Chkdsk ne peut pas s'exécuter car le volume est utilisé par un autre processus.   Souhaitez-vous planifier la vérification de ce volume la prochaine fois que le   le système redémarre? (O / N) y

Ce volume sera vérifié au prochain redémarrage du système.

J'ai consulté le document Technet ici: http://technet.microsoft.com/en-us/library/cc730714.aspx ainsi que la recherche normale sur Google et la recherche sur Technet et sur le site: microsoft.com sur Google, mais je ne trouve pas ce que je cherche ...

La question:

COMMENT / où est-ce que Windows planifie cela au redémarrage? Ce n'est pas dans le Planificateur de tâches ni dans RunOnce ou similaire, ce qui est logique si elle doit être exécutée avant que Windows ne verrouille le volume… semaine plus tard lors d'un redémarrage de la fenêtre de maintenance?


14
2018-02-13 15:25


origine




Réponses:


Grande question. la réponse est que le VolumeDirty bit est défini sur le volume, qui (je dois supposer) est vérifié lors du démarrage. Probablement similaire à la façon dont il est vérifié quand un lecteur flash est inséré et on obtient le popup qui dit Scanner ou continuer sans scanner.

Une fois, j’ai essayé de trouver un moyen de planifier un chkdsk pour un serveur automatisé ne nécessitant aucune maintenance, en paramétrant volumedirty bit via le script powershell (dirtybitset = $true), mais ça ne marcherait pas. Il est possible que je revienne sur le fait que ScheduleAutoChk, comme il ressort de mon lien, fait exactement cela et fonctionne conjointement avec le dirtybit.

Plus loin recherche ici États:

À chaque démarrage de Windows, Autochk.exe est appelé par le noyau pour analyser tous les volumes afin de vérifier si le bit de volume incorrect est défini. Si le bit sale est activé.

Plus d'infos sur autochk.exe peut être trouvé ici pour aider à expliquer ce qui se passe dans Site Microsoft Technet et Wikipédia, où Wikipedia déclare:

Une fois que tous les pilotes de démarrage et système ont été chargés, le noyau   (thread système) démarre le sous-système Session Manager (smss.exe).

Avant que tous les fichiers soient ouverts, Autochk est démarré par smss.exe. Autochk   monte tous les lecteurs et les vérifie un à la fois pour voir si oui ou non   ils étaient proprement démontés. Si autochk détermine un ou plusieurs volumes   sont sales, il se lancera automatiquement chkdsk

Plus précisément, il apparaît si vous regardez dans le registre sous:

HKLM \ System \ CurrentControlSet \ Control \ Session Manager

Il y a une valeur de BootExecute ça change de autocheck autochk * à quelque chose comme autocheck autochk /p \\??\C: autocheck autochk *


19
2018-02-13 15:32



aha ... OK cool j'ai trouvé des détails supplémentaires que je vais ajouter à votre réponse ... merci monsieur! - TheCleaner
Pour référence: il semble que vous pouvez utiliser chkntfs /c %SystemDrive% pour planifier le volume de démarrage afin de vérifier le redémarrage sans perdre de temps avec le registre directement. (Bien sûr, vous devez avoir les droits d'administrateur pour le faire.) - cHao
@cHao - vous n'avez pas besoin de tout bousculer directement avec le registre. `chkdsk / f% SystemDrive% fait la même chose. Peut-être que je ne suis pas votre commentaire. - TheCleaner
@TheCleaner: Avec chkntfs /cCependant, vous ne recevez pas le message "Souhaitez-vous planifier ...?" rapide. Cela peut constituer une différence importante si vous souhaitez, par exemple, salir le lecteur dans le cadre d'une tâche planifiée. - cHao
@ MDMoore313: /c est l'option pour planifier le contrôle. Sans ça, chkntfs vous dira simplement si un chèque a été programmé. - cHao