क्या विंडोज के तहत एक भौतिक विभाजन तक विशेष पहुंच प्राप्त करने का एक साफ तरीका है?


11

मैं कोशिश कर रहा हूं, विंडोज 7 के तहत, एक भौतिक विभाजन पर स्थापित ओएस से VMWare प्लेयर के साथ एक वर्चुअल मशीन चलाने के लिए। हालाँकि, जब मैं वर्चुअल मशीन को बूट करता हूं, तो VMWare Player का कहना है कि यह लिखने के लिए भौतिक ड्राइव तक नहीं पहुंच सकता है।

यह VMWare समुदाय में एक आम तौर पर स्वीकार की गई समस्या लगती है, क्योंकि Windows Vista ने एक आकर्षक नई सुरक्षा सुविधा शुरू की है जो पहले एक विशेष पहुंच प्राप्त किए बिना एक कच्ची ड्राइव पर लिखना असंभव बनाता है।

मैंने इस मुद्दे पर ध्यान दिया है और कुछ वर्कअराउंड पाया है। हालांकि, स्वच्छ वाले पूरे भौतिक डिस्क पर, और विभाजन पर न केवल काम करने लगते हैं।

तो मैं गंदे समाधान के साथ छोड़ दिया जाएगा । संक्षेप में, यह एमबीआर के साथ उपयोग करने वाले विभाजनों के किसी भी निशान को मिटाने के लिए ध्यान केंद्रित करता है, विंडोज को उनके बारे में भूल जाता है, फिर एमबीआर को पुनर्स्थापित करता है ताकि हम वीएम को लॉन्च कर सकें।

मुझे यकीन नहीं है कि मैं ऐसा करना चाहता हूं। वहाँ एक रास्ता है VMWare मुझे इसे दूर करने के लिए आवश्यकता के बिना विभाजन के लिए विशेष पहुँच प्राप्त करने के लिए? मैं जो ढूंढ रहा हूं, मुझे लगता है, यह पूरी शारीरिक ड्राइव के बजाय सिर्फ विभाजन को ऑफ़लाइन रखने का एक तरीका है।


इनाम से संबंधित अधिक जानकारी

मेरे पास एक ड्यूल-बूट सेटअप है: मैक ओएस मेरा प्राथमिक ऑपरेटिंग सिस्टम है, और मेरे पास विंडोज भी है। जब तक मैं रिबूट नहीं करना चाहता, तो मैं एक वर्चुअल मशीन में विंडोज चला सकता हूं, मैं विंडोज के तहत मैक ओएस को वर्चुअल मशीन में चलाने में सक्षम होना चाहता हूं।

मेरा लक्ष्य Windows के तहत VMWare से अपने मुख्य मैक ओएस विभाजन को चलाना है, जैसे मैं VMWare फ्यूजन से विंडोज चलाता हूं। (चूंकि यह मेरा मुख्य ओएस है, मैं कर्नेल को पैच करने की योजना नहीं बनाता हूं या जो भी इसे वर्चुअल मशीन में काम करने के लिए मिलता है।) मैंने VMWare फ्यूजन से वर्चुअल मशीन बनाई है (क्योंकि इसमें "मैक ओएस एक्स सर्वर" वीएम प्रकार है। ) तो इसे विंडोज में स्थानांतरित कर दिया और VMWare प्लेयर से इसे संशोधित किया। लगभग काम करने लगता है, जैसे ओएस लोडिंग स्क्रीन पर जाता है और फिर वीएम मर जाता है क्योंकि यह एक्सेस नहीं कर सकता है \\.\PhysicalDrive0

वर्चुअल बॉक्स और भी अधिक विफल रहता है, क्योंकि यह मैक ओएस को वर्बोज़ मोड में शुरू करता है और बहुत तेज़ी से क्रैश होता है (लेकिन लगता है कि विभाजन को एक्सेस करने में सक्षम है), इसलिए मुझे लगता है कि वर्चुअल बॉक्स को चलाने के लिए वीएमवेयर को मेरे विभाजन तक पहुंचाना आसान होगा यह।

कानूनी पक्ष पर, मैं एक Apple-लेबल मशीन पर Mac OS X की एक प्रति चलाऊंगा, इसलिए मैं ठीक हूं।


दिलचस्प समस्या है। क्या यह काम करता है यदि आप एक खाली, बिना विभाजन के निर्माण करते हैं?
nhinkle

