How to Dual-Boot Arch Linux with Another Linux Distro

A complete guide to setting up a dual-boot system with Arch Linux and another Linux distribution, such as Ubuntu, Fedora, Debian, or openSUSE.

Arch Linux is well-known for its simplicity, flexibility, and hands-on installation process. Many users who are curious about Arch may not be ready to switch to it as their sole operating system. Others may want to maintain a more beginner-friendly distro alongside Arch for productivity or compatibility reasons. Whatever your motivation, setting up a dual-boot system with Arch Linux and another Linux distribution is very achievable — provided you follow a structured process.

This guide will walk you through the entire procedure of dual-booting Arch Linux with another Linux distribution, such as Ubuntu, Fedora, Debian, or openSUSE. We’ll cover partitioning, bootloader configuration, and tips to avoid pitfalls.


Prerequisites

Before we begin, make sure you have:

  • A computer with UEFI firmware (this guide focuses on UEFI boot mode).
  • A USB stick (8GB or more) to use as installation media.
  • ISOs of Arch Linux and the other Linux distribution of your choice.
  • Basic familiarity with Linux terminal commands.
  • A backup of your important data — resizing partitions and modifying bootloaders carries some risk.

Step 1: Plan Your Partition Layout

A dual-boot setup requires careful partition planning. You’ll typically need the following partitions:

  1. EFI System Partition (ESP) – Shared by both OSes for boot files.
  2. Root partition for Distro A (e.g., / for Ubuntu).
  3. Root partition for Distro B (e.g., / for Arch).
  4. Optional partitions:
    • Swap – Can be shared between distros.
    • Home – Can be shared or kept separate per distro (not recommended to share unless you know what you’re doing).

If you already have another Linux distro installed and want to add Arch, make sure it uses UEFI and has an ESP you can reuse.


Step 2: Install the First Linux Distro (If Not Already Installed)

If your system already has another Linux distro installed, skip to the next step.

Otherwise, install your preferred Linux distribution first (e.g., Ubuntu, Fedora). During installation:

  • Choose manual partitioning to create:
    • A 512MB EFI partition (if one doesn’t already exist).
    • A root partition (/) for this distro.
    • Optional swap and home partitions.
  • Use ext4 for root and home unless your distro requires otherwise.
  • Mount the EFI partition to /boot/efi.

Proceed with the installation and reboot to confirm that it works.


Step 3: Create Free Space for Arch Linux

If you didn’t leave space for Arch during the first installation, you’ll need to shrink an existing partition. You can use gparted from a live session of any Linux distro.

  • Boot into a live session.
  • Open gparted.
  • Select the drive (e.g., /dev/nvme0n1 or /dev/sda).
  • Resize an existing partition to free up 20–30GB (or more) for Arch.
  • Apply the changes and leave the space unformatted.

Step 4: Boot into the Arch Linux Installer

Now it’s time to install Arch.

  1. Write the Arch ISO to a USB using dd, Ventoy, or an app like Balena Etcher.

  2. Boot into the USB using UEFI mode (check your BIOS/UEFI settings).

  3. Once in the live environment, connect to the internet:

    iwctl
    station wlan0 connect YourWiFiSSID
    
  4. Verify internet access:

    ping archlinux.org
    

Step 5: Prepare the Partitions for Arch

Use lsblk or fdisk -l to identify your disks. Assuming the free space is unformatted, create partitions:

cfdisk /dev/sda

Create:

  • A new Linux filesystem partition in the free space.
  • Optional swap partition if not sharing with the other distro.

Format the partition:

mkfs.ext4 /dev/sdaX     # Replace with your new partition

Mount it:

mount /dev/sdaX /mnt

Mount the EFI partition (assuming it’s shared):

mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi     # Replace with your actual ESP

Step 6: Install Arch Base System

Install the base system and required packages:

pacstrap /mnt base linux linux-firmware networkmanager grub efibootmgr

Generate the fstab file:

genfstab -U /mnt >> /mnt/etc/fstab

Chroot into the new system:

arch-chroot /mnt

Step 7: Configure Arch Linux

Set your time zone:

ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc

Set locale:

echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen

echo "LANG=en_US.UTF-8" > /etc/locale.conf

Set hostname:

echo "archlinux" > /etc/hostname

Add host entries:

cat >> /etc/hosts <<EOF
127.0.0.1   localhost
::1         localhost
127.0.1.1   archlinux.localdomain archlinux
EOF

Set root password:

passwd

Enable NetworkManager:

systemctl enable NetworkManager

Step 8: Install and Configure the Bootloader

Install GRUB to the EFI system partition:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

Generate the GRUB config:

grub-mkconfig -o /boot/grub/grub.cfg

GRUB should automatically detect other installed Linux systems and create appropriate menu entries.


Step 9: Exit and Reboot

Exit the chroot and unmount everything:

exit
umount -R /mnt
reboot

Remove the USB stick.


Step 10: Boot and Test

Upon reboot, GRUB should present a menu allowing you to boot either Arch Linux or your other Linux distro.

If it doesn’t, try pressing Esc or Shift to bring up the GRUB menu during boot. If only Arch boots, you can regenerate GRUB in Arch:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Or from the other distro (e.g., Ubuntu):

sudo update-grub

Either way, one GRUB installation will control the boot menu — usually whichever was installed most recently.


Step 11: Post-Install Arch Setup (Optional)

After confirming the dual-boot works:

  • Create a new user:

    useradd -m -G wheel yourusername
    passwd yourusername
    
  • Enable sudo:

    EDITOR=nano visudo
    

    Uncomment the line: %wheel ALL=(ALL:ALL) ALL

  • Install a desktop environment, for example:

    pacman -S xorg gnome gnome-extra gdm
    systemctl enable gdm
    

You can customize your Arch system however you like from here.


Tips and Troubleshooting

  • UEFI is essential. Mixing BIOS and UEFI boot modes between distros will cause issues.
  • Do not overwrite the existing ESP. Both distros can share it.
  • Reinstalling one distro? It might overwrite the GRUB config. You can always boot into Arch and run grub-mkconfig again.
  • Want to switch the default boot OS? You can reorder entries in the firmware boot menu or use efibootmgr.

Example:

efibootmgr -o 0003,0001,0002

Conclusion

Dual-booting Arch Linux with another Linux distribution allows you to experiment with the power of Arch while keeping the convenience or familiarity of a more mainstream distro. The key is careful partitioning and proper bootloader setup. Once set up correctly, the dual-boot system can be a powerful, flexible environment tailored to your needs.

Whether you’re using Arch as a daily driver or just testing it out, this setup ensures you have a fallback system at your disposal — ideal for learning, development, and exploration in the Linux world.