Installing Arch Linux is a rite of passage for many Linux users. Unlike user friendly distributions that handle everything for you, Arch expects you to build your system piece by piece. This guide offers practical tips to get through the process cleanly.
Verify boot mode before starting
Before you run any commands, confirm your system is booted in UEFI mode. Run this command:
ls /sys/firmware/efi
If the directory exists, you are booted in UEFI mode. If it does not exist, you are in legacy BIOS mode. The installation steps differ slightly so getting this right saves you from redoing partitions later.
Partition with fdisk using modern layout
Use fdisk /dev/nvme0n1 (or /dev/sda for SATA drives) to create two partitions. The first should be a 512 MB or 1 GB EFI system partition. Set the type to EFI System with the t command and confirm with p. The second partition takes the remaining space and should be type Linux root.
After partitioning, format them:
mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
Mount root to /mnt, mount EFI to /mnt/boot, then install the base system.
mount /dev/nvme0n1p2 /mnt
mount --mkdir /dev/nvme0n1p1 /mnt/boot
pacstrap -K /mnt base linux linux-firmware vim sudo
Generate fstab and chroot
Generate the filesystem table and enter the new system.
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
Inside the chroot, set the time zone, locale, and hostname.
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "myhostname" > /etc/hostname
Install a bootloader
For UEFI systems, systemd-boot is simple and requires minimal setup.
bootctl install
Create /boot/loader/entries/arch.conf with the root partition UUID from blkid /dev/nvme0n1p2. If you prefer GRUB, install grub and efibootmgr then run grub-install and grub-mkconfig.
Create a user and enable networking
Set a root password, create a regular user, and enable NetworkManager.
passwd
useradd -m username
passwd username
usermod -aG wheel username
systemctl enable NetworkManager
Edit /etc/sudoers with visudo to uncomment the wheel group line.
Common pitfalls
New installs often fail because the EFI partition is not mounted before pacstrap or the bootloader entry points to the wrong partition UUID. When the system boots to a black screen, boot from the USB again, mount everything, chroot in, and check blkid against your loader entry. Another frequent mistake is forgetting the -K flag on pacstrap, which skips the initramfs generation and leaves you unable to boot.
Take it slow, read each command’s output, and reference the Arch Wiki when something is unclear. The upfront effort pays off with a fast, minimal system you fully understand.
References
- Arch Wiki Installation Guide: https://wiki.archlinux.org/title/Installation_guide
- Arch Wiki General Recommendations: https://wiki.archlinux.org/title/General_recommendations
- Arch Linux Downloads: https://archlinux.org/download/