लॉक वॉल्यूम पर CHKDSK / F को रिबूट पर "शेड्यूल" कैसे किया जाता है?


14

मैंने chkdsk /Fवर्षों में कई बार चलाया है ... और आज मुझे अपने 2008 R2 सर्वरों में से एक पर इसे चलाना पड़ा और मुझे सामान्य संदेश प्राप्त हुआ:

Chkdsk नहीं चल सकता क्योंकि वॉल्यूम किसी अन्य प्रक्रिया द्वारा उपयोग में है। अगली बार सिस्टम रीस्टार्ट होने के बाद क्या आप इस वॉल्यूम को शेड्यूल करना चाहेंगे? (Y / N) y

अगली बार सिस्टम के पुनरारंभ होने पर इस वॉल्यूम की जाँच की जाएगी।

मैंने यहां पर टेक्नेट डॉक को देखा है: http://technet.microsoft.com/en-us/library/cc730714.aspx साथ ही सामान्य Google खोज और टेक्नेट और साइट पर खोज करना: microsoft.com on google, लेकिन कर सकते हैं 'मैं क्या ढूँढ रहा हूँ ...

प्रश्न:

HOW / Windows पुनरारंभ पर इसे कहां शेड्यूल करता है? यह टास्क शेड्यूलर या रनऑन या समान में नहीं है, जो समझ में आता है कि अगर विंडोज को वॉल्यूम लॉक करने से पहले इसे चलाने की आवश्यकता है ... तो वास्तव में विंडोज ने यह "निर्धारित कार्य" कैसे सेट किया है ताकि सर्वर को इसके बारे में भी पता चल सके एक हफ्ते बाद रखरखाव खिड़की रिबूट के दौरान?

जवाबों:


19

महान प्रश्न। इसका उत्तर यह है कि VolumeDirtyबिट को वॉल्यूम पर सेट किया गया है, जिसे (मुझे मान लेना है) बूटअप के दौरान चेक किया गया है। संभवत: इसी तरह से इसकी जाँच की जाती है जब एक फ्लैश ड्राइव डाला जाता है और एक को पॉपअप मिलता है जो कहता है कि स्कैन या बिना स्कैन के जारी रखें

मैंने एक बार एक स्वचालित सर्वर के लिए एक chkdsk को शेड्यूल करने के तरीके के साथ आने का प्रयास किया था, जो कि volumedirtyपॉवरशेल स्क्रिप्ट ( dirtybitset = $true) के माध्यम से बिट सेट करके शून्य रखरखाव के पास था , लेकिन यह काम नहीं करेगा। मैं फिर से बता सकता हूं कि जैसा कि मेरे लिंक से प्रतीत होता है कि एक शेड्यूलऑटोचॉक है जो बस यही करता है और गंदे के साथ मिलकर काम करता है।

आगे का शोध यहाँ बताता है:

हर बार जब विंडोज स्टार्ट होता है, तो वॉल्यूम को थोड़ा सा सेट होने पर जांचने के लिए कर्नेल द्वारा Autochk.exe को सभी संस्करणों को स्कैन करने के लिए बुलाया जाता है। अगर गंदा बिट सेट है।

Microsoft टेक्नेट साइट और विकिपीडिया , जहाँ विकिपीडिया राज्यों autochk.exeमें क्या चल रहा है, यह समझाने में मदद करने के बारे में अधिक जानकारी यहाँ मिल सकती है:

एक बार सभी बूट और सिस्टम ड्राइवर लोड हो जाने के बाद, कर्नेल (सिस्टम थ्रेड) सेशन मैनेजर सबसिस्टम (smss..exe) शुरू करता है।

किसी भी फाइल को खोलने से पहले, Autochk को smss..exe द्वारा शुरू किया जाता है। ऑटोकॉक सभी ड्राइव्स की गणना करता है और उन्हें एक बार में यह देखने के लिए जांचता है कि क्या वे साफ-साफ अनमाउंट थे या नहीं। यदि ऑटोचेक निर्धारित करता है कि एक या अधिक वॉल्यूम गंदे हैं, तो यह स्वचालित रूप से चॉक को चलाएगा

विशेष रूप से यह तब दिखाई देता है जब आप निम्न रजिस्ट्री में देखते हैं:

HKLM \ System \ CurrentControlSet \ Control \ Session प्रबंधक

इसका एक मूल्य है BootExecuteकि autocheck autochk *जैसे कुछ से बदल जाता हैautocheck autochk /p \\??\C: autocheck autochk *


1
अहा ... ओके कूल मैं पाया गया अतिरिक्त विवरण मैं आपके उत्तर में जोड़ दूंगा ... धन्यवाद सर!
क्लेनर

1
संदर्भ के लिए: ऐसा प्रतीत होता है कि आप chkntfs /c %SystemDrive%सीधे रजिस्ट्री के साथ बगैर किसी रिबूट पर चेक करने के लिए बूट वॉल्यूम को शेड्यूल करने के लिए उपयोग कर सकते हैं । (बेशक, आपके पास इसे करने के लिए व्यवस्थापक अधिकार हैं।)
cHao

@cHao - आपको बिना परवाह किए सीधे रजिस्ट्री से हाथ धोना पड़ेगा। `chkdsk / f% SystemDrive% एक ही काम करता है। शायद मैं आपकी टिप्पणी का पालन नहीं कर रहा हूं।
क्लेनर

@ TheCleaner: chkntfs /cहालांकि, आपको "क्या आप शेड्यूल करना चाहेंगे ..." नहीं मिलता है? प्रेरित करना। उदाहरण के लिए, यदि आप एक निर्धारित कार्य के भाग के रूप में ड्राइव को गंदगी करना चाहते हैं तो यह एक महत्वपूर्ण अंतर हो सकता है।
cHao

2
@ MDMoore313: /cचेक शेड्यूल करने का विकल्प है। इसके बिना, chkntfsबस आपको बताएगा कि क्या एक चेक शेड्यूल किया गया है।
19
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.