The more I read about it, and the more I think the most efficient way to approach this would be to use the cpuid (CPU Identification) just like virt-what does.
The following are known ID strings from virtual machines:
"KVMKVMKVM" – KVM
"Microsoft Hv" – Microsoft Hyper-V or Windows Virtual PC
" lrpepyh vr" – Parallels (it possibly should be "prl hyperv ", but it is encoded as " lrpepyh vr")
"VMwareVMware" – VMware
"XenVMMXenVMM" – Xen HVM
The more I read about it, and the more I think the most efficient way to approach this would be to use the cpuid (CPU Identification) just like virt-what does.
The following are known ID strings from virtual machines:
"KVMKVMKVM" – KVM
"Microsoft Hv" – Microsoft Hyper-V or Windows Virtual PC
" lrpepyh vr" – Parallels (it possibly should be "prl hyperv ", but it is encoded as " lrpepyh vr")
"VMwareVMware" – VMware
"XenVMMXenVMM" – Xen HVM