How to Dual-Boot Arch Linux with Another Linux Distro
Categories:
5 minute read
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:
- EFI System Partition (ESP) – Shared by both OSes for boot files.
- Root partition for Distro A (e.g.,
/
for Ubuntu). - Root partition for Distro B (e.g.,
/
for Arch). - 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.
Write the Arch ISO to a USB using
dd
, Ventoy, or an app like Balena Etcher.Boot into the USB using UEFI mode (check your BIOS/UEFI settings).
Once in the live environment, connect to the internet:
iwctl station wlan0 connect YourWiFiSSID
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.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.