วิธีเริ่มและหยุด Hyper-V VM โดยใช้ PowerShell

Withi Reim Laea Hyud Hyper V Vm Doy Chi Powershell



หลังจากที่คุณ ติดตั้งหรือเปิดใช้งาน Hyper-V บนเครื่องโฮสต์ Windows 11 หรือ Windows 10 คุณสามารถทำได้ สร้าง VM เพื่อเรียกใช้ระบบปฏิบัติการอื่น (guest OS) เพื่อวัตถุประสงค์ต่างๆ ในโพสต์นี้เราจะแสดงให้คุณเห็น วิธีเริ่มและหยุด Hyper-V VM โดยใช้ PowerShell .



  วิธีเริ่มและหยุด Hyper-V VM โดยใช้ PowerShell





วิธีเริ่มและหยุด Hyper-V VM โดยใช้ PowerShell

สามารถใช้ตัวจัดการ Hyper-V เพื่อเริ่มและหยุดเครื่องเสมือนของคุณด้วยตนเอง เดอะ เริ่มต้น-VM และ หยุด VM cmdlet ใน PowerShell เริ่ม/หยุดเครื่องเสมือน สามารถใช้ cmdlets ที่มีอยู่ในโมดูล Hyper-V เพื่อเริ่ม/หยุดเครื่องเสมือนตั้งแต่หนึ่งเครื่องขึ้นไปที่ทำงานบนโฮสต์ Hyper-V





หากต้องการเริ่มหรือหยุดเครื่องเสมือนใน Hyper-V โดยใช้ PowerShell ให้เรียกใช้ cmdlet ที่สอดคล้องกันต่อไปนี้ คำสั่งเริ่ม/หยุดเครื่องเสมือน วีเอ็ม-1 ระบุโดยพารามิเตอร์ VMName



Start-VM -VMName VM-1
Stop-VM -VMName VM-1

โดยค่าเริ่มต้น เริ่มต้น-VM cmdlet ไม่ส่งคืนผลลัพธ์ใด ๆ ดังนั้นคุณสามารถใช้ -พาสทรู พารามิเตอร์เพื่อสร้างเอาต์พุตและส่งผ่านไปป์ไลน์แล้วใช้ รับ VM cmdlet เพื่อคืนสถานะของ VM ไวยากรณ์ที่เกี่ยวข้องควรมีลักษณะดังนี้:

ปัญหาสี vlc
Start-VM -VMName VM-1 -Passthru | Get-VM

หากต้องการบันทึกสถานะ VM และหยุด คุณจะต้องใช้ไฟล์ -บันทึก พารามิเตอร์ที่แสดงด้านล่าง:

Stop-VM -VMName VM-1 -Save

หากต้องการเริ่มหรือหยุดเครื่องเสมือนมากกว่าหนึ่งเครื่องใน Hyper-V โดยใช้ PowerShell ให้เรียกใช้ cmdlet ที่เกี่ยวข้องต่อไปนี้ คำสั่งจะเริ่ม/หยุดเครื่องเสมือนทั้งหมดที่มีชื่อขึ้นต้นด้วย VM



Start-VM -VMName VM*
Stop-VM -VMName VM*

อ่าน : วิธีการติดตั้ง Linux Ubuntu บน Hyper-V

วิธีหยุด Hyper-V VM ที่ไม่ตอบสนอง

ในบางครั้ง อาจเป็นไปได้ว่าเครื่องเสมือน Hyper-V ของคุณหยุดทำงานเมื่อคุณพยายามปิดเครื่อง เมื่อปัญหานี้เกิดขึ้นใน Hyper-V Manager คุณจะเห็น VM ที่ได้รับผลกระทบซึ่งมีสถานะเป็น ปิด ที่ไม่ตอบสนองอีกต่อไป นอกจากนี้ คุณไม่สามารถบังคับปิด VM โดยใช้ PowerShell หยุด-VM-Force หรือใช้การควบคุมปกติ เพราะเมื่อระบบปฏิบัติการเกสต์หยุดตอบสนอง ปิด , ปิดตัวลง, และ รีเซ็ต ปุ่มต่างๆ ในตัวจัดการ Hyper-V จะเป็นสีเทา และส่งกลับข้อผิดพลาดต่อไปนี้เมื่อกด:

