If you're running under UEFI, GRUB typically installs a bootx64.efi
file in the EFI partition (typically under its own little GRUB folder), so that when your computer boots up, the BIOS/UEFI can point to that file and start GRUB, which will then look at its configuration file to find all the preconfigured bootable operating systems that it knows about. BIOS is a little bit different, but the premise is the same - a small executable is placed somewhere that the BIOS can find and execute to launch your OS' bootloader.
All os-prober
does is look at operating systems that are already mounted and adds them to the configuration file. If a system isn't mounted, then os-prober
(and by extension, GRUB, since the grub.cfg
file is where all the OS options are placed) won't know about it.
Assuming that you have your fstab file for Archlinux configured correctly (where your EFI partition is mounted under a reasonable directory, such as /boot/efi
), you can boot into Ubuntu, mount your Archlinux partion under Ubuntu temporarily, and run sudo grub-mkconfig -o /boot/grub/grub.cfg
under Ubuntu to generate the necessary boot option for Archlinux.
You can install the GRUB package under Archlinux, but there's no need to install the bootx64.efi
file (from sudo grub-install
) a second time since that file already exists. It would mostly be used for keeping your grub.cfg
up to date. The theming can probably be copied over from Ubuntu's configuration (but I'm not sure of where it is off the top of my head).