How to Install Arch Linux alongside Windows (Dual Boot)

How to Install Arch Linux alongside Windows (Dual Boot)

Arch Linux is renowned for its simplicity, flexibility, and the control it offers users over their system. However, for users who still want to retain access to Windows while exploring Arch, dual booting is a popular and practical choice. Setting up a dual-boot system with Windows and Arch Linux requires careful partitioning, bootloader configuration, and some attention to detail—especially for systems using UEFI.

In this article, we’ll guide you through the complete process of dual booting Arch Linux alongside Windows, from preparation to successful installation and boot management.


Table of Contents

  1. Prerequisites
  2. Backup Important Data
  3. Prepare Windows for Dual Boot
  4. Create Bootable Arch Linux USB
  5. Boot into Arch Linux Live Environment
  6. Partitioning the Disk
  7. Format and Mount Partitions
  8. Install Base Arch System
  9. Configure the System
  10. Install a Bootloader (GRUB)
  11. Reboot and Test
  12. Troubleshooting Tips
  13. Conclusion

1. Prerequisites

Before proceeding, make sure you have the following:

  • A system with Windows 10 or 11 already installed.
  • A UEFI-enabled system (most modern computers use UEFI, not Legacy BIOS).
  • At least 20 GB of unallocated space on your drive for Arch Linux.
  • A USB drive (at least 2 GB).
  • Stable internet connection for Arch installation.
  • Basic understanding of Linux terminal commands.

2. Backup Important Data

Although the installation process is generally safe if followed correctly, there’s always a risk when modifying disk partitions. It’s highly recommended to back up your important files from Windows to an external drive or cloud storage.


3. Prepare Windows for Dual Boot

You’ll need to shrink your Windows partition to make space for Arch.

Steps:

  1. Open Disk Management:
    • Press Win + X, then select Disk Management.
  2. Shrink Volume:
    • Right-click on your main Windows partition (usually C:) and choose Shrink Volume.
    • Enter the amount of space to shrink (e.g., 30000 MB for 30 GB).
  3. Leave the new space unallocated — Arch will use this for its partitions.

Turn Off Fast Boot (Important!)

  1. Go to Control Panel > Power Options > Choose what the power buttons do.
  2. Click Change settings that are currently unavailable.
  3. Uncheck Turn on fast startup, then save changes.

Secure Boot can cause issues with Linux bootloaders. To disable:

  1. Reboot and enter BIOS/UEFI settings (usually pressing DEL, F2, or ESC during startup).
  2. Look for Secure Boot and disable it.

4. Create Bootable Arch Linux USB

Download the ISO:

Create the Bootable USB:

  • Use Rufus on Windows:
    • File system: FAT32
    • Partition scheme: GPT (UEFI)
    • Target system: UEFI (non-CSM)

5. Boot into Arch Linux Live Environment

  1. Plug in the USB and reboot.
  2. Enter the Boot Menu (F12, F10, or similar).
  3. Select the Arch Linux USB device.
  4. Choose the option to Boot Arch Linux (x86_64).

Once loaded, you’ll be in the Arch terminal environment.


6. Partitioning the Disk

Identify the disk:

Run:

lsblk

Look for your internal disk (usually /dev/nvme0n1 or /dev/sda).

Create Linux partitions using cfdisk or fdisk:

Use:

cfdisk /dev/sdX

Where X is your disk letter.

Recommended partitions:

  • Root (/) – at least 20 GB, type Linux filesystem.
  • EFI System Partition (ESP) – reuse existing Windows ESP (~100-300 MB), or create one if it doesn’t exist.
  • (Optional) Swap – equal to your RAM if you want hibernation.

Ensure all partitions are of type:

  • EFI System – for the ESP.
  • Linux filesystem – for root and any others.

7. Format and Mount Partitions

Format the root partition:

mkfs.ext4 /dev/sdXn

Mount the root:

mount /dev/sdXn /mnt

Mount the EFI partition:

Assuming it’s /dev/sdX1:

mkdir /mnt/boot
mount /dev/sdX1 /mnt/boot

If using a separate boot partition, mount accordingly.


8. Install Base Arch System

Run:

pacstrap -K /mnt base linux linux-firmware nano networkmanager grub efibootmgr

This installs the Linux kernel, firmware, basic utilities, and GRUB.


9. Configure the System

Generate fstab:

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

Chroot into the new system:

arch-chroot /mnt

Set time zone:

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

Localization:

Edit /etc/locale.gen:

nano /etc/locale.gen

Uncomment en_US.UTF-8 UTF-8, then run:

locale-gen

Set the locale:

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

Set hostname:

echo "archdual" > /etc/hostname

Add hosts:

nano /etc/hosts
127.0.0.1   localhost
::1         localhost
127.0.1.1   archdual.localdomain archdual

Set root password:

passwd

Enable networking:

systemctl enable NetworkManager

10. Install a Bootloader (GRUB)

Install GRUB for UEFI:

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

Create GRUB config:

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

GRUB will detect Windows and add it to the menu automatically.


11. Reboot and Test

  1. Exit the chroot:
exit
  1. Unmount partitions:
umount -R /mnt
  1. Reboot:
reboot
  1. Remove USB when prompted.

If everything went well, you should see a GRUB menu listing both Arch Linux and Windows Boot Manager.


12. Troubleshooting Tips

No Windows in GRUB Menu?

Reboot into Arch, and run:

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

Make sure os-prober is installed:

pacman -S os-prober

Black screen or boot issues?

  • Double-check partition mounts and GRUB installation.
  • Check UEFI/BIOS settings — secure boot must be off.
  • Ensure the EFI partition is correctly mounted to /boot.

Arch not booting but Windows works?

It could be a boot order issue. Enter BIOS and set Arch/GRUB as the first boot option.


13. Conclusion

Dual booting Arch Linux alongside Windows gives you the best of both worlds—maintaining your familiarity with Windows while gaining the power and flexibility of Arch. While the process involves multiple steps and requires attention to detail, it’s a highly rewarding learning experience.

By understanding the partitioning scheme, configuring GRUB correctly, and setting up your Arch environment, you’ll gain a deeper insight into how Linux works under the hood.

Whether you’re using Arch for development, experimentation, or daily use, this dual boot setup is a powerful and versatile option.