Dual boot Arch Linux with another Linux (os-prober)

Dualboot GRUB menu

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.

Video Tutorial

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:

ubiquity -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:

lsblk

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.

List available partitions with lsblk command
List of available partitions

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

Install os-prober

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

Update GRUB

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.

Update grub with os prober to recognize other Linux systems

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.

Dualboot GRUB menu
Dual boot Arch Linux with Linux Mint

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.

GRUB multi-boot menu
GRUB multi-boot menu

If you update your kernel

Unfortunately, the 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. 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.

Average Linux User
Average Linux User I am the founder of the Average Linux User project, which is a hobby I work on at night. During the day I am a scientist who uses computers to analyze genetic data.