I have software installed on my guest system which won't run when it detects it is running on virtual os.

I need to change the following registry entries in the guest. HKEY_LOCAL_MACHINE/HARDWARE/DESCRIPTION/System/SystemBiosVersion from VBOX -1 to NOBOX -1


after i made these changes the program runs but on every single reboot these values reset.

I would like to make these entries permanent.

  • 1
    Does it need a security dongle (stuff that more or less died with XP) – John Nov 1 '19 at 13:50
  • 1
    Its possible those keys and values have permissions that do not allow saving changes across a reboot or when the program is executed they may also revert.>>>>>>>>>>>windowsreport.com/regedit-doesnt-save-changes – Moab Nov 1 '19 at 14:16

As you are on VirtualBox, you don't need to reboot the VM. You can either put the guest to sleep, or suspend the VM, or take a snapshot of it after doing your fixes. This is the simplest solution and does not require one of the techniques described below.

Another simple solution is to create a script that does the registry changes and set it to run on boot as a Startup script via Group Policy (gpedit.msc) in Computer Configuration > Windows Settings > Scripts (Startup/Shutdown).

If you find that the registry changes that you described are not enough, the problem is that there are many ways for the guest to detect that it is running inside a VM. See the article Anti-Virtualization Malware for the many techniques for detecting VirtualBox, starting with the registry and ending with the unstoppable CPUID hardware instruction.

You might be able to find help in the article Making Virtualbox nearly undetectable, where a Python program is shown that modifies the BIOS of the VM with elements from the host BIOS to trick Windows so it doesn't detect it is running inside a VM.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.