แอปพลิเคชันพบข้อผิดพลาดขณะพยายามเปลี่ยนสถานะของ VM
เปลี่ยนสถานะไม่สำเร็จ
ไม่สามารถดำเนินการได้ในขณะที่วัตถุอยู่ในสถานะปัจจุบัน

ในกรณีนี้ แทนที่จะปิด (ซึ่งเป็นวิธีหนึ่งที่จะทำได้ แต่นั่นก็เกินความจำเป็น) เซิร์ฟเวอร์หรือพีซีของคุณหากคุณใช้ไคลเอนต์ Hyper-V คุณสามารถบังคับให้ VM ที่ไม่ตอบสนองปิดตัวลงโดยใช้วิธีการด้านล่าง:

  1. พาวเวอร์เชลล์
  2. ตัวจัดการงานหรือ Process Explorer

มาดูขั้นตอนที่เกี่ยวข้องสำหรับแต่ละวิธี

อ่าน : เครื่องเสมือน Hyper-V ติดอยู่ในสถานะเริ่มต้น

1] หยุด Hyper-V VM ที่ไม่ตอบสนองโดยใช้ PowerShell

  หยุด Hyper-V VM ที่ไม่ตอบสนองโดยใช้ PowerShell

  • เปิด PowerShell ในโหมดผู้ดูแลระบบ
  • พิมพ์คำสั่งด้านล่างแล้วกด Enter เพื่อรับเอาต์พุตของ GUID ของ VM ทั้งหมดของคุณ คุณจะต้องทราบชื่อของ VM ที่ไม่ตอบสนอง
Get-VM
  • เมื่อคุณมีชื่อ VM แล้ว ให้รันคำสั่งด้านล่าง แทนที่ตัวยึดตำแหน่ง VM_NAME ด้วยชื่อของ VM ที่คุณต้องการหยุด:
$VmGUID = (Get-VM 'VM_NAME').id
  • ถัดไป เรียกใช้คำสั่งด้านล่างเพื่อค้นหา ID กระบวนการของ VM คำสั่งใช้เนมสเปซ Win32_Process Windows Management Instrumentation (WMI) เพื่อค้นหากระบวนการ CPU ที่ทำงานอยู่ซึ่งตรงกับ vmwp.exe และ GUID ($VmGUID) ของเครื่องเสมือนของคุณ
$VMWMProc = (Get-WMIObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VmGUID})
  • เมื่อเรามี ID กระบวนการ ($VMWMProc) แล้ว คุณสามารถเรียกใช้ไฟล์ หยุดกระบวนการ cmdlet ดังแสดงด้านล่างเพื่อฆ่ากระบวนการ:
Stop-Process ($VMWMProc.ProcessId) –Force

อ่าน : แก้ไข Hyper-V Virtual Machine ที่ติดอยู่ใน Stopping State

2] หยุด Hyper-V VM ที่ไม่ตอบสนองโดยใช้ Task Manager หรือ Process Explorer

  หยุด Hyper-V VM ที่ไม่ตอบสนองโดยใช้ Task Manager หรือ Process Explorer

VMs ทั้งหมดบนโฮสต์ Hyper-V เริ่มต้นโดยใช้กระบวนการของผู้ปฏิบัติงานเครื่องเสมือน vmwp.exe ประมวลผลอินสแตนซ์ที่คุณจะต้องฆ่าหาก VM ติดขัด หากต้องการค้นหา PID ของกระบวนการเฉพาะ คุณต้องค้นหา GUID ของเครื่องเสมือน

สำหรับวิธีการเหล่านี้ คุณสามารถรับ VM GUID ได้โดยใช้คอนโซล Hyper-V Manager

  • เปิดการตั้งค่าเซิร์ฟเวอร์ Hyper-V
  • เดอะ เซิร์ฟเวอร์ ส่วนประกอบด้วยไดเร็กทอรีที่เก็บไฟล์คอนฟิกูเรชัน VM
  • เมื่อคุณระบุโฟลเดอร์แล้ว ให้ไปที่ไดเร็กทอรีใน File Explorer
  • ที่ตำแหน่ง ให้ค้นหาโฟลเดอร์ที่มีชื่อเครื่องเสมือนของคุณติดอยู่
  • คัดลอก GUID ที่ระบุในชื่อของไฟล์การกำหนดค่า VM ที่มีนามสกุล *.vmcx
  • ถัดไป เปิด Task Manager และไปที่ รายละเอียด แท็บ
  • ตอนนี้ใน ผู้ใช้ ชื่อ ค้นหาและฆ่ากระบวนการ vmwp.exe ที่มี GUID ของ VM ของคุณติดอยู่

