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
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.