@ मेरे पास कोई अतिरिक्त विभाजन कक्ष नहीं है जिसे मैं अपने आंतरिक ड्राइव पर परीक्षण कर सकता हूं। हालाँकि, जो मैंने पढ़ा है, उससे ऐसा लगता है कि विंडोज किसी भी विभाजन को लॉक कर सकता है जिसे वह पहचान सकता है; और मैं पुष्टि कर सकता हूं कि यह अभी भी उन लोगों को लॉक करेगा जिनके पास कोई आरोह बिंदु नहीं है।
ज़ीनक

@zneak: मैंने पिछले TrueCrypt में विंडोज प्रतिबंधों के आसपास काम करने के लिए उपयोग किया है। जैसा कि इसका अपना डिस्क ड्राइवर है, यह डिस्क पर लिखने में सक्षम हो सकता है। आप किसी TrueCrypt वर्चुअल डिस्क में विभाजन बनाने की कोशिश क्यों नहीं करते?
हरिके

@harrymc मैंने कोशिश नहीं की है। क्या मुझे अपने मैक ओएस विभाजन को एन्क्रिप्ट करने की आवश्यकता है?
18

आपको विभाजन पर एक TrueCrypt वॉल्यूम (सभी सामग्री को खोना) बनाने की आवश्यकता होगी। यह कैसे दिखाने में मदद कर सकता है, लेकिन ट्रू क्रिप्ट मदद भी देखें।
१ry:३५ पर harrymc

जवाबों:


5

मैं केवल एक ही संभव समाधान भर में आया हूं, डिवियो (रिमोट ड्राइव एक्सेस और अधिग्रहण) के साथ एक साथ मुफ्त वर्चुअल डिस्क ड्रायवर इम्दिस्क का उपयोग कर रहा हूं । जैसा कि imdisk एक कर्नेल ड्राइवर है, यह विभाजन में लिखने में सक्षम हो सकता है। दुर्भाग्य से, जैसा कि डिवियो उपयोगकर्ता-मोड में काम करता है, मुझे भी यकीन नहीं है कि यह दृष्टिकोण आपके लिए काम करेगा या नहीं।

devio एक भौतिक विभाजन प्राप्त कर सकता है और इसे नेटवर्क पर प्रकाशित कर सकता है। उदाहरण के लिए:

devio -r 9000 \\.\PhysicalDrive0 2

पहली डिस्क से दूसरे विभाजन को TCP पोर्ट 9000 पर प्रकाशित करता है, और इस पोर्ट पर कनेक्शन के लिए प्रतीक्षा करेगा। इसे परीक्षण करते समय फ़ायरवॉल को बेहतर तरीके से अक्षम करें, और व्यवस्थापक के रूप में डिवियो चलाएं।

इस प्रकाशित विभाजन को नए और स्टैंड-अलोन हार्ड डिस्क के रूप में परिभाषित करने के लिए, उपयोग करें:

imdisk -a -t proxy -o ip -f 127.0.0.1 -m R:

जो कि लोकलहोस्ट का उपयोग करते हुए R नामक एक नई हार्ड डिस्क बनाएगा जो किसी भी चीज़ का विभाजन नहीं है। अब आप कोशिश कर सकते हैं कि आप VMware वर्चुअल मशीन में प्रेटेंड रियल हार्ड डिस्क R का उपयोग कर सकते हैं या नहीं।

इस दृष्टिकोण को देवियो में विस्तार से बताया गया है : रिमोट ड्राइव एक्सेस और अधिग्रहण

यदि यह काम नहीं करता है, तो आपको या तो करना होगा:

  1. एक खतरनाक समाधान स्वीकार करें जो एमबीआर को संशोधित करता है।
  2. विंडोज अनुप्रयोगों के माध्यम से मैक विभाजन में फ़ाइलों का उपयोग करके, वीएम के रूप में विन 7 के भीतर मैकओएस का उपयोग करना छोड़ दें (अंत में वर्ण समस्याओं के साथ)।
  3. वर्चुअल फ़ाइल सिस्टम उत्पाद का उपयोग करें, जैसे कि ELDOS कॉलबैक फ़ाइल सिस्टम , हालांकि मुझे संदेह है कि यह समस्या आपके लिए कुछ हज़ार डॉलर के लायक है।
  4. विंडोज 7 को त्यागें और XP में डाउनग्रेड करें।
  5. Imdisk के स्रोत को संशोधित करें ताकि कर्नेल चालक के रूप में यह सीधे डिवियो की आवश्यकता के बिना भौतिक विभाजन पर एक दिखावा डिस्क बनाएगा।

