Есть ли способ узнать, является ли машина 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.
Лично я считаю, что это лучший способ.