![从虚拟机内部 - 如何知道使用 VMWare/VirtualBox/Hyper-V/etc 来托管它?](https://linux22.com/image/1388938/%E4%BB%8E%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%86%85%E9%83%A8%20-%20%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E4%BD%BF%E7%94%A8%20VMWare%2FVirtualBox%2FHyper-V%2Fetc%20%E6%9D%A5%E6%89%98%E7%AE%A1%E5%AE%83%EF%BC%9F.png)
从虚拟机中,可以获得有关主机系统的哪些信息?例如,我基本上可以cat /proc/cpuinfo
了解一些有关主机 CPU 的信息。
我可以通过哪些方式获取有关使用哪种平台虚拟化软件(VMWare、VirtualBox、Hyper-V 等)的信息?例如,如果使用了一些客户添加程序 - 我可以使用 查看它们lsmod
。但我不知道要查看哪些模块。
答案1
大多数存储库中都有一个名为 的包virt-what
(Debian 类库有,Arch Linux 也有)。它实际上是一个 shell 脚本,如果您不在 VM 中,或者作者说您不在未知类型的虚拟机管理程序中,则不会输出任何内容,或者会输出虚拟机管理程序的名称。
它似乎知道最常见的虚拟机管理程序。你可以找到有关它的更多信息这里。有趣的是,它是一个 shell 脚本,因此您可以轻松看到使用哪个测试来确定程序是否在 VM 内运行。我不会破坏您的乐趣。