I use Linux as the main OS on my computer and Windows 10 in VirtualBox. I would like to switch to dual-boot, but in some special form. I would like to be able not to reboot every time I need Windows 10, and sometimes run it in VirtualBox (when I don’t need full performance) and have access to the same software and data.
So I would like to create a partition on the disk and transfer the system from VirtualBox there (and also copy the Windows boot files to the EFI partition where the Linux bootloader already exists and configure the Linux bootloader to display the OS selection menu). There are many instructions on how to transfer the system, so there should be no problems. Also, I'm going to configure VirtualBox on Linux so that it uses a real disk instead of a virtual one. For this, too, there are many instructions and problems should not be.
The main problem is how Windows 10 will behave if it sometimes loads in VirtualBox, and sometimes on a real device. Windows 10 is very good at finding new drivers, but the main question is that the old drivers are not deleted, otherwise each reboot will take a long time to re-search them. It is also necessary that the guest OS add-ons be deactivated on a real device and do not interfere with the correct operation of the OS.
Of course, I understand that while the virtual machine is running, you cannot mount its disk under Linux, otherwise the file system will be damaged.