यदि ठीक से किया जाता है, तो एमबीआर को संपादित करना बहुत बड़ा खतरा नहीं होना चाहिए। यहां तक ​​कि अगर यह भ्रष्ट हो गया, तो यह प्राथमिक ओएस विभाजन नहीं है, इसलिए कौन परवाह करता है? आप इसे आसानी से ठीक कर सकते हैं!
ब्रेकथ्रू

@ मुझे लगता है कि आप इस तथ्य को याद करते हैं कि दोनों OS एक ही डिस्क पर हैं।
4

@zneak: मुझे लगता है कि @Breakthrough सही है - ऐसे कई कार्यक्रम हैं जो आपातकाल में MBR को बचा सकते हैं और फिर बहाल कर सकते हैं।
harrymc

इसके अलावा, सिर्फ रिकॉर्ड के लिए, VMWare दुर्भाग्य से imdisk से वर्चुअल ड्राइव का उपयोग नहीं कर सकता है।
22

यह सही है, क्योंकि ImDisk NT माउंट प्रबंधक के साथ IOCTL_MOUNTMGR_CREATE_POINT नियंत्रण कोड का उपयोग करके सही ढंग से पंजीकरण नहीं करता है ; इसके बजाय यह सीधे ड्राइव अक्षर के लिए एक प्रतीकात्मक लिंक बनाता है, और निश्चित रूप से कर्नेल एक वैध मात्रा नहीं मानता है। मैंने इसे पहले काम करने की कोशिश की है, लेकिन मैं ज्यादा सफल नहीं हुआ। (यह एक ही कारण है कि आप एक VHD बढ़ते के लिए ImDisk वॉल्यूम का उपयोग क्यों नहीं कर सकते।)
user541686

2

यह इस बात पर निर्भर करता है कि आप इस काम को करने के लिए कितने बेताब हैं, लेकिन मैं कहूंगा कि यह "सिर्फ" दो "आसान" (पढ़ें: क्रूर) चरणों के साथ संभव है:

  1. (अर्ध -?) प्रलेखित ध्वज का उपयोग करके, विंडोज द्वारा निर्धारित प्रतिबंध को बायपास करने के लिए एक ड्राइवर लिखें SL_FORCE_DIRECT_WRITE

  2. EasyHook जैसी लाइब्रेरी का उपयोग करके VMWare से हुक करें CreateFileऔर / या WriteFileकॉल करें (मैंने आपको बताया था कि यह आसान था!) ​​अपने ड्राइवर के साथ मैन्युअल रूप से फ़ाइल के साथ संवाद करने के लिए, शायद ड्राइवर के साथ संचार कर ।DeviceIoControl

यह वास्तव में बुरा नहीं लगता है, अगर आपको पता है कि प्रतिबंधों को दरकिनार करने के लिए जानकारी कहाँ से देखी जाए ... मैंने खुद को IOCTL_SCSI_PASS_THROUGHकॉल की जांच करने के लिए नीरो की तरह आवेदन किया है ताकि मैं अपनी खुद की सीडी बर्नर लाइब्रेरी बना सकूं , और यह बहुत मुश्किल नहीं होगा; ड्राइवर लिखना कठिन हिस्सा होगा, लेकिन प्रबंधनीय होगा।


संपादित करें:

मुझे लगता है कि आप पहले से ही इसका पता लगा रहे हैं, लेकिन आपको जिस संरचना को संशोधित करने की आवश्यकता है, उसे इसके लिए FLT_IO_PARAMETER_BLAT कहा जाता है IRP_MJ_READ। यह निश्चित नहीं है कि यह कितना आसान होगा, लेकिन यह बहुत कठिन नहीं होना चाहिए।


सुनने में अच्छा लग रहा हैं। मैं कल उस पर गौर करूंगा।
जंक

@zneak: यदि आप मेरे उत्तर को देखते हैं, तो imdisk एक उपलब्ध ओपन-सोर्स वर्चुअल डिस्क ड्रायवर है, जो लगभग वही है जो आप चाहते हैं।
15

@ मेहरदाद मुझे एक समान समस्या है, क्या आप मेरी मदद कर सकते हैं? CreateFile: प्रशासक के विशेषाधिकारों के साथ भी "प्रवेश निषेध है" - Win7
अली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.