איך לעצור מכונה וירטואלית ב-Hyper-V שאינה מגיבה

זה לא קורה תמיד, אך לפעמים מכונות וירטואליות של Hyper-V (VM) נתקעות כאשר אתה מנסה לכבות אותן. ואז אתה נתקל ב-VM במנהל ה- Hyper-V עם מצב 'סוגר' שאינה עונה יותר, ואי אפשר לסגור אותה באמצעות הפקודות הרגילות. אפילו הפקודה Stop-VM -Force ב-PowerShell אינה מועילה.

במצב כזה, עליך להיות קצת יצירתי בנוגע לסגירת ה-VM. אחת הדרכים היא לכבות את השרת שלך (או המחשב אם אתה משתמש ב- Hyper-V של לקוח). אך זו פיתרון דרכיה מהמדות. הדבר החשוב ביותר שתצטרך אם ברצונך לכפות סגירה של VM לא מגיבה, הוא מזהה ה-GUID של ה-VM. באמצעות ה-GUID, אתה יכול למצוא את מזהה התהליך של ה-CPU של ה-VM ולהרוג אותו.

לכפות סגירת מכונה וירטואלית של Hyper-V על ידי הריגת התהליך שלה

שימוש בשיטה שמתוארת למטה מומלץ רק אם ה-VM אינה תגוב לפקודת כיבוי ממנהל ה- Hyper-V או באמצעות פקודת ה- PowerShell Stop-VM -Force. יש להריץ את הפקודות הבאות ב- Windows PowerShell כמנהל מקומי. השיטה המתוארת למעלה דורשת את השימוש ב-Windows PowerShell. היא לא עובדת ב-PowerShell 6 וגרסאות מאוחרות יותר.

בשורת פקודה מורם של Windows PowerShell, התחל על ידי השימוש ב- Get-VM כדי למצוא את מזהה ה-GUID של ה-VM. תצטרך לדעת את שם ה-VM שאינה מגיבה כדי לעשות זאת. אם יש צורך לאשר את שם ה-VM, רק הפעל את Get-VM כדי לראות רשימה של כל ה-VMs הפועלות על המכשיר.

כאשר AD מורדם, כל דקה חשובה

A recent survey revealed 94% of organizations can't recover their Active Directory (AD) forest in minutes. Cayosoft offers the only instant AD forest recovery.

Learn More

Get-VM

לאחר שיש לך את שם ה-VM, יש להריץ את הפקודה למטה, כשנחליף 'Windows 11' בשם ה-VM שברצונך לעצור:

$VmGUID = (Get-VM 'Windows 11').id

השלב הבא הוא להשתמש ב-Get-WMIObject כדי למצוא את מזהה התהליך של ה-VM. כאן אנו משתמשים בתחום ה-שינוע לניהול של Windows (WMI) כדי למצוא תהליך CPU פועל שתואם את vmwp.exe ואת GUID ($VmGUID) של המכונה הווירטואלית שלנו.

$VMWMProc = (Get-WMIObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VmGUID})

לאחר שיש לנו את מזהה התהליך ($VMWMProc), אנו יכולים להשתמש בתכנית Stop-Process כדי להמתין אותו:

Stop-Process ($VMWMProc.ProcessId) –Force
How to Stop an Unresponsive Hyper-V Virtual Machine (Image Credit: Russell Smith)

לכפות על כל ה-VMs לכיבוי

הדרך השנייה שבה ניתן לכפות VM שאינה מגיבה להפסיק היא לעצור את שירות Hyper-V. אבל שיטה זו תכבה באופן כפייתי את כל ה-VMs הפועלות על השרת שלך. כמו בשיטה הקודמת, עליך להריץ את ה- פקודה הבאה בחלון PowerShell מורם, כלומר אחד שיש בו הרשאות מנהל מקומיות.

Get-Service vmms | Restart-Service

איתור מחדש של שירות Hyper-V (vmms) עשוי לדורש זמן רב. אז אל תדאג אם יידרשו מספר דקות לעצירתו ושיחזורו מחדש.

מאמרים קשורים:

Source:
https://petri.com/how-to-stop-an-unresponsive-hyper-v-virtual-machine/