Hyper-V सीरियल पोर्ट कॉन्फ़गरेशन: चरण-दर-चरण निर्देश

हमने पहले ही समय निकालकर यह समझ लिया है कि वर्चुअल मशीन मे COMs तक कैसे पहुचे (आप लेख यहा पा सकते है) जबकि Serial to Ethernet Connector, Hyper-V मे COM के लिए सीरियल पोर्ट पासथ्रू का एक शानदार समाधान है, Hyper-V सीरियल पोर्ट मे COM पोर्ट जोड़ने के लिए कुछ अन्य विकल्पो को भी देखना उपयोगी हैजिन्हे हम नीचे कवर करेगे

Hyper-V मे सीरियल पोर्ट तक कैसे पहुचे

यदि आपको किसी वर्चुअल मशीन के सीरियल पोर्ट से कनेक्ट करने की आवश्यकता है, तो आपको Serial Port Redirector की आवश्यकता होगी इस टूल का उपयोग कैसे करे और वर्चुअल पोर्ट तक पहुचने के लिए इसका उपयोग कैसे करे, यह जानने के लिए इन चरणो का पालन करे:

1. सीरियल से ईथरनेट कनेक्टर प्राप्त करे वर्चुअल मशीन और होस्ट ऑपरेटिग सिस्टम दोनो पर।

2. VM मे ऐप खोलकर शुरू करे “Connections” मेनू खोले और “New Server Connection” चुने

नया सर्वर कनेक्शन

3. जिस पोर्ट को आप साझा करने जा रहे है, उसके बारे मे आवश्यक जानकारी भरे, जिसमे उसका नंबर और उससे कनेक्ट करने के लिए उपयोग किया जाने वाला TCP पोर्ट शामिल है

नोट: पोर्ट को वर्चुअल बनाने के लिए चेकबॉक्स पर टिक करे

सीरियल से ईथरनेट कनेक्टर - सर्वर COM पोर्ट बनाएं

4. “बनाएँ दबाएँ

5. अब, होस्ट मशीन पर Serial to Ethernet पर स्विच करे “Remote Connections” खोले

6. यदि सब कुछ सही तरीके से सेट किया गया था, तो वर्चुअल मशीन पोर्ट सूची मे दिखाई देना चाहिए। इसे चुने

7. क्लाइंट कनेक्शन विकल्प सेट करे, जैसे कि डेटा प्राप्त करने के लिए उपयोग किया जाने वाला पोर्ट।

8. “Create” को एक बार फिर दबाएँ, और आपका काम हो गया

वीडियो ट्यूटोरियल:

PipeDream के साथ सीरियल हार्डवेयर को वर्चुअल मशीन से कैसे कनेक्ट करे

वर्चुअल मशीन उपयोगकर्ताओं के लिए जो Hyper-V सीरियल पोर्ट्स मे COM पोर्ट जोड़ना चाहते है, PipeDream एक आदर्श विकल्प है Hyper-V मे यह सीरियल पोर्ट टूल उसी सर्वर के माध्यम से चलता है जो Hyper-V (जो एक वर्चुअलाइज़शन होस्ट है) को होस्ट करता है, और वर्चुअल मशीनो तथा सीरियल पोर्ट्स के बीच की खाई को पाटता है

PipeDream सीरियल हार्डवेयर (जो भी COM पोर्ट मे प्लग किया गया है) से प्राप्त डेटा को प्रसारित करके काम करता है, और वर्चुअल मशीन को उसे पहचानने और एक्सेस करने मे मदद करता है (और इसके विपरीत भी)।

इसके अतिरिक्त, PipeDream को सर्वर पर चलाने के लिए क्लाइंट-साइड तत्व की आवश्यकता नही होती, जिससे Hyper-V सीरियल सपोर्ट पासथ्रू और भी सुविधाजनक हो जाता है PipeDream को भाग लेने वाली वर्चुअल मशीन(ओं) पर किसी भी प्रकार का इंस्टॉलेशन (डिवाइस, सॉफ़टवेयर, या अन्य) आवश्यक नही होताजिससे लेगेसी OS/सॉफ़टवेयर संगतता अधिकतम होती है, और XP (और उससे पुराने) ऑपरेटिग सिस्टम्स के लिए विश्वसनीय समर्थन मिलता है

