This article may spark some interest.
https://labs.nettitude.com/blog/using-pooltags-to-fingerprint-hosts/
tl;dr; you can built table of specific pool tags used by vm drivers when allocating memory and then use it as vm detection vector.
This article provides complete example and this system information should be available starting from ancient times up to modern Win10 versions.