Народ, кто сталкивался с такой проблемой - нужно опознать что винда запущена не под HyperV.
В принципе опознать виртуалку по замеру времени исполнения cpuid - это не проблема, пока дело не касается HyperV.
Фишка вот в чем: если мы запущены на реальном компе на котором стоит HyperV то
1) Всегда CPUID.1.ECX.31 =1 (т.е. мы в hypervisor)
2) Всегда замены времени cpuid показывают превышение.
3) Всегда CPUID.0x40000000 указывает на имя гипервизова (в частности HyperV)
Так как же тогда опознать - мы внутри HyperV или просто он установлен на этом компе ?