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

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

如何检查 Windows 服务器是否是虚拟服务器?是否有命令提示符命令可以检查?

答案1

理论上,虚拟化是不可检测的。实际上,这是因为大多数虚拟化解决方案都提供了客户机->主机通信的方法,或者不像物理 CPU 那样提供设备/CPU。但是,检测主机的方法取决于提供商。

但是,大多数虚拟化解决方案都提供了可以与主机通信的手段,例如使用“虚拟”(不存在)端口的 VMWare 插件或使用未记录的 CPU 指令的 Virtual PC :)

编程背景:http://www.codeproject.com/KB/system/VmDetect.aspx

工具:http://www.codegurus.be/codegurus/Programming/virtualpc&vmware_en.htm

另一种方法是检查特定于 VM 的设备,例如 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

答案2

你可以通过 MAC 地址检查。如果以

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

VPS 提供商可以更改 MAC 地址范围(至少在 Xen 中),但根据我的经验,大多数 VPS 提供商并不关心这一点。

答案3

在 WMware 客户机上,一个简单的尝试是执行“vmic bios get”并搜索关键字“wmware”。但我不知道需要什么用户权限。至少它可以以管理员身份运行。

另一种方法是查看显卡驱动程序。如果安装了 VMware 工具,其中还会包含 vmware 关键字。

答案4

测试 VMWare 最简单的方法(假设您能够登录到机器)是检查是否存在 VMWare Tools。您可以在开始菜单中找到它,也可以在系统托盘中作为正在运行的应用程序找到它,或者也可以在 Program Files 下的文件系统中找到它。

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

相关内容