PipeDream अतिथि वर्चुअल मशीनो को वर्चुअलाइज़शन होस्ट (या अन्य मशीनो) पर सीरियल पोर्ट नियंत्रित करने की अनुमति देता है यह टूल Hyper-V के नामित पाइप समर्थन की बदौलत काम करता है, जिसका अर्थ है कि संचार के लिए नेटवर्क कनेक्शन आवश्यक नही है बस Hyper-V मे एक पाइप नाम बनाएं, और जब आप PipeDream प्रोग्राम शुरू करेगे तो PipeDream अतिथि VM के सीरियल डिवाइस से कनेक्ट हो जाएगा

अस्वीकरण: Hyper-V मे PipeDream सीरियल पोर्ट सॉफ़टवेयर Microsoft के Hyper-V के साथ संगत है, लेकिन यह Microsoft से कोई संबद्धता न रखने वाला तृतीय-पक्ष टूल है “Hyper-V” शब्द के हमारे उपयोग का उद्देश्य Microsoft Corporation का समर्थन करना या उससे संबद्ध होना नही है

जिनके पास Gen 1 Hyper-V वर्चुअल मशीन है उनके लिए

Hyper-V मे COM पोर्ट जोड़ने का तरीका सीखने के लिए नीचे दी गई चरण-दर-चरण मार्गदर्शिका का पालन करे

1. Hyper-V Manager चलाएँ और अतिथि मशीन की सेटिग्स (जिस VM को आप स्थापित करना चाहते है) खोले;

2. नई विडो से COM1 या COM2 चुने (जो बाईं ओर की हार्डवेयर सूची मे स्थित है);

3. यह सीरियल पोर्ट है जो वर्चुअल मशीन को आपकी पसंद के सीरियल डिवाइस तक पहुचने की अनुमति देता है (AKA VM मे दिखाई देने वाला पोर्ट होस्ट के भौतिक सीरियल पोर्ट से भिन्न हो सकता है);

4. “PipeDream” नामक पाइप को गेस्ट के सीरियल पोर्ट से कनेक्ट करे (यह Named pipe पर क्लिक करके करे, और पाइप के नाम के रूप मे “PipeDream” टाइप करेसंदर्भ के लिए नीचे दी गई छवि देखे);

5. जिनके पास किसी दूरस्थ कंप्यूटर पर सीरियल डिवाइस है, उनके लिए सुनिश्चित करे कि “दूरस्थ कंप्यूटर” चेकबॉक्स चयनित है, और मशीन का नाम दर्ज करे;

6. ठीक है पर क्लिक करे;

पाइप का नाम

Gen-2 वर्चुअल मशीनो के लिए कॉन्फ़गर कैसे करे

Gen-2 वर्चुअल मशीने चलाने वालो के लिए, ऊपर प्रदर्शित पाइप सेटिग्स GUI का उपयोग करके कॉन्फ़गर नही की जा सकती, इसलिए उपयोगकर्ताओं को PowerShell कमाड लागू करने होगे

1. एक Powershell सत्र खोले;

2. Get-VM निष्पादित करे;

3. इच्छित सीरियल पोर्ट वाली वर्चुअल मशीन का नाम कॉपी करे;

4. Set-VMComPort -Number < 1 या 2, सीरियल पोर्ट COM1 या COM2 के लिए > -Path \.pipePipeDream निष्पादित करे

5. पाइप निर्माण की पुष्टि करने के लिए Get-VMComPort का उपयोग करे (उदाहरण के लिए “SillyRabbit” नामक VM का उपयोग करके नीचे प्रदर्शित स्क्रीनशॉट देखे)।

पाइप निर्माण की पुष्टि करे

लेकिन Gen 2 VMs के लिए COM पोर्ट्स नही होते, सही?

साफ़ कहू तो, जवाब हा और ना का मिश्रण है (जिसमे “ना मुख्य रूप से डिफ़ल्ट Hyper-V सीरियल पोर्ट पासथ्रू क्षमताओं पर केद्रित है) रोमाचक खबर यह है कि, इसे समायोजित किया जा सकता है!

नीचे दिए गए स्क्रीनशॉट एक Windows 8 VM के है (विशेष रूप से पिछले सेक्शन मे बनाए गए मीडिया का उपयोग करते हुए, जहा सॉफ़टवेयर-आधारित कीबोर्ड के लिए ड्राइवर जोड़ गया था)

नीचे दिए गए उदाहरण मे, आप देखेगे कि एक बुनियादी gen-2 वर्चुअल मशीन की सेटिग्स मे COM पोर्ट विकल्प नही होते

