如何检查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地址进行检查。 如果开始
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。