需要Linux应用程序来检测它是否在虚拟机中执行(如VMware ESX / ESXi,Xen,Oracle Virtualbox,Microsoft虚拟服务器等)。根据此检测的结果,某些软件许可规则需要执行。
我知道有一些商业软件库/框架用于许可,可以执行此类检测,但由于多种原因,我们需要自行推出。
实现此类检测的方式和方法有哪些?
答案 0 :(得分:1)
对于现代硬件加速(VT-x)管理程序(VMware,VirtualBox,KVM / QEmu),它们都设置了“管理程序”CPUID位,这很容易从Linux读取。 打开文件/ proc / cpuinfo,在标记行中查找“hypervisor”。
虽然不是100%。基于软件的管理程序(Bochs等)不会设置它,并且该位不被强制执行,因此可以修改QEmu以不设置该位。但是,它可能足以满足您的需求。