كيفية إيقاف جهاز افتراضي Hyper-V عالق.
إنه عالق في وقف أو جري الدولة ولا يعطي أي إيقاف, اغلق, يحفظ, خيارات الإيقاف المؤقت أو إعادة الضبط.
إحدى الطرق التي يمكن من خلالها القضاء على هذا الجهاز الظاهري العالق هي فتحه مدير المهام وإنهاء المهمة المسؤولة عن تلك الآلة. للأسف, الأمر ليس بهذه البساطة لأن عملية عامل الآلة الافتراضية وهو المسؤول عن تشغيل الجهاز الظاهري يظهر عدة مرات, مرة واحدة لكل جهاز ضيف قيد التشغيل!
طريقة 1
إذا كان لديك عدد قليل من الأجهزة الافتراضية:
- يفتح مدير المهام وعرض تفاصيل فاتورة غير مدفوعة;
- سوف ترى الكثير vmwp.exe العمليات الجارية مع اسم المستخدم العمود بما في ذلك الجهازالمعرفات الفريدة العمومية (GUIDs).;
- انتقل إلى الموقع الذي تم تخزين الأجهزة الافتراضية فيه وافتح مجلد الجهاز الظاهري المعلق حاليًا. من هنا يمكننا العثور على ملف تكوين الجهاز وتدوين ملفGUID لتلك الآلة;
- الآن نحن نعرف أي GUID يتعلق بالجهاز الظاهري الذي نتطلع إلى إيقافه. انتقل مرة أخرى إلى مدير المهام, انقر بزر الماوس الأيمن على العملية الصحيحة, و إنهاء العملية.
ملحوظة: يجب استخدام هذه العملية فقط كملاذ أخير لأنها قد تتسبب في تلف الجهاز الظاهري!
طريقة 2
إذا كان لديك مجموعة من الأجهزة الافتراضية قيد التشغيل. أسرع طريقة هي العثور على VM GUID المطلوب باستخدام أمر PowerShell.
Get-VM <vmname> | fl *
الآن نحن نعرف أي GUID يتعلق بالجهاز الظاهري الذي نتطلع إلى إيقافه. انتقل مرة أخرى إلى مدير المهام, انقر بزر الماوس الأيمن على العملية الصحيحة, و إنهاء العملية.
يسحب هذا الأمر قائمة بأسماء الأجهزة الافتراضية والمعرفات الفريدة العمومية (GUIDs) ثم يقارنها بقائمة من المعرفات الفريدة العمومية (GUIDs) في سطر الأوامر للعمليات قيد التشغيل ويعيد أسماء الأجهزة الافتراضية مع معرف العملية المرتبط بها (لا دليل VM).
Get-WmiObject Win32_Process -Filter "Name like '%vmwp%'" | %{$vm=get-vm -id $_.CommandLine.split(" ")[1];"$($_.processID)`t$($vm.name)"}
طريقة 3
يستخدم مستكشف عملية Sysinternals.