Назад | Перейти на главную страницу

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

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

В окне CMD введите:

SYSTEMINFO

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

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

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

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

# dmidecode -s system-manufacturer
VMware, Inc.

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

В Windows из КОМАНДА:

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

Если вы в 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

На него был дан ответ, но FWIW вы можете сделать это в PowerShell:

gwmi -q "select * from win32_computersystem"

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

Вы можете попробовать «Обнаружение хоста» программа.

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

Один (относительно) простой способ обнаружить ключевую информацию о виртуализации - через WMI / WBEM. Вы можете использовать пространство имен root \ CIM2 и получить доступ к классу Baseboard (полный интересной информации о BIOS), чтобы получить описание «физической» системы. Этот класс часто включает информацию о материнской плате и корпусе - производитель, модель, серийный номер и т. Д.

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

wmic baseboard get manufacturer, product, Serialnumber, version

Еще проще - wmic / node: bios получает серийный номер

Все, что возвращает серийный номер в стиле Dell, является физическим.

Он также вернет "VMware-42 22 26 a8 dd 6e e3 b3-2e 03 fc 2c 92 ae 2e 89", если это виртуальная машина.

В Linux, если вы предпочитаете заглянуть в /proc пытаться

cat /proc/cpuinfo | grep flags | grep hypervisor

У меня был тот же вопрос, и я обнаружил, что есть много процессов, работающих с "VM" в имени, например VMWareTray.exe.

nbtstat -a В результате вы увидите, что виртуальные машины имеют специальный префикс 00-50-56-XX-XX-XX. Есть также еще один префикс, который он использует, но я не могу вспомнить в верхней части моей головы, но я помню, что Vcenter использует 00-50-56-XX-XX-XX, поэтому я проверяю только этот ios.

Лично я считаю, что это лучший способ.