Arch Linux Install Guide (UEFI, 2025 Edition)

A quick and painless guide on installing Arch, btw.

Arch Linux Install Guide (UEFI, 2025 Edition)

This guide walks you through a clean Arch Linux installation on a UEFI system. If your computer was made in the last ~8 years, you’re almost certainly using UEFI. If you’re unsure, boot into the Arch ISO and check for the UEFI boot message.

πŸ–₯️ Before You Start

  • This guide assumes you’ve created a bootable USB with the Arch ISO and booted into it.
  • If you’re not on UEFI, check the link in the YouTube description for BIOS (legacy boot) instructions.
  • Throughout this guide, we’ll reference the official Arch Wiki installation guide β€” use it!

⌨️ Keyboard Layout (if not US)

If you use a non-US keyboard:

loadkeys fr       # For French
loadkeys de       # For German

If you’re on a US keyboard, you can skip this step.

🌐 Connect to the Internet

For Ethernet:

ping archlinux.org

For Wi-Fi, refer to iwctl setup instructions.

🧠 Terminal Tips

  • Ctrl+C cancels a command
  • Ctrl+L clears the terminal
  • To enlarge terminal font:
    setfont ter-v32b
    

πŸ’½ Partition the Disk

We’ll use cfdisk instead of fdisk for ease:

cfdisk

Choose gpt for label type (UEFI only). Delete existing partitions and create the following:

  1. EFI Boot Partition – 1G β†’ /dev/sda1
  2. Swap Partition – 4G β†’ /dev/sda2
  3. Root Partition – rest of the disk β†’ /dev/sda3

Write changes and quit.


🧱 Format Partitions

mkfs.fat -F32 /dev/sda1         # EFI
mkswap /dev/sda2               # Swap
mkfs.ext4 /dev/sda3            # Root

πŸ”§ Mount Filesystems

mount /dev/sda3 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
swapon /dev/sda2
lsblk                          # Confirm mounts

πŸ“¦ Install Base System

pacstrap /mnt base linux linux-firmware sof-firmware base-devel grub efibootmgr networkmanager

Optional tools:

pacstrap /mnt sudo vim

πŸ“ Generate fstab

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

πŸšͺ Chroot into System

arch-chroot /mnt

🌍 Timezone and Clock

ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
hwclock --systohc

🌐 Locale

Edit locale file:

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

Set LANG:

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

(Optional) Set keyboard layout permanently:

echo "KEYMAP=us" > /etc/vconsole.conf

🌐 Hostname & Network

echo "archbtw" > /etc/hostname

Edit /etc/hosts and add:

127.0.0.1   localhost
::1         localhost
127.0.1.1   archbtw.localdomain archbtw

Set root password:

passwd

πŸ‘€ Create User

useradd -mG wheel -s /bin/bash tony
passwd tony

Enable sudo for wheel group:

EDITOR=vim visudo
# Uncomment: %wheel ALL=(ALL:ALL) ALL

Test sudo:

su - tony
sudo pacman -Syu

πŸ“‘ Enable Network Manager

systemctl enable NetworkManager

πŸ₯Ύ Install GRUB Bootloader

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

Ignore the GRUB_DISABLE_OS_PROBER warning if you’re not dual-booting.


πŸ”š Finish Installation

exit
umount -a
reboot

Login as your new user (e.g. tony).


πŸ–₯️ Install Desktop Environment (Cinnamon)

sudo pacman -S cinnamon lightdm lightdm-gtk-greeter

Optional:

sudo pacman -S alacritty firefox

Enable display manager:

systemctl enable lightdm --now

πŸŽ‰ Final Step: Neofetch

sudo pacman -S neofetch
neofetch

Congrats β€” Arch Linux is installed and you’re officially able to tell your friends you use Arch, by the way.

Watch the full walkthrough on YouTube
More guides and dotfiles at yourdomain.com

Related Posts

Neovim | Complete IDE Tutorial

Neovim | Complete IDE Tutorial

  • July 22, 2025
  • Tony, btw

A quick and painless guide on installing and configuring Neovim, and how to use it as your full daily driver IDE, btw.

Gentoo Linux Install Guide (2026 Edition)

Gentoo Linux Install Guide (2026 Edition)

  • July 22, 2025
  • Tony, btw

A quick and painless guide on installing Gentoo, btw.