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:
| Partition | Size | Type Code | Purpose |
|---|---|---|---|
| sdX1 | 512MiB | EF00 | EFI/boot |
| sdX2 | 4GiB | 8200 | Swap |
| sdX3 | 40GiB | default | Root |
| sdX4 | remaining | default | Home |
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