How to Install Arch Linux: A Beginner-Friendly Guide

Installing Arch Linux can be challenging your first time. This guide is for people who know the basics and are willing to install it manually.


1. Pre-Installation

Download the ISO

Visit the Arch Linux download page and download the ISO. Verify it using the .sig file.

Create a Bootable Drive

Use Rufus or Etcher. I had issues with Ventoy for this and prefer creating a dedicated bootable drive.

Boot the Live Environment

  • Disable Secure Boot in BIOS
  • Boot into the temporary boot screen and select your Arch USB
  • Check your motherboard manual for the key to access the boot menu (Delete on mine)

2. Preparing Your System

Verify UEFI Boot Mode

ls /sys/firmware/efi

If the folder exists, you’re in UEFI mode.

Connect to the Internet

  • Wi-Fi: use iwctl
  • Ethernet: plug and play (preferred)
ping archlinux.org

Update the System Clock

timedatectl set-ntp true

Identify Your Disk

lsblk
lsblk --output NAME,SERIAL,MODEL,TRAN,TYPE,SIZE,FSTYPE,MOUNTPOINT

Clear the Drive

gdisk /dev/sdX
# x → advanced options
# z → zap/wipe

Create Partitions

Use cgdisk /dev/sdX to create four partitions:

PartitionSizeType CodePurpose
sdX1512MiBEF00EFI/boot
sdX24GiB8200Swap
sdX340GiBdefaultRoot
sdX4remainingdefaultHome

Always leave the first sector empty when creating partitions.

Format Partitions

mkfs.fat -F 32 /dev/sdX1
mkswap /dev/sdX2
swapon /dev/sdX2
mkfs.ext4 /dev/sdX3
mkfs.ext4 /dev/sdX4

Mount Partitions

Always mount root first:

mount /dev/sdX3 /mnt
mount --mkdir /dev/sdX4 /mnt/home
mount --mkdir /dev/sdX1 /mnt/boot

3. Installing Arch Linux

Set Up Mirrors

cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
sudo pacman -Sy pacman-contrib
rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist

Install Base System

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

Generate fstab

genfstab -U /mnt   # verify you see your three mounted partitions
genfstab -U /mnt > /mnt/etc/fstab

Chroot

arch-chroot /mnt

4. Configure the System

Timezone

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

Localization

nano /etc/locale.gen
# Uncomment: en_US.UTF-8 UTF-8

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

Hostname

echo "myhostname" > /etc/hostname

Root Password

passwd

Configure GRUB

Select the whole drive, not just the boot partition:

grub-install --efi-directory=/boot /dev/sdX
grub-mkconfig -o /boot/grub/grub.cfg

5. Add a User

useradd -m -G wheel -s /bin/bash <username>
passwd <username>

# Enable sudo for wheel group
EDITOR=nano visudo
# Uncomment: %wheel ALL=(ALL:ALL) ALL

# Test
su - <username>
sudo echo "User setup complete!"

6. Post-Installation

systemctl enable NetworkManager

exit
umount -R /mnt
reboot

7. Desktop Environment

sudo pacman -Syu
sudo pacman -S plasma sddm konsole neofetch
sudo systemctl enable --now sddm

You can install a different DE — see the Arch Wiki desktop environment page.


I switched to Linux a month ago for my home system and a year ago on my laptop, but had never installed Arch manually before. It was easier than expected — only needed one restart. If you get stuck, the Arch Wiki is your best resource, or you can always fall back to archinstall for a guided process.


Last modified on 2024-11-28