Как можно проверить, является ли сервер Windows виртуальным сервером? Есть ли команда из командной строки, чтобы проверить это?
Теоретически виртуализацию невозможно обнаружить. На практике это так, потому что большинство решений виртуализации предоставляют средства для связи гостя и хоста или не используют устройства / ЦП, как физический ЦП. Но средства обнаружения хоста зависят от провайдера.
Но большинство решений виртуализации предоставляют средства, с помощью которых вы можете общаться с хостом, например надстройки VMWare, которые используют «виртуальный» (несуществующий) порт, или Virtual PC, который использует недокументированные инструкции ЦП :)
Предпосылки программирования: http://www.codeproject.com/KB/system/VmDetect.aspx
Инструмент: http://www.codegurus.be/codegurus/Programming/virtualpc&vmware_en.htm
Другой способ - проверить устройства, которые относятся к виртуальной машине, например, VMWare включает свое имя во многие устройства.
Для Xen вы можете использовать: http://xen-3.1.sourcearchive.com/documentation/3.1.0/xen-detect_8c-source.html (Должно быть легко скомпилировать под Win32).
Теоретическая подоплека: http://thread.gmane.org/gmane.comp.emulators.kvm.devel/22643
Вы можете проверить по MAC-адресам. Если он начинается с
Провайдер VPS может изменять диапазоны MAC-адресов (по крайней мере, в Xen), но большинство из них, по моему опыту, не беспокоит.
Простая попытка гостя WMware - выполнить команду «vmic bios get» и выполнить поиск по ключевому слову wmware. Но я не знаю, какие права пользователя требуются. По крайней мере, он работает как администратор.
Другой способ - позаботиться о драйвере графической карты. В нем также будет ключевое слово vmware, если на нем установлены инструменты VMware.
Dmidecode, безусловно, даст вам несколько очевидных указателей на VMWare и легко вызывается из самых разных сценариев.
Например. производителем системы является «VMWare Inc», а базовая плата указана как «эталонная платформа».
Сайт DMIDecode - включает ссылку на двоичные файлы dos
Самый простой способ протестировать VMWare (при условии, что у вас есть возможность войти в систему) - это проверить наличие VMWare Tools. Его можно найти либо в меню «Пуск», либо как запущенное приложение на панели задач, либо просмотрев файловую систему в разделе «Program Files».
Я не уверен, есть ли аналог VMWare Tools для других продуктов виртуализации.