GRUB is the Linux boot manager. When a new system is installed, GRUB needs to be installed to the harddisk and it has to be updated with the system type, kernel and partition in order to boot it correctly. If you add another OS to another partition, GRUB needs updating again so that it can list and boot that new OS.
Some options for installing/updating GRUB
1 ....Boot a trouble system with Super Grub2
This might work if you hava an installed system that can't boot. Put Super Grub2 on a USB stick and boot it and it will scan the box for any installed system - just select one to boot it.
With the system up you can install GRUB and update it easily. As root,
where "sda" is the root of the hard disk you want to install GRUB on
My no.2 was a gui program called Grub customizer... but as I never use it any more, and it was dodgy with Debian (better suited for Ubuntu), I will leave it out as unnecessary bloatware...
2 ....Boot Repair Disk
Run this Live CD and the Recovery app automatically searches for OS's present. Open the Advanced options to choose a location to install GRUB (set it to the root of your main harddisk, e.g. /dev/sda) and any other particulars.
This is a friendly GUI app for those unsure of a terminal.
You can install Boot repair to your system as well, but to detect and repair GRUB it must be run during a live session, and the version installed is arch specific, so 32bit will not repair GRUB on a 64bit system - as essentially it's chrooting.
3 ...Chroot from a Live environment
You can chroot (change root) using a Live CD into the system that needs Grub installed...
and unmount the system with
see my chroot page
for more detail.
5 ....Using Rescue Mode of a net install CD
edit /etc/apt/sources.list if necessary, then install Grub
type "rescue" at boot prompt ? or select Advanced Graphical Rescue Mode
- when it arrives at rescue mode, select the mount point for the OS partition e.g. sda5
- test the internet connection with
6 ....Using a custom GRUB entry
This is a last resort if other methods don't recognise the intalled systems.
edit the file /etc/grub.d/40_custom with an entry for the OS to be added (see examples on the Arch Wiki page)
- then run: `sudo update-grub`
- OS prober will look for the OS in the custom entries file and add it to GRUB
Read up here
Removing a non-present OS from the GRUB menu
from a booted OS run: `sudo update-grub`
There are ways to set how the different systems on a box appear on the Grub menu.. see...