ในทำนองเดียวกันคุณสามารถ ตัวสำรวจกระบวนการ เครื่องมือในการค้นหาและหยุดกระบวนการเครื่องเสมือนที่ติดขัดบนโฮสต์ Hyper-V โดยทำตามขั้นตอนเหล่านี้:

  • เรียกใช้ Process Explorer ในฐานะผู้ดูแลระบบ
  • ถัดไป กดปุ่ม Ctrl-F คำสั่งผสมคีย์หรือคลิก ค้นหาหมายเลขอ้างอิงหรือ DLL .
  • ระบุเส้นทางไปยังดิสก์เสมือน (*.vhdx) ของ Hyper-V VM ที่ติดอยู่ในสถานะเริ่มต้น/หยุด
  • Process Explorer จะแสดงรายการกระบวนการทั้งหมดโดยใช้ไฟล์ VHDX ของเครื่องเสมือน
  • ตอนนี้ค้นหา vmwp.exe กระบวนการเครื่องเสมือน
  • คลิกขวาที่กระบวนการแล้วเลือก ฆ่ากระบวนการ จากเมนู

อ่าน : แก้ไขเครื่องเสมือน Hyper-V ติดอยู่ในสถานะที่บันทึกไว้

อีกวิธีหนึ่งที่คุณสามารถบังคับ VM ที่ไม่ตอบสนองให้ปิดเครื่องคือการหยุดบริการ Hyper-V โดยเรียกใช้คำสั่งด้านล่างในพรอมต์ PowerShell ที่ยกระดับ เดอะ เริ่มบริการใหม่ คำสั่งจะบังคับให้ปิด VM ที่กำลังทำงานอยู่ทั้งหมดบนเซิร์ฟเวอร์ของคุณ โปรดจำไว้ว่าการรีสตาร์ทบริการ Hyper-V (vmms) อาจใช้เวลาสักครู่ ดังนั้น การดำเนินการอาจใช้เวลาหลายนาทีในการหยุดแล้วเริ่มใหม่อีกครั้ง

Get-Service vmms | Restart-Service

แค่นั้นแหละ!

อ่านต่อไป: วิธีทำให้เครื่องเสมือน Hyper-V เปิดใช้งานโดยอัตโนมัติเมื่อเริ่มต้น

ฉันจะตรวจสอบสถานะ VM ของฉันได้อย่างไร

ในการตรวจสอบสถานะของเครื่องเสมือนแต่ละเครื่องใน VMware ให้ทำดังต่อไปนี้:

  • ใน vSphere Client ให้นำทางไปยังเครื่องเสมือน
  • บน อัพเดท แท็บ คลิก ตรวจสอบสถานะ . งานสแกนเอนทิตีปรากฏในบานหน้าต่างงานล่าสุด
  • หลังจากงานเสร็จสิ้น ข้อมูลสถานะจะปรากฏใน เครื่องมือ VMware และความเข้ากันได้ของฮาร์ดแวร์ VM แผง

ฉันจะรู้ได้อย่างไรว่า VM ของฉันไม่ได้ใช้งาน

ใน Google Cloud หากต้องการจัดประเภท VM ว่าไม่ได้ใช้งาน จะต้องตรงตามเงื่อนไขทั้งหมดต่อไปนี้:

  • การใช้งาน CPU น้อยกว่า 0.03 vCPU สำหรับ 97% ของรันไทม์ VM
  • การรับส่งข้อมูลเครือข่ายที่ได้รับน้อยกว่า 2600 ไบต์ต่อวินาที (B/s) สำหรับ 95% ของรันไทม์ VM
  • การรับส่งข้อมูลเครือข่ายที่ส่งน้อยกว่า 1,000 B/s สำหรับ 95% ของรันไทม์ VM

อ่าน : วิธีกำหนดค่า Virtual Switch ใน Hyper-V .

โพสต์ยอดนิยม