Ultimate Guide to Installing Arch Linux (2025 Edition)
Everything you need to know to install Arch Linux successfully in 2025.
Introduction
Arch Linux remains one of the most respected distributions among Linux enthusiasts for good reason. Its “keep it simple” philosophy, rolling release model, and minimalist approach give users complete control over their system. While Arch’s installation process has evolved over the years, it still requires more manual intervention than most distributions—and that’s by design.
This guide covers the complete installation process for Arch Linux in 2025, including the latest tools and best practices. Whether you’re a first-time Arch user or returning for a fresh installation, we’ll walk through every step to ensure success.
Why Choose Arch Linux in 2025?
Before diving into installation, let’s consider why Arch might be the right choice for you:
- Complete customization: Build your system from the ground up with only what you need
- Rolling release model: Get the latest software updates without major version upgrades
- Exceptional documentation: The Arch Wiki remains the gold standard for Linux documentation
- Active community: A knowledgeable and helpful community in forums and IRC/Discord
- Pacman package manager: Fast, powerful, and straightforward package management
- AUR (Arch User Repository): Access to thousands of community-maintained packages
The installation process itself serves as an excellent learning opportunity about how Linux systems work underneath the hood.
Prerequisites
Before starting, ensure you have:
- A computer with at least 2GB RAM (4GB+ recommended for desktop environments)
- At least 20GB free disk space (more recommended for practical use)
- Internet connection (wired is easier for installation)
- USB drive (4GB+) for the installation media
- Basic familiarity with command line operations
- 1-2 hours of uninterrupted time
- Patience and willingness to learn
Preparation
1. Download the ISO
Download the latest Arch Linux ISO from the official download page. As of 2025, the ISO includes several quality-of-life improvements like the archinstall
script, though we’ll cover both guided and manual installation methods.
2. Create a Bootable USB Drive
On Linux:
# Replace /dev/sdX with your USB device (be careful to get this right!)
sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sdX status=progress oflag=sync
On Windows:
Use Rufus, Etcher, or Ventoy to write the ISO to your USB drive.
On macOS:
# Replace diskN with your USB device
sudo dd if=/path/to/archlinux.iso of=/dev/diskN bs=4m
3. Boot from USB
- Insert your USB drive and restart your computer
- Enter your BIOS/UEFI settings (usually by pressing F2, F12, Del, or Esc during boot)
- Set your USB drive as the first boot device
- Save changes and exit
Quick Installation with Archinstall (The Easy Way)
Since 2021, Arch Linux has included the archinstall
script which automates much of the installation process. In 2025, this tool has matured significantly and offers an excellent way to get started.
- Boot from the Arch ISO and select “Arch Linux install medium”
- Once at the prompt, verify your internet connection:
ping -c 3 archlinux.org
- Run the guided installer:
archinstall
- Follow the interactive prompts to configure your installation:
- Select your language and location
- Choose a disk layout (the automatic partitioning works well for most users)
- Select a desktop environment (or none for a minimal installation)
- Set your username, password, and hostname
- Choose additional packages to install
- Review your selections and proceed with the installation
- When finished, reboot into your new system
While archinstall
is convenient, many Arch users prefer the manual installation for complete control and learning purposes. Let’s cover that next.
Manual Installation (The Arch Way)
1. Boot into the Live Environment
Once booted from the USB, you’ll see the Arch Linux boot menu. Select “Arch Linux install medium” and press Enter.
2. Set Console Keyboard Layout (if needed)
The default layout is US. If you use a different keyboard layout:
# List available layouts
ls /usr/share/kbd/keymaps/**/*.map.gz
# Load your preferred layout (e.g., UK)
loadkeys uk
3. Verify Boot Mode
Check if your system uses UEFI or BIOS:
ls /sys/firmware/efi/efivars
If the command shows files, you’re in UEFI mode. If it shows an error, you’re in BIOS mode.
4. Connect to the Internet
For wired connections, the live environment should connect automatically. Verify with:
ping -c 3 archlinux.org
For Wi-Fi, use iwctl
:
iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect SSID
# Enter password when prompted
exit
5. Update System Clock
timedatectl set-ntp true
6. Partition the Disks
First, identify your target disk:
lsblk
Use fdisk
or gdisk
(for GPT) or cfdisk
(easier TUI):
cfdisk /dev/nvme0n1 # Replace with your disk
For UEFI systems:
- Create a 512 MB EFI System Partition (ESP)
- Create a swap partition (optional, recommended size = RAM size up to 16GB)
- Create a root partition with the remaining space (you can also create separate home partition)
For BIOS systems:
- Create a 1MB BIOS boot partition (type 4)
- Create a swap partition
- Create a root partition
7. Format the Partitions
Format the EFI partition (UEFI only):
mkfs.fat -F32 /dev/nvme0n1p1
Format swap partition (if created):
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2
Format root partition:
mkfs.ext4 /dev/nvme0n1p3
Format home partition (if separate):
mkfs.ext4 /dev/nvme0n1p4
8. Mount the File Systems
mount /dev/nvme0n1p3 /mnt
Create and mount the EFI directory (UEFI only):
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
Mount home partition (if separate):
mkdir /mnt/home
mount /dev/nvme0n1p4 /mnt/home
9. Install Base System
The pacstrap
tool installs the base system:
pacstrap /mnt base linux linux-firmware intel-ucode # or amd-ucode
Also install essential tools:
pacstrap /mnt base-devel vim nano git networkmanager
10. Generate Fstab
genfstab -U /mnt >> /mnt/etc/fstab
11. Chroot into the New System
arch-chroot /mnt
12. Set Time Zone and Localization
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
Edit /etc/locale.gen
and uncomment your locale (e.g., en_US.UTF-8
):
nano /etc/locale.gen
Generate locales:
locale-gen
Create /etc/locale.conf
:
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Set keyboard layout (if different):
echo "KEYMAP=uk" > /etc/vconsole.conf
13. Network Configuration
Set hostname:
echo "myhostname" > /etc/hostname
Edit hosts file:
nano /etc/hosts
Add these lines:
127.0.0.1 localhost
::1 localhost
127.0.1.1 myhostname.localdomain myhostname
Enable NetworkManager:
systemctl enable NetworkManager
14. Set Root Password
passwd
15. Install Boot Loader
For UEFI systems:
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ARCH
grub-mkconfig -o /boot/grub/grub.cfg
For BIOS systems:
pacman -S grub
grub-install --target=i386-pc /dev/nvme0n1 # Replace with your disk
grub-mkconfig -o /boot/grub/grub.cfg
16. Create a User Account
useradd -m -G wheel username
passwd username
17. Set Up Sudo
Install sudo:
pacman -S sudo
Edit sudoers file:
EDITOR=nano visudo
Uncomment the line:
%wheel ALL=(ALL) ALL
18. Final Steps
Exit the chroot environment:
exit
Unmount all partitions:
umount -R /mnt
Reboot:
reboot
Post-Installation Steps
After logging into your new Arch system, here are some essential next steps:
1. Install a Desktop Environment
KDE Plasma:
sudo pacman -S xorg plasma plasma-wayland-session kde-applications
sudo systemctl enable sddm
sudo systemctl start sddm
GNOME:
sudo pacman -S xorg gnome gnome-extra
sudo systemctl enable gdm
sudo systemctl start gdm
Xfce (lightweight):
sudo pacman -S xorg xfce4 xfce4-goodies lightdm lightdm-gtk-greeter
sudo systemctl enable lightdm
sudo systemctl start lightdm
2. Install Graphics Drivers
NVIDIA:
sudo pacman -S nvidia nvidia-utils
AMD:
sudo pacman -S xf86-video-amdgpu
Intel:
sudo pacman -S xf86-video-intel
3. Install Useful Applications
sudo pacman -S firefox thunderbird vlc libreoffice-fresh gimp
4. Set Up AUR Helper
The AUR (Arch User Repository) contains thousands of community-maintained packages. Using an AUR helper simplifies installation:
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
Now you can install AUR packages:
yay -S google-chrome visual-studio-code-bin spotify
5. Enable SSD TRIM (if applicable)
sudo systemctl enable fstrim.timer
6. Set Up Firewall
sudo pacman -S ufw
sudo ufw default deny
sudo ufw allow ssh
sudo ufw enable
sudo systemctl enable ufw
7. Configure Automatic Updates (Optional)
Install pacman-contrib:
sudo pacman -S pacman-contrib
Create timer files:
sudo systemctl enable paccache.timer
Troubleshooting Common Issues
No Internet After Installation
If you can’t connect to the internet after installation:
sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager
nmtui # Connect using text UI
Boot Problems
If the system doesn’t boot:
- Boot from the installation media
- Mount your partitions (
mount /dev/nvme0n1p3 /mnt
) - Chroot into your system (
arch-chroot /mnt
) - Reinstall and reconfigure GRUB
Failed to Start X Server
This is often due to graphics driver issues. Boot into terminal mode and install the correct drivers.
Advanced Configurations
Full Disk Encryption
For added security, consider setting up LUKS encryption during installation. This requires additional steps during the partitioning phase.
Dual-Booting with Windows
When dual-booting with Windows:
- Install Windows first
- Install Arch on separate partitions
- GRUB will detect Windows automatically during
grub-mkconfig
ZFS or Btrfs File Systems
For advanced file system features like snapshots, consider using Btrfs instead of ext4:
mkfs.btrfs /dev/nvme0n1p3
Installing on a Raspberry Pi
Arch Linux ARM provides specific installation instructions for various ARM devices, including Raspberry Pi models.
Maintaining Your Arch System
Regular System Updates
Update your system regularly:
sudo pacman -Syu
System Maintenance
Remove orphaned packages:
sudo pacman -Rns $(pacman -Qtdq)
Clear the package cache:
sudo paccache -r
Backup Strategy
Consider setting up automatic backups using tools like:
- Timeshift
- Snapper (for Btrfs)
- Restic
- Borg
Conclusion
Congratulations on installing Arch Linux! You now have a minimal, custom Linux distribution that’s exactly what you want it to be—nothing more, nothing less. The learning curve might be steep, but the knowledge gained and the flexibility of your system make it worthwhile.
The Arch philosophy of simplicity and user-centrality gives you complete control over your computing environment. As you continue to use and customize your system, you’ll discover the true power and flexibility that makes Arch Linux a favorite among enthusiasts and professionals alike.
Remember that the Arch Wiki is your best friend for any questions or issues you might encounter. The Arch community also provides support through the official forums and IRC channels.
Happy Arching!