Using GRUB to boot multiple operating systems, the correct way
Often when you want to use more than one Operating System on your computer, you run into GRUB issues.
When you install an OS, or upgrade an installed OS, problems can occur when the new install overwrites your GRUB setup, leaving you with unbootable OS's. It is possible to correct these issues, but that is an annoying exercise that you will have to repeat every time you update stuff.
In order to solve this issue for once and for all, the solution is to make 1 partition the 'master GRUB' partition. This GRUB will contain only so called 'chain-loader' commands, pointing to all the 'child' partitions containing the OS's. Those partitions will contain the bootloaders from those OS's.
In this scenario let all the OS's manage their own partitions, and THIS IS IMPORTANT: don't let them update our 'master GRUB' partition. They can update their own GRUB during updates etc.