जब Time Machine आपको ड्राइव eject नहीं करने देता
आपका Time Machine ड्राइव eject इसलिए नहीं हो रहा क्योंकि backupd या Spotlight अभी भी उसे एक्सेस कर रहा है। जानें कि ब्लॉक करने वाली प्रोसेस को कैसे पहचानें और ड्राइव को सुरक्षित तरीके से कैसे हटाएं।
आपका बैकअप पूरा हो चुका है। Time Machine दिखा रहा है कि काम खत्म हो गया। आप eject पर क्लिक करते हैं, और macOS कह देता है कि डिस्क अभी इस्तेमाल में है। जाना-पहचाना लगता है?
छोटा सा जवाब: आपका Time Machine ड्राइव eject इसलिए नहीं हो रहा क्योंकि
backupd(Time Machine का बैकग्राउंड डीमन) या Spotlight कीmds/mds_storesप्रोसेस अभी भी उसे इस्तेमाल कर रही हैं। पुष्टि के लिए Terminal मेंlsof /Volumes/YourDriveNameचलाएं, फिरsudo mdutil -i off "/Volumes/YourDriveName"से उस ड्राइव की Spotlight indexing बंद करें और दोबारा eject करके देखें। केबल को जबरदस्ती खींचने से आपका बैकअप खराब हो सकता है।
Time Machine ड्राइव के साथ यह दिक्कत बार-बार आती है, और Apple के बाकी मामलों में शानदार बैकअप सिस्टम का यह सबसे झुंझलाने वाला हिस्सा है। बैकअप तो पूरा हो जाता है, लेकिन कोई न कोई चीज़ ड्राइव को पकड़े रहती है। आप दो विकल्पों के बीच फंस जाते हैं: केबल खींच लें (ऐसा न करें) या किसी रहस्यमयी प्रोसेस के खत्म होने का अनिश्चित इंतज़ार करते रहें।
इसकी वजह लगभग हमेशा दो चीज़ों में से एक होती है: या तो backupd डीमन ने अभी तक ड्राइव को पूरी तरह छोड़ा नहीं है, या Spotlight आपके बैकअप को index करने में व्यस्त है। कभी-कभी दोनों ही कारण होते हैं।
backupd आपकी ड्राइव को क्यों पकड़े रखता है
Time Machine बैकअप को backupd नाम की एक बैकग्राउंड प्रोसेस संभालती है। जब आपको बैकअप का प्रोग्रेस बार पूरा होते दिखता है, तो बैकअप का दिखने वाला हिस्सा तो पूरा हो जाता है, लेकिन backupd अक्सर बैकग्राउंड में काम करता रहता है। हो सकता है वह metadata अपडेट कर रहा हो, बैकअप की integrity जांच रहा हो, या अस्थायी फाइलें साफ कर रहा हो।
Apple Silicon Mac पर backupd efficiency cores पर चलता है ताकि आपके काम पर असर कम से कम पड़े। परफॉर्मेंस के लिहाज़ से यह बढ़िया है, पर इसका मतलब यह भी है कि साफ-सफाई के काम आपकी उम्मीद से ज़्यादा समय ले सकते हैं। यह प्रोसेस जानबूझकर दखल न देने वाली बनाई गई है, जिसका कभी-कभी मतलब होता है कि यह धीमी है।
आप जांच सकते हैं कि backupd अभी भी सक्रिय है या नहीं — Activity Monitor खोलें और सर्च फ़ील्ड में “backup” लिखें। अगर वहां backupd या backupd-helper दिखे, तो समझ लें कि Time Machine ने अभी तक आपकी ड्राइव पूरी तरह नहीं छोड़ी है।
Spotlight मामले को और बिगाड़ देता है
यहां वह बात है जो ज़्यादातर लोगों को चौंका देती है: macOS, Spotlight से Time Machine बैकअप को भी index करता है। इससे आप सीधे Spotlight से अपने बैकअप के इतिहास में सर्च कर सकते हैं, जो किसी फाइल का पुराना वर्ज़न ढूंढते समय सचमुच काम का होता है।
दिक्कत यह है कि बैकअप पूरा होने के काफ़ी देर बाद तक Spotlight indexing चलती रह सकती है। mds और mds_stores प्रोसेस (Spotlight का Metadata Server) आपके बैकअप ड्राइव को कई मिनट तक — और बड़े बैकअप पर कभी-कभी घंटों तक — खंगालती रहती हैं।
आपको Activity Monitor में ये प्रोसेस आपके Time Machine वॉल्यूम को एक्सेस करती दिखेंगी। ये अपना जायज़ काम कर रही होती हैं, पर साथ ही आपको ड्राइव eject करने से रोक भी रही होती हैं। यही वही असली वजह है जो “disk in use” जैसी कई एरर के पीछे होती है — पूरी तस्वीर हम अपनी macOS disk in use समस्या-समाधान गाइड और खास Spotlight ejection समस्या वाली पोस्ट में समझाते हैं।
ejection को क्या रोक रहा है, इसे सुरक्षित तरीके से जांचने का तरीका
कुछ भी जबरदस्ती करने से पहले आपको यह पुष्टि कर लेनी चाहिए कि असल में आपकी ड्राइव को क्या एक्सेस कर रहा है। Terminal खोलें और चलाएं:
lsof /Volumes/YourDriveName
“YourDriveName” की जगह अपनी असली ड्राइव का नाम डालें। अगर उसमें स्पेस हैं, तो पूरे पाथ को quotes में लपेट दें:
lsof "/Volumes/Time Machine Backup"
यह कमांड उस वॉल्यूम पर खुली फाइलों वाली हर प्रोसेस की सूची दे देता है। नतीजों में आपको mds, mds_stores, backupd, या Finder दिखने की पूरी संभावना है। अब आपको ठीक-ठीक पता है कि किस पर ध्यान देना है। (lsof की और गहराई से जानकारी के लिए हमारी Mac यूज़र्स के लिए lsof कमांड गाइड देखें।)
Spotlight indexing को कुछ देर के लिए रोकना
अगर समस्या Spotlight की है, तो आप अपने बैकअप ड्राइव की indexing को अस्थायी रूप से बंद कर सकते हैं:
sudo mdutil -i off "/Volumes/YourDriveName"
यह उस खास वॉल्यूम को index करने से Spotlight को रोक देता है। कमांड पूरा होने के बाद दोबारा eject करके देखें। अब काम कर जाना चाहिए।
जब आप अगले बैकअप के लिए ड्राइव दोबारा कनेक्ट करें, तो आप indexing फिर से चालू कर सकते हैं:
sudo mdutil -i on "/Volumes/YourDriveName"
या अगर आप वैसे भी Spotlight से अपने Time Machine बैकअप में कभी सर्च नहीं करते, तो इसे बंद ही रहने दें। बहुत से यूज़र्स पाते हैं कि उन्हें इस फ़ीचर की ज़रूरत ही नहीं है और तेज़ ejection उन्हें ज़्यादा पसंद आती है।
मैनुअल चरण छोड़ें: Ejecta आपको ठीक-ठीक दिखाता है कि कौन सा process आपके drive को रोक रहा है — और सीधे आपके menu bar से एक क्लिक में उसे बंद कर देता है। और जानें →
चल रहे बैकअप को रोकना
अगर backupd अभी भी चल रहा है, तो सबसे साफ़-सुथरा हल यह है कि आप menu bar से Time Machine को रोक दें। Time Machine आइकन पर क्लिक करें और “Skip This Backup” या “Stop Backup” चुनें (शब्द macOS के वर्ज़न के हिसाब से बदलते हैं)। इससे सिस्टम को संकेत मिलता है कि वह जो कर रहा है उसे शालीनता से समेट ले।
रोकने के बाद एक-दो मिनट रुकें, फिर दोबारा eject करके देखें। ड्राइव छूट जानी चाहिए।
अगर आपके menu bar में Time Machine आइकन ही नहीं है, तो आप बैकअप को System Settings (या पुराने macOS वर्ज़न में System Preferences) से भी रोक सकते हैं। Time Machine सेटिंग्स में जाएं और उसे कुछ देर के लिए बंद कर दें।
जब और कुछ काम न आए
कभी-कभी कोई प्रोसेस छोड़ती ही नहीं। force-eject का सहारा लेने से पहले (हमने इस पर लिखा है कि क्या force-eject करना सुरक्षित है — छोटी सी बात: आमतौर पर ठीक रहता है, कभी-कभार नहीं), यह क्रम आज़माएं:
सबसे पहले, अपने यूज़र अकाउंट से log out करें और फिर से log in करें। इससे ज़्यादातर यूज़र-लेवल प्रोसेस बंद हो जाती हैं जो शायद फाइलें खुली रखे हुए हों।
अगर इससे काम न बने, तो आप Activity Monitor से खास प्रोसेस को force-quit कर सकते हैं। प्रोसेस चुनें, टूलबार में X बटन पर क्लिक करें, और Force Quit चुनें। सिस्टम प्रोसेस के साथ सावधान रहें, क्योंकि उन्हें बंद करने से सिस्टम अस्थिर हो सकता है।
आखिरी उपाय के तौर पर, पूरा restart करने से ड्राइव पक्का छूट जाएगी। अपने Mac को shut down करें, उसके पूरी तरह बंद होने का इंतज़ार करें, फिर ड्राइव हटाएं। यह हमेशा सुरक्षित है क्योंकि shutdown के दौरान macOS सभी बकाया writes को डिस्क पर लिख देता है।
Mac चालू रहते हुए केबल को कभी भी यूं ही न खींचें। Time Machine ड्राइव APFS (copy-on-write सुरक्षा के साथ) या HFS+ (journaling के साथ) इस्तेमाल करते हैं, जो corruption से बचाने में मदद करते हैं, पर किसी सक्रिय write के दौरान अचानक disconnect होने से फिर भी आपका बैकअप catalog खराब हो सकता है या बैकअप अधूरी हालत में रह सकता है।
एक तेज़ तरीका
अगर हर बार बैकअप ड्राइव निकालने के लिए Terminal कमांड और Activity Monitor में खंगालते-खंगालते आप थक चुके हैं, तो Ejecta यह सब अपने आप संभाल लेता है। यह आपके menu bar में बैठता है, ठीक-ठीक दिखाता है कि कौन सी प्रोसेस ejection को रोक रही हैं, और एक क्लिक में उन्हें बंद करने देता है।
खासकर Time Machine ड्राइव के लिए, Ejecta पहचान लेता है कि वजह backupd है, Spotlight indexing है, या कुछ और, और आपको ड्राइव को सुरक्षित तरीके से छोड़ने के लिए सटीक विकल्प देता है। न कोई Terminal कमांड याद रखना, न यह अंदाज़ा लगाना कि कौन सी प्रोसेस बंद करनी है।
आगे की ejection समस्याओं से बचाव
कुछ आदतें इस झंझट को कम कर सकती हैं।
बैकअप पूरा होने के बाद eject करने की कोशिश से पहले उसे कुछ मिनट का समय दें। प्रोग्रेस बार का पूरा होना यह नहीं बताता कि बैकग्राउंड का सारा काम भी खत्म हो गया। अगर आपको Spotlight से Time Machine बैकअप में सर्च करने की ज़रूरत नहीं है, तो अपने बैकअप ड्राइव को System Settings में Spotlight की privacy लिस्ट में जोड़ दें। इससे indexing पूरी तरह रुक जाती है और ejection काफ़ी तेज़ हो जाती है। आप बैकअप को ऐसे समय के लिए शेड्यूल करने पर भी विचार कर सकते हैं जब आपको ड्राइव फौरन हटाने की ज़रूरत न हो, जैसे रात में या लंच के दौरान।
Time Machine कभी-कभार की ejection परेशानी झेलने लायक है। भरोसेमंद बैकअप रखना इतना ज़रूरी है कि सिर्फ़ इसलिए इसे छोड़ा नहीं जा सकता क्योंकि eject की प्रक्रिया कभी-कभी खिझाती है। पर आपको यह अंदाज़ा लगाते रहने की ज़रूरत नहीं होनी चाहिए कि आपकी ड्राइव को क्या रोक रहा है, और न ही गलत तरीके से disconnect करने से corruption की चिंता करनी चाहिए। सही औज़ार पूरी प्रक्रिया को बिना तकलीफ़ के बना देते हैं।
अगर आप हर बार Terminal इस्तेमाल नहीं करना चाहते, तो Ejecta आपको ठीक-ठीक दिखाता है कि कौन सा process आपके drive को रोक रहा है — और सीधे आपके menu bar से एक क्लिक में उसे बंद कर देता है।
अभी खरीदें — $9.99