如何检查Windows服务器是否是虚拟服务器

如何检查Windows服务器是否是虚拟服务器? 是否有命令promt来检查?

从理论上讲,虚拟化是无法察觉的。 通过实践,这是因为大多数虚拟化解决scheme提供了访客 – >主机通信的方式,或者不像物理CPU那样提供设备/ CPU。 但是,检测主机的手段依赖于提供者。

但是,大多数虚拟化解决scheme都提供了可以与主机通信的方法,如使用“虚拟”(不存在)端口的VMWare插件或使用未公开的CPU指令的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地址进行检查。 如果开始

  • 00:0C:29 VMWare(自动)
  • 00:50:56 VMWare(手动)
  • 00:16:3e Xen

VPS提供商可以更改MAC地址范围(至less在Xen中),但大多数不打扰我的经验。

一个简单的尝试在一个WMware客人将执行“vmic BIOS获得”和search关键字“wmware”。 但我不知道需要什么用户权限。 至less它是以pipe理员身份工作的。

另一种方法是照顾graphics卡驱动程序。 如果安装了VMware工具,它也会包含vmware关键字。

Dmidecode肯定会给你一些明确的VMWare指针,并且很容易从各种脚本中调用。

例如。 系统制造商是“VMWare公司”,基板被列为“参考平台”。

DMIDecode网站 – 包括到dos二进制文件的链接

要testingVMWare,最简单的方法(假设您能够login到计算机上)是检查VMWare Tools的存在。 这可以在开始菜单中find,或者在系统托盘中作为正在运行的应用程序,或者通过查看程序文件下的文件系统来find。

我不确定是否有与其他虚拟化产品相同的VMWare Tools。