CPUID
which, for KVM, is the string KVMKVMKVM
(see elixir.bootlin.com/linux/v5.16/source/arch/x86/include/uapi/asm/… and elixir.bootlin.com/linux/v5.16/source/arch/x86/kvm/cpuid.c#L909). This can be spoofed easily. If there's an application or driver on Windows that's attempting more advanced hypervisor detection, then it'll be very difficult.