हाइपर v सेटिग्स

इसका कारण यह है कि, चाहे सीरियल पोर्ट उपलब्ध हो या नही, Gen-2 Hyper-V Manager कभी भी COM पोर्ट प्रदर्शित नही करता

नीचे हम देखेगे कि PowerShell इस बारे मे क्या कहता है:

पावरशेल

ध्यान दे कि PowerShell दो उपलब्ध COM पोर्ट कैसे दिखाता है? हालाकि, यदि आप गेस्ट मशीन का डिवाइस मैनेजर खोलते है, तो VM के लिए कोई भी COM पोर्ट सूचीबद्ध नही होगे

वर्चुअल मशीन चल रही हो तब COM पोर्ट्स के लिए पाइप पथ कॉन्फ़गर करने हेतु नीचे दिए गए उदाहरण (COM1 का उपयोग करते हुए) को देखे:

पाइप पथ कॉन्फ़गर करे

जैसा कि पहले उल्लेख किया गया है, गेस्ट मशीन के डिवाइस मैनेजर की जाच करते समय COM1 प्रदर्शित नही होतालेकिन एक बार VM को बंद करके पुनः प्रारंभ कर दिया जाए, तो वाछित COM पोर्ट अब सूची मे उपलब्ध होगा (नीचे देखे)

डिवाइस मैनेजर कॉम पोर्ट

जो लोग कर्नल डिबगिग मे अनुभवी है, उनके लिए शेष प्रक्रिया काफ़ सरल और सीधी हैसिर्फ़ एक छोटे से अपवाद के साथ, जो Gen-2 VMs के लिए विशिष्ट है (और भी विशिष्ट रूप से Secure Boot का उपयोग करने वाले UEFI-आधारित कंप्यूटरो के लिए।)

msconfig के माध्यम से, हमने COM1 पर VM के लिए कर्नेल डीबगिग सक्षम की है हालाकि, जैसे ही हमने OK पर क्लिक किया, निम्नलिखित त्रुटि संदेश दिखाई देता है:

सिस्टम कॉन्फ़गरेशन

क्यो? क्योकि Window की नीति मे कहा गया है कि Secure Boot और kernel debugging संगत नही है इसका मतलब है कि उपयोगकर्ताओं को वर्चुअल मशीन बंद करनी चाहिए, फिर फर्मवेयर सेटिग्स के भीतर से Secure Boot को अक्षम करना चाहिए।

सिक्योर बूट सक्षम करे
  1. कर्नेल डिबगिग सक्षम करने के लिए msconfig का एक बार फिर उपयोग करे (इस बार सफल होगा);
  2. VM को पुनः आरंभ करे;
  3. पैरेट पार्टिशन के windbg के माध्यम से पाइप से कनेक्ट करे;
पाइप से कनेक्ट करे

निष्कर्ष

संक्षेप मे, यद्यपि Hyper-V वर्चुअल मशीनो को सीधे भौतिक COM पोर्ट पासथ्रू प्रदान नही करता, फिर भी नेम्ड पाइप्स, PowerShell कॉन्फ़गरेशन, और विशेष रीडायरेक्शन टूल्स का उपयोग करके सीरियल संचार प्राप्त किया जा सकता है ये तरीके Gen 1 और Gen 2 दोनो VM के साथ लीगेसी सॉफ़टवेयर सपोर्ट, हार्डवेयर इंटीग्रेशन, या डिबगिग जैसे कार्यो के लिए काम करना संभव बनाते है

जिन परिदृश्यो मे सीधे सीरियल एक्सेस व्यावहारिक नही है, वहा Serial to Ethernet Connector एक प्रभावी विकल्प हो सकता है सीरियल डेटा को नेटवर्क ट्रैफ़क मे परिवर्तित करके, ऐसे डिवाइस COM-आधारित उपकरणो को TCP/IP के माध्यम से एक्सेस करने और उन्हे वर्चुअल मशीनो के साथ आसानी से साझा करने की अनुमति देते है सीरियल पोर्ट रीडायरेक्शन सॉफ़टवेयर के साथ मिलकर, यह तरीका अधिक लचीलापन प्रदान करता है और वर्चुअलाइज़ड Hyper-V परिवेशो मे भौतिक सीरियल डिवाइसो तक पहुच को सरल बनाता है