มีวิธีที่จะรู้หรือไม่ว่าเครื่อง Windows ที่ฉันกำลังใช้งานนั้นเป็นเสมือนจริงหรือทางกายภาพ? (ฉันกำลังเชื่อมต่อกับ RDP กับเครื่องหากเป็นเครื่องเสมือนมันทำงานและจัดการโดย VMWare)
มีวิธีที่จะรู้หรือไม่ว่าเครื่อง Windows ที่ฉันกำลังใช้งานนั้นเป็นเสมือนจริงหรือทางกายภาพ? (ฉันกำลังเชื่อมต่อกับ RDP กับเครื่องหากเป็นเครื่องเสมือนมันทำงานและจัดการโดย VMWare)
คำตอบ:
ถ้าเป็น Windows ลองดูที่หน้าจอฮาร์ดแวร์ มันจะมีอุปกรณ์เสมือนจริงภายใต้แบรนด์ VMWare หนึ่งพันล้านเครื่อง
ในประเภทหน้าต่าง CMD:
SYSTEMINFO
คุณจะพบบรรทัดที่มีข้อความต่อไปนี้ (หรือคล้ายกัน):
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
หากจัดการโดย VMware จะไม่ยากเกินไปในขณะนี้ สิ่งนี้อาจเปลี่ยนแปลงได้ในอนาคต
# dmidecode -s system-manufacturer
VMware, Inc.
linux
ระบบปฏิบัติการนี่เป็นตัวเลือกที่ดีที่สุดในการตรวจจับฮาร์ดแวร์และเครื่องเสมือน ..
ใน Linux คุณสามารถใช้ "virt-what" " virt-what - ตรวจสอบว่าเรากำลังทำงานอยู่ในเครื่องเสมือน "
บน Windows จาก CMD:
Systeminfo | findstr /i model
ส่งคืนสิ่งที่ชอบ:
System Model: VMware Virtual Platform
[01]: Intel64 Family 6 Model 26 Stepping 5 GenuineInt
บน Linux ให้รันสิ่งนี้:
$ dmesg |grep -i hypervisor
Hypervisor detected: KVM
dmesg |grep DMI
Virtual Machines: [root @ myhost ~] # dmesg | grep DMI และ DMI 2.3 ปัจจุบัน DMI: เครื่องเสมือน Microsoft Corporation / เครื่องเสมือน, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i virtual DMI: เครื่องเสมือน Microsoft Corporation / เครื่องเสมือน, BIOS 090006 05/23/2012 Booting paravirtualized kernel บนอินพุตฮาร์ดแวร์เปล่า: การจำลองปุ่มเมาส์ของ Macintosh เป็น / อุปกรณ์ / เสมือน / อินพุต / อินพุต 1 scsi 0: 0: 0: 0: Direct-Access Msft เสมือนดิสก์ 1.0 PQ: 0 ANSI: 4 อินพุต: Microsoft Vmbus HID-compliant Mouse เป็น / อุปกรณ์ / เสมือน / อินพุต / อินพุต 4 ฟิสิคัล: [root @ backdev1
dmidecode
permission denied !
หากคุณอยู่ใน Windows ตามที่castrocraกล่าวคุณสามารถเรียกใช้systeminfo
คำสั่งจากภายในเชลล์ cmdจากนั้นมองหา "เวอร์ชั่น BIOS"
นี่อาจเป็นเครื่องจักรจริง :
BIOS Version: Dell Inc. A03, 06/12/2010
BIOS Version: Phoenix Technologies, LTD MS7254 1.08, 08/03/2007
ในทางตรงกันข้ามนี่เป็นเครื่องเสมือนจริง :
BIOS Version: VMware, Inc. VMW71.00V.0.B64.1201040214, 04/01/2012
Phoenix Technologies LTD 6.00, 9/17/2015
ได้รับคำตอบแล้ว แต่ FWIW คุณสามารถทำได้ใน powershell:
gwmi -q "select * from win32_computersystem"
"ผู้ผลิต" จะเป็น "Microsoft Corporation" และ "รุ่น" จะเป็น "เครื่องเสมือน" หากเป็นเครื่องเสมือนหรือควรแสดงรายละเอียดผู้ผลิตปกติหากไม่เช่น "Dell Inc. " และ "PowerEdge R210 II" ตามลำดับ
wmic computersystem get manufacturer | find "VMware" && echo In VMWare || echo Not in VMWare
. มันเร็วกว่าsysteminfo
โซลูชันพื้นฐาน
คุณสามารถลองใช้โปรแกรม"การตรวจหาโฮสต์"
วิธีง่ายๆในการตรวจสอบข้อมูลการทำเวอร์ช่วลไลเซชั่นของคีย์คือผ่าน WMI / WBEM คุณสามารถใช้เนมสเปซรูท \ CIM2 และเข้าถึงคลาส Baseboard (เต็มไปด้วยข้อมูล BIOS ที่น่าสนใจ) เพื่อรับรายละเอียดของระบบ "ทางกายภาพ" คลาสนี้มักจะมีข้อมูลเกี่ยวกับเมนบอร์ดและตัวถัง - การผลิต, รุ่น, หมายเลขประจำเครื่อง, อื่น ๆ
เรียกใช้คำสั่งต่อไปนี้จากพรอมต์คำสั่งหรือเซสชัน PowerShell:
wmic baseboard get manufacturer, product, Serialnumber, version
ง่ายขึ้น - wmic / node: bios รับ serialnumber
สิ่งใดก็ตามที่ส่งคืนหมายเลขซีเรียลสไตล์ของ Dell นั้นมีอยู่จริง
มันจะส่งคืน "VMware-42 22 26 a8 dd 6e e3 b3-2e 03 fc 2c 92 ae 2e 89" หากเป็นเครื่องเสมือน
ฉันมีคำถามเดียวกันและพบว่ามีหลายกระบวนการที่ทำงานด้วย "VM" ในชื่อตัวอย่างเช่น VMWareTray.exe
nbtstat -a ผลลัพธ์จะบอกคุณว่า VMs มีคำนำหน้าเฉพาะซึ่งเป็น 00-50-56-XX-XX-XX นอกจากนี้ยังมีคำนำหน้าอื่นที่ใช้ แต่ฉันจำไม่ได้ที่ด้านบนของหัวของฉัน แต่ฉันจำได้ว่า Vcenter ใช้ 00-50-56-XX-XX-XX ดังนั้นนี่คือ iOS ที่ฉันตรวจสอบเท่านั้น
ฉันคิดว่านี่เป็นวิธีที่ดีที่สุดเป็นการส่วนตัว