To dual boot Arch Linux with another Linux system, you need to install another Linux without a bootloader, install os-prober and update the bootloader of Arch Linux to be able to boot the new OS.
Note! I use GRUB as a bootloader because it is the most popular Linux bootloader. If you use any other bootloader, you can get the overview of the process here, but you would need to research yourself the command to update your bootloader.
Install the second Linux without a bootloader
First, you need to install the second Linux system and you need to install it without a bootloader. For example, if your second OS is Ubuntu or Ubuntu derivative (Linux Mint, KDE Neon, elementaryOS etc.), run the ubiquity installer from a command line with the option -b:
This will install Ubuntu without the GRUB bootloader. I have explained this process in more details here.
Mount the partition with the new system
Next, you need to mount the partition with the new system. If it is not mounted, your Arch Linux simply is not able to see that there is another Linux installed on your computer.
To find out the name of the partition with the second OS, list the partitions on your system:
And based on their size identify the partition where you installed your second system. For example, on the picture below I installed Linux Mint on sda2. I know that because it is a smaller partition.
When you know the name of the partition with your second Linux system, mount it somewhere on your system, for example to /mnt or /media:
sudo mount /dev/sda2 /mnt
GRUB bootloader cannot identify other OS itself, it is done with os-prober, which is an Arch Linux program that detects other OSes installed on your computer. Install it:
sudo pacman -S os-prober
When your new system is mounted and os-prober is installed, run this command to update GRUB:
sudo grub-mkconfig -o /boot/grub/grub.cfg
You should see that GRUB has found your second Linux system, Linux Mint in the example below.
If not, go back and make sure that you mounted the right partition.
If your GRUB is updated without any error and the new system is recognized, reboot your Arch Linux and try to boot into the second system.
If you configured your Arch Linux to skip GRUB menu and boot as fast as possible, you need to press ESC or SHIFT key during the boot to enter the GRUB menu. If you have not touched your GRUB, you should see the GRUB menu automatically.
And as you can see on the screenshot above, there is a choice to boot either Arch Linux or Linux Mint, which is my second system in this case.
Boot into your second Linux system and make sure it works.
Multi-boot Arch Linux
Although I talk here about Arch Linux as the first OS and the other Linux OS as the second OS, there is no limit of the number of systems you can install and multi-boot. But you need to mount the partition with a new OS and update GRUB every time you install addition Linux OS on your computer.
I installed Linux Mint, Fedora and KDE Neon along with my Arch Linux system, I updated GRUB this way and now I can boot into any of these systems if I want. You can see the screenshot of my GRUB below.
If you update your kernel
Unfortunately, this setup of several Linux systems with one bootloader requires that you need to mount all the secondary systems and update GRUB manually every time you update your kernel regardless if it is your Arch Linux or any secondary system. If your secondary systems are mounted during the update of Arch Linux, then the manual update is not necessary. Also, if you cannot find your secondary system in the GRUB menu after updating, this means that you forget to manually update GRUB. Boot in your Arch Linux, mount the second system and update GRUB.
If this article was helpful, please share it.