How do I fully emulate, pass through, or spoof all the hardware for a virtual machine? I want to set up a few guest VMs in such a way that they do not have any special drivers or odd hardware info. The core issue is that I have applications which run with administrative privilege and I do not want said applications being able to detect that the are trapped inside a guest OS. Part of a testing environment.

I currently use qemu/kvm Debian hypervisors for my VM needs but I'm not married to that. The guest will primarily be Windows7. In all of my current attempts I can dig around inside the guest and find little things like disk IDs and drivers containing "qemu" "qcow2" "virtio", part and serial numbers that are obvious long strings of zeros.

  • 2
    There will not be any generic answer, as there are simply way too many methods by which a program could detect that it is not running on bare metal. If you add your current qemu config and a specific giveaway, an answer might suggest how to remove that specific one. – anx Jan 22 at 8:43
  • 2
    Are the programs you run explicitly trying to figure out if they are in a VM? – Michael Hampton Jan 22 at 14:59
  • Yes they do actively try to determine if they are in a VM. However I do do not know what giveaways they look for. – Max Power Jan 30 at 2:42
  • I know most VM setups are used more for ease of server management which may actually benefit from the guest being aware and optimized for a VM, however I was hoping to go more down the simulated test-environment path that may be used by eg. developers targeting a new platform or testing code for embedded hardware(without needing to flash a fresh rom after every change) – Max Power Jan 30 at 2:50

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.