Some things need to be cleared up.
1) UEFI does not use MBR (Master Boot Record), UEFI uses GPT (GUID Partition Table).
2) GPT can, and does, work in some newer BIOSs but not all.
3) I have never seen, or heard of, any instance where an OS installed in Legacy BIOS is visible on a UEFI boot. Please verify your install of Windows 7 is installed on BIOS and is an option on Grub EFI.
4) AFAIK Windows does not recognise non MS OSs in its bootloader, to have multiple options that include non MS OSs you must use a non MS bootloader as the primary bootloader (i.e. GRUB) which will then initiate the MS bootloader (NT bootloader) to boot MS OS installs. As mentioned above by someone else using os-prober will let GRUB know if there are other OSs installed.
5) Using a VM is a drain on RAM, you need enough RAM to run the host OS and then enough to run the Virtual OS inside the VM. If you are using a VM to run an MS OS most of your RAM will need to be reserved for the MS OS. In my experience unless you have alot of RAM this will negatively affect performance. There is a general move towards Hypervisors (Zen being an excellent open source option) but even these are host machines with virtualised OSs and the same RAM issues apply.