Вопрос: Как узнать, работаю ли я на виртуальной машине или нет?


Есть ли способ узнать, является ли машина Windows, над которой я работаю, виртуальной или физической? (Я подключаюсь к RDP к машине. Если это виртуальная машина, она работает и обрабатывается VMWare).


46
2018-02-03 13:25


Источник


смотрите также - stackoverflow.com/questions/779723/... - warren


Ответы:


Если это Windows, просто взгляните на экраны оборудования. Он будет иметь миллиард и пять виртуальных устройств с поддержкой VMWare.


34
2018-02-03 13:31



Согласовано. Поскольку OP упоминает RDP, это, скорее всего, Windows, так что вы идете. - mfinni
+1 для того, чтобы не предполагать, что это Linux, как я сделал - Matt Simmons
Глядя на драйверы, также работает для Linux. lsmod, вероятно, вернет необходимую вам информацию. - Seamus Connor
@Seamus: Верно! - Oli
Исправление: миллиард и шесть. - Get-HomeByFiveOClock


В окне окна CMD:

SYSTEMINFO

Вы найдете строку со следующим текстом (или подобным):

System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform

56
2017-09-07 13:07



Если используется Hyper V, вы получаете: Системный производитель: Microsoft Corporation Системная модель: виртуальная машина - Gayan Dasanayake


В Linux вы также можете использовать «virt-what». "virt-what - обнаружить, если мы работаем на виртуальной машине».


15
2017-09-07 13:13





Если он обрабатывается VMware, в настоящий момент это не слишком сложно. Это может измениться в будущем.

# dmidecode -s system-manufacturer
VMware, Inc.

14
2018-02-03 13:31



Я получаю «dmidecode» не распознается как внутренняя или внешняя команда на виртуальных машинах Windows 7 и 10 ESXi 6.0. - Andrew S
dmidecode это команда linux, используемая для получения информации об оборудовании. Он не работает в Windows. - Jaime


В Windows, из CMD:

Systeminfo | findstr /i model

возвращает что-то вроде:

System Model:              VMware Virtual Platform
                           [01]: Intel64 Family 6 Model 26 Stepping 5 GenuineInt

5
2018-01-08 16:17





В Linux запустите:

$ dmesg |grep -i hypervisor
 Hypervisor detected: KVM

5
2017-08-31 00:28



для linux вы вводите dmesg |grep DMI Виртуальные машины: [root @ myhost ~] # dmesg | grep DMI <br> DMI 2.3. DMI: виртуальная машина / виртуальная машина Microsoft Corporation, BIOS 090006 05/23/2012 [root @ myhost ~] # dmesg | grep -i виртуальный DMI: виртуальная машина Microsoft Virtual Machine / виртуальная машина, BIOS 090006 23.05.2012 Загрузка загружаемого паравиртуализированного ядра на голом аппаратном вводе: эмуляция мыши мыши Macintosh как / devices / virtual / input / input1 scsi 0: 0: 0: 0: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 4 вход: Microsoft Vmbus HID-совместимая мышь как / устройства / виртуальный / ввод / ввод4 Физический: [root @ backdev1 - user215983


Если вы находитесь в 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

4
2017-11-23 14:31



Современные гипервизоры могут поставлять произвольные строки здесь, делая это не очень надежной проверкой. - Michael Hampton♦
К сожалению, это ненадежно. Я запускаю виртуальную машину, но мой BIOS показывает: «Phoenix Technologies LTD 6.00, 16/08/2013» - PunkyGuy
VMWare с Phoenix Technologies LTD 6.00, 9/17/2015 - Ravi Parekh


На это ответили, но FWIW вы можете сделать это в powershell:

gwmi -q "select * from win32_computersystem"

«Производитель» будет «Microsoft Corporation», а «Модель» будет «Виртуальной машиной», если это виртуальная машина, или она должна отображать регулярные данные производителя, если нет, например. «Dell Inc.» и "PowerEdge R210 II" соответственно.


3
2017-08-22 01:50



Веселая. мой Windows VM говорит, что производитель и модель являются «Bochs». - Michael Hampton♦
Или в cmd: wmic computersystem get manufacturer | find "VMware" && echo In VMWare || echo Not in VMWare, Это быстрее, чем systeminfoоснованные на решениях. - atzz
@MichaelHampton Вы используете виртуальные машины? Какая платформа - HyperV, VMWare или что-то еще? Кажется, что виртуальная машина, вероятно, запускается в эмуляторе Bochs или что-то в этом роде. - Richard Hauer


Если это виртуальная машина Unix, используйте imvirt, Это Perl-скрипт, который обнаруживает VMWare, Xen и некоторые другие.


1
2018-02-05 19:17