I'm trying to install Parrot OS 3.5 on a Sony Vaio laptop, as a dual-boot alongside Windows 10. I have no trouble installing from my bootable USB, but Grub doesn't seem to be able to load it. I don't want to run it as a Live Disc, and I don't want to run it in VM, I want to be able to boot directly into it for use as a daily driver OS.
I did a lot of research and testing, what I ended up having to do was use a second bootable USB running Ubuntu, so that I could run rEFInd alongside efibootmgr (the latter is not included in Live versions of Parrot and Debian).
Using rEFInd to force GRUB to be seen by the UEFI and efibootmgr to force UEFI to load rEFInd and Parrot before trying to load Windows, I was able to overcome UEFI's hatred for anything other than Windows.
Side Note: Even after changing UEFI boot order settings this way, it still told me that I was missing a file, \g21dr.mbr
If you come across this error, what I did was I went back and re-wrote the Parrot OS iso to my USB using Rufus, and in a drop down menu, changed the value from "create MBR for BIOS or UEFI" to "create GPT for UEFI" (I don't remember exactly what each option said, but I changed it from the first option to the third.)
My hope was that if I created it without the need for MBR, it would run properly. Having combined all of these methods, I can definitely say I am typing this on Parrot OS 3.5 after having shut down and started up cold several times, and it loading into Parrot immediately.