यदि हाइपर-वी पर चलने वाली आपकी वर्चुअल मशीन किसी कारण से अटक जाती है, प्रतिक्रिया देने के लिए रुक जाती है और हाइपर-वी कंसोल में संबंधित बटन पर क्लिक करने के बाद स्टार्ट/स्टॉप/रीसेट नहीं होती है, तो इसे ठीक करने का एकमात्र तरीका जबरन मारना है। मेजबान ओएस पर इस वीएम के लिए जिम्मेदार प्रक्रिया। हम आपको दिखाएंगे कि कैसे पूरे होस्ट और सभी चल रहे वीएम (यदि आपके पास हाइपर-वी एचए क्लस्टर और लाइव-माइग्रेशन नहीं है) को रिबूट किए बिना विंडोज सर्वर 2016/2019 पर चल रहे हाइपर-वी वीएम को फिर से शुरू करने के लिए मजबूर किया जाए।
सामग्री:
- हाइपर-वी वीएम "स्टॉपिंग/स्टार्टिंग" स्थिति में फंस गया है
- हाइपर-V प्रबंधक "वर्चुअल मशीन प्रबंधन सेवा से कनेक्ट हो रहा है" पर अटक गया
- टास्क मैनेजर में हंग वीएम प्रोसेस को कैसे खत्म करें?
- पावरशेल का उपयोग करके फ्रोजन हाइपर-वीएम को मारना
- हाइपर-V:VM स्थिति बदलने में विफल
हाइपर-V VM "स्टॉपिंग/स्टार्टिंग" स्थिति में फंस गया है
मान लीजिए, आपका कोई Hyper-V VMs स्टॉपिंग . में फंस गया है (रोकना-महत्वपूर्ण) या शुरू करना (एक्स% से शुरू) स्थिति।
अतिथि OS प्रतिक्रिया नहीं देता है और हाइपर-V प्रबंधक में "बंद करें", "शट डाउन" और "रीसेट" बटन या तो अनुपलब्ध हैं, या दबाए जाने पर निम्न त्रुटि लौटाते हैं:
VM की स्थिति को बदलने का प्रयास करते समय एप्लिकेशन को एक त्रुटि का सामना करना पड़ा।स्थिति बदलने में विफल।
ऑब्जेक्ट अपनी वर्तमान स्थिति में होने पर ऑपरेशन नहीं किया जा सकता है।
हाइपर-V प्रबंधक "वर्चुअल मशीन प्रबंधन सेवा से कनेक्ट हो रहा है" पर अटक गया
यदि आपका हाइपर-वी हाइपर-वी प्रबंधक कंसोल में वर्चुअल मशीन नहीं दिखाता है, और "वर्चुअल मशीन प्रबंधन सेवा से कनेक्ट करना" त्रुटि देता है, तो आपको vmms.exe को पुनरारंभ करना होगा। (हाइपर-V वर्चुअल मशीन प्रबंधन सेवा ) प्रक्रिया। यह एक सुरक्षित संचालन है और चल रहे वीएम को बाधित नहीं करेगा। vmms.exe प्रक्रिया को पुनरारंभ करने का सबसे आसान तरीका services.msc कंसोल का उपयोग करके या PowerShell सेवा प्रबंधन cmdlets के साथ vmms सेवा के माध्यम से है:
Get-Service vmms | Restart-Service
टास्क मैनेजर में हंग VM प्रोसेस को कैसे खत्म करें?
पूरे हाइपर-वी होस्ट को रीबूट किए बिना ऐसे अटके हुए वीएम को शटडाउन पुनरारंभ करने के लिए मजबूर करने का एकमात्र तरीका अतिथि ओएस में इसके चल रहे वर्कफ़्लो को समाप्त करना है। Hyper-V होस्ट पर सभी VMs vmwp.exe . का उपयोग करके प्रारंभ किए गए हैं प्रक्रिया (वर्चुअल मशीन कार्यकर्ता प्रक्रिया ) किसी प्रक्रिया को खोजने के लिए, आपको वर्चुअल मशीन के GUID का पता लगाना होगा।
आप Hyper-V . के माध्यम से VM GUID प्राप्त कर सकते हैं प्रबंधक सांत्वना देना। हाइपर-V सर्वर सेटिंग खोलें. सर्वर अनुभाग में, VM कॉन्फ़िगरेशन फ़ाइलों का स्थान दिखाया गया है (हमारे मामले में यह D:\VMStore है)।
फ़ाइल एक्सप्लोरर में इस निर्देशिका को खोलें और फ़ोल्डर को उसी नाम से ढूंढें जो आपकी वर्चुअल मशीन के पास है। *.vmcx एक्सटेंशन के साथ VM कॉन्फ़िगरेशन फ़ाइल के नाम में निर्दिष्ट GUID की प्रतिलिपि बनाएँ।
कार्य चलाएं प्रबंधक और विवरण . पर जाएं टैब। सभी वर्चुअल मशीनें vmwp.exe . के अपने उदाहरण में चल रही हैं . यह निर्धारित करने के लिए कि आपके VM के लिए कौन सी प्रक्रिया जिम्मेदार है, आपको पहले प्राप्त किए गए VM के GUID की आवश्यकता है। vmwp.exe प्रक्रिया का पता लगाएँ जिसमें उपयोगकर्ता में आपके VM का GUID है नाम स्तंभ। इस प्रक्रिया को समाप्त करें (कार्य समाप्त करें )।
वर्चुअल मशीन को बंद करने के लिए मजबूर किया जाएगा। अब आप इसके साथ कुछ भी कर सकते हैं।
पावरशेल का उपयोग करके फ्रोजन हाइपर-वीएम को मारना
पावरशेल सीएलआई का उपयोग करके हैंग-अप वर्चुअल मशीन की प्रक्रिया को ढूंढना और मारना बहुत आसान है। PowerShell कंसोल को व्यवस्थापकीय विशेषाधिकारों के साथ चलाएँ (आपका खाता स्थानीय "हाइपर-V व्यवस्थापक" समूह में जोड़ा जाना चाहिए)।
इस मामले में, अंतर्निहित स्टॉप-वीएम cmdlet आपको VM को बंद नहीं करने देगा। यदि आपStop-VM -Force
को चलाने का प्रयास करते हैं आदेश, यह भी जम जाता है। जाहिर तौर पर वीएम की प्रतिक्रिया का इंतजार है। आपको वीएम प्रक्रिया को इसके GUID द्वारा मारने की भी आवश्यकता है। आप इसके नाम से VM GUID प्राप्त कर सकते हैं। उदाहरण के लिए, SVM-GUARDEDHOST1 नाम से VM का GUID प्राप्त करने के लिए, कमांड चलाएँ:
$VMGUID = (Get-VM "SVM-GUARDEDHOST1").ID
यदि आप VM का पूरा नाम नहीं लिखना चाहते हैं, तो आप इस हाइपर- V होस्ट पर पंजीकृत सभी VMs को सूचीबद्ध कर सकते हैं:
Get-VM | Select Name, Id
परिणामी सूची से अपना VM GUID कॉपी करें।
इस VMGUID के लिए vmwp.exe प्रक्रिया पहचानकर्ता (PID) खोजें:
$VMWMProc = (Get-WmiObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VMGUID})
फिर, स्टॉप-प्रोसेस कमांड का उपयोग करके, आपको इस प्रक्रिया को बलपूर्वक समाप्त करना होगा:
Stop-Process ($VMWMProc.ProcessId) –Force
हैंग-अप हाइपर-V वर्चुअल मशीन की कार्य प्रक्रिया को बलपूर्वक समाप्त करने का यह आसान तरीका है।
युक्ति . हमारे पास VMWare ESXi पर हैंग-अप VM की प्रक्रिया को समाप्त करने के समान तरीके का विवरण भी है।हाइपर-V:VM स्थिति बदलने में विफल
कभी-कभी ऐसा होता है कि हैंग-अप VM प्रक्रिया को समाप्त करने के बाद भी, आप VM को चालू नहीं कर सकते। इसके अलावा, यह एक त्रुटि के साथ प्रारंभिक स्थिति में जम जाता है:
Virtual Machine Connection Failed to Change State.
इस मामले में, निम्नलिखित विकल्पों की जाँच करें:
- जांचें कि उस डिस्क पर पर्याप्त खाली स्थान है जिस पर हाइपर-V VM फ़ाइलें संग्रहीत हैं;
- अगर VM सेटिंग में ISO इमेज कनेक्ट है, तो इसकी उपलब्धता की जांच करें;
- VM की नेटवर्क एडेप्टर सेटिंग्स की जाँच करें। वर्चुअल नेटवर्क एडेप्टर को मौजूदा हाइपर-वी वर्चुअल स्विच से जोड़ा जाना चाहिए (कोई स्थिति नेटवर्क एडेप्टर नहीं होना चाहिए - कॉन्फ़िगरेशन त्रुटि किसी भी एनआईसी के लिए);
- जांचें कि हाइपर-V वर्चुअल मैनेजमेंट सर्विस (VMMS) चल रही है और रुकने की स्थिति में नहीं अटकी है;
- सुनिश्चित करें कि आपका एंटीवायरस सॉफ़्टवेयर VM फ़ाइलों तक पहुंच को अवरुद्ध नहीं करता है। एंटीवायरस बहिष्करण के लिए VM निर्देशिका में पथ जोड़ें (कृपया जाँचें कि Windows Server 2016 पर अंतर्निहित Windows Defender एंटीवायरस में बहिष्करण कैसे जोड़ें);
- इवेंट व्यूअर में हाइपर-V संबंधी त्रुटियों की जांच करें -> एप्लिकेशन और सेवा लॉग -> माइक्रोसॉफ्ट -> विंडोज -> हाइपर-वी-वर्कर।