विंडोज में, कुछ ड्राइव को एक्सेस करने से कुछ प्रक्रियाओं को अवरुद्ध करने का कोई मूल समर्थित तरीका नहीं है, जो "वर्तमान प्रकृति के खिलाफ" जाता है कि ऑपरेटिंग सिस्टम ड्राइव एक्सेस को कैसे संभालता है।
एक्सेस का अधिकार उपयोगकर्ता के अधिकारों पर लॉग द्वारा निर्धारित किया जाता है जो आवेदन शुरू करता है। इसलिए यदि सॉफ़्टवेयर डेवलपर ने फैसला किया है कि उसके सॉफ़्टवेयर को सभी सुलभ ड्राइव की खोज करनी चाहिए और आपको इसे बंद करने का विकल्प नहीं देता है ... ठीक है, यह खराब प्रोग्रामिंग है जो आपके विशेष उपयोग के मामले पर विचार नहीं करता है। लेकिन कुछ वर्कअराउंड हैं।
एकमात्र "सुनिश्चित" समाधान 2 है, क्योंकि हार्डवेयर वर्चुअलाइजेशन परत (आभासी मशीन से) पूरी तरह से "वास्तविक हार्डवेयर" तक पहुंचने के प्रयास के लिए किसी भी एप्लिकेशन को ब्लॉक कर सकती है। हालांकि मेरे पास ऐसा मामला नहीं है जहां समाधान 1 काम नहीं करता है, लेकिन सैद्धांतिक रूप से मुझे लगता है कि इसे बाईपास किया जा सकता है।
विकल्प "1" - ड्राइव को "निम्न स्तर" पर अक्षम करना - कोई अतिरिक्त सॉफ़्टवेयर की आवश्यकता नहीं है
विकल्प 1 ए
ड्राइव को पूरी तरह से अक्षम करके निचली परत पर वॉल्यूम को अक्षम करना संभव है, लेकिन यह ड्राइव पर सभी संस्करणों को अक्षम कर देगा। मैन्युअल रूप से, आप इसे शुरू करके कर सकते हैं diskmgmt.msc
, फिर ड्राइव पर राइट क्लिक करें और इसे "ऑफ़लाइन" चिह्नित करें।
यदि आवश्यक हो, तो आपको कमांड लाइन स्क्रिप्ट का उपयोग करने के साथ-साथ ऐसा करने में सक्षम होना चाहिए। इसे विकल्प 3 ए / बी के समान लागू किया जाएगा। आप ऐसा कर सकते हैं, उदाहरण के लिए, यहाँ वर्णित के रूप में cmd के माध्यम से या PowerShell के माध्यम से, जैसा कि यहाँ वर्णित है ।
विकल्प 1 बी
आप ड्राइव के ड्राइवर को पूरी तरह से निष्क्रिय कर सकते हैं। मैन्युअल रूप से करने के लिए: प्रारंभ करें diskmgmt.msc
, फिर राइट क्लिक करें, "विकल्प" चुनें। फिर "ड्राइवर" -टैब पर जाएं और "निष्क्रिय करें" चुनें। डिस्क प्रबंधक में ड्राइव "गायब" हो जाएगा और ऑपरेटिंग सिस्टम के माध्यम से अब सुलभ नहीं होगा। जब तक सॉफ़्टवेयर हार्डवेयर के साथ सीधे संवाद करने के लिए मशीन कोड कमांड निष्पादित नहीं करता है, तब तक ड्राइव को एक्सेस करने के लिए एप्लिकेशन के लिए कोई रास्ता नहीं होना चाहिए। कम से कम जहाँ तक ऑपरेटिंग सिस्टम के लिए भारतीय नौसेना पोत और बहिष्कार का मेरा ज्ञान है।
यदि आवश्यक हो, तो आपको कमांड लाइन स्क्रिप्ट का उपयोग करने के साथ-साथ ऐसा करने में सक्षम होना चाहिए। उदाहरण के लिए, इसका उपयोग विकल्प 3a / b के समान किया जाएगा Devcon.exe
। आप यहां विस्तृत विवरण पा सकते हैं ।
विकल्प 2 - आभासी वातावरण का उपयोग करना (ज्यादातर 3rd पार्टी सॉफ्टवेयर के साथ)
यदि आभासी वातावरण में एप्लिकेशन चलाना सभी में एक विकल्प है, तो वहाँ बहुत सारे समाधान हैं:
आपके विंडोज संस्करण (Win7 और ऊपर की आवश्यकता) और लाइसेंस ("व्यावसायिक" की आवश्यकता, "होम" नहीं करेगा) के आधार पर, आप किसी भी तीसरे पक्ष के सॉफ़्टवेयर के बिना वर्चुअल वातावरण सेट करने के लिए हाइपर- V का उपयोग कर सकते हैं।
आप वर्चुअल सिस्टम जैसे VMplayer, Virtual Box आदि को सेट करने के लिए थर्ड पार्टी सॉफ्टवेयर का उपयोग कर सकते हैं। कई फ्रीवेयर और पेवेयर विकल्प हैं। इस समाधान का उपयोग करके, आपको विंडोज के लिए दूसरे लाइसेंस की आवश्यकता होगी (या आप इसे बिना लाइसेंस के छोड़ दें, लेकिन फिर आपको स्क्रीन के निचले दाएं कोने में एक ओवरले मिलेगा जो आपको विंडोज को पंजीकृत करने के लिए बताएगा)। यह निश्चित रूप से सॉफ़्टवेयर को ड्राइव तक पहुंचने से रोक देगा।
आप "सैंडबॉक्स" का उपयोग कर सकते हैं। लेकिन यह सैंडबॉक्स-एप्लिकेशन ऑफ़र के कुंवारीकरण के स्तर पर निर्भर करेगा। कुछ मामलों में, यह समस्या को हल कर सकता है; अन्य मामलों में, यह नहीं है। उदाहरण के लिए, सैंडबॉक्स, (एक हर्मीमेक उसके उत्तर में वर्णन करता है), अपने (मूल) उत्तर में वर्णित कॉन्फ़िगरेशन हैरिमेक के साथ समस्या को हल नहीं करता है। हालाँकि, सॉफ़्टवेयर पहुँच को अवरुद्ध कर सकता है, लेकिन फिर भी ड्राइव ठीक हो जाएगा। एक वैकल्पिक सैंडबॉक्स एप्लिकेशन जैसे कैमियो आदि का उपयोग करना होगा।
वैसे, यहां विभिन्न वर्चुअलाइजेशन सॉफ्टवेयर के बीच मुख्य अंतर के लिए एक अच्छा लेख है , विशेष रूप से "पूरे" वर्चुअल मशीन (जैसे वर्चुअल बॉक्स) या "अर्ध आभासी" अनुप्रयोगों (जैसे सैंडबॉक्स) के बीच का अंतर।
विकल्प 3 - सिर्फ वॉल्यूम को अनमाउंट करना (ड्राइव को "बरकरार" छोड़ना) - कोई अतिरिक्त सॉफ़्टवेयर की आवश्यकता नहीं है, लेकिन यह आपके मामले में काम नहीं कर सकता है
विकल्प 3 ए
एप्लिकेशन को उसके नियमित शॉर्टकट के माध्यम से शुरू करने के बजाय, आप कमांड का उपयोग करके एक बैच फ़ाइल लिख सकते हैं mountvol
जो पहले अप्रयुक्त मात्रा को अनमाउंट करता है, फिर एप्लिकेशन को शुरू करता है, और उसके बाद वॉल्यूम को रिमूव करता है, जब एप्लिकेशन अब ड्राइव को एक्सेस नहीं करता है। कमांड लाइन के माध्यम से बढ़ते / अनमाउंटिंग प्रक्रिया को यहां और यहां वर्णित किया गया है । आप यहां और यहांdiskpart
बताए अनुसार भी इस्तेमाल कर सकते हैं ।
विकल्प 3 बी
वैकल्पिक रूप से, आप बस ड्राइव को सामान्य रूप से अनकाउंटेड छोड़ सकते हैं और इसे उस बैच फ़ाइल के माध्यम से माउंट कर सकते हैं जो उस ड्राइव को माउंट करता है जिसे आप मैन्युअल रूप से आवश्यकतानुसार शुरू करते हैं। इसका उपयोग करने के बाद, आप दूसरी बैच फ़ाइल का उपयोग करके इसे मैन्युअल रूप से अनमाउंट कर सकते हैं। आप फ़ाइल सिस्टम एक्सेस अनुरोधों की निगरानी करके और कुछ नियमों का पालन करके ड्राइव को माउंट / अनमाउंट कर सकते हैं जैसे कि कुछ एप्लिकेशन तक पहुंच नहीं होगी। लेकिन मुझे यकीन नहीं है कि स्वचालन अतिरिक्त प्रयास के लायक है।
विकल्प 4 - ड्राइव-अक्षर (वॉल्यूम) तक पहुंच को प्रतिबंधित करना। करने के लिए सरल है, लेकिन Microsoft से दो छोटे उपकरणों की जरूरत है - लेकिन यह आपके मामले में काम नहीं कर सकता है
यदि आप इसे 3rd पार्टी सॉफ्टवेयर के बिना करना चाहते हैं, लेकिन Microsoft से दो छोटे टूल का उपयोग करने का मन नहीं है (यदि आप पहले से इसका उपयोग नहीं करते हैं)। मैं इस समाधान को पसंद करता हूं क्योंकि इसे समस्या "रूट द्वारा" मिलती है (उपयोगकर्ता और एप्लिकेशन के अधिकारों के बीच अंतर) और यह काफी सरल है और "बड़े" तीसरे पक्ष के सॉफ़्टवेयर की आवश्यकता नहीं है।
असल में, आप एक उपयोगकर्ता को ड्राइव तक नहीं पहुंच के साथ जोड़ते हैं और फिर आप उन सीमित अधिकारों के साथ कार्यक्रम शुरू करते हैं (आप अभी भी अपने नियमित उपयोगकर्ता के रूप में लॉग ऑन करेंगे, आप लॉग ऑन करने के लिए प्रतिबंधित खाते का उपयोग नहीं करेंगे)।
एक उपयोगकर्ता खाता जोड़ें।
फ़ाइल सिस्टम के लिए विंडोज एक्सेस कंट्रोल का उपयोग करके ड्राइव पर नए उपयोगकर्ता खाते की पहुंच को प्रतिबंधित करें। यहाँ स्क्रीनशॉट को शामिल करने का एक अच्छा तरीका है ।
फिर, उन अधिकारों के साथ सॉफ़्टवेयर शुरू करें। उदाहरण के लिए, आप ऐसा करने के लिए PsExec.exe का उपयोग कर सकते हैं या प्रोसेस कर सकते हैं, यहाँ बताया गया है । उन दो में से एक आपको Microsoft वेबसाइट से डाउनलोड करना होगा, अगर आपके पास पहले से नहीं है।