3 min read

📘 Arch Linux Installation Guide (UEFI, Modern Hardware, With DE)

Below is a clean, modern, step-by-step documentation for installing Arch Linux with a Desktop Environment (DE) on a typical UEFI-based system.
This guide is written to be practical, new-user friendly, and technically correct.

1. Preparation

1.1 Download Arch ISO

  • Get the latest ISO from the official Arch Linux website.
  • Use the torrent or direct download.

1.2 Create a Bootable USB

Use one of:

Windows

  • Rufus → GPT / UEFI mode
  • Ventoy (copy ISO to USB)

Linux

sudo dd if=archlinux.iso of=/dev/sdX bs=4M status=progress oflag=sync

2. Boot Into the Arch ISO

Enter the BIOS:

  • Set UEFI only (disable Legacy/CSM)
  • Enable AHCI mode for storage
  • Boot from USB

Select Arch Linux (x86_64) in the boot menu.


3. Initial System Setup

3.1 Check Internet

For wired:

ping archlinux.org

For Wi-Fi:

iwctl
station wlan0 connect "SSID"

4. Partitioning (UEFI)

Standard layout:

PartitionSizeType
EFI300–512 MBFAT32
Root /20–100 GBext4/btrfs
Home /home(optional) remainderext4/btrfs
Swap2–8 GB or swapfileLinux swap

4.1 Launch partition tool

cfdisk /dev/nvme0n1

Choose gpt.


5. Format & Mount Partitions

5.1 Format

mkfs.fat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2

(Optional btrfs)

mkfs.btrfs /dev/nvme0n1p2

5.2 Mount

mount /dev/nvme0n1p2 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot

6. Install Base System

6.1 Update package list

pacman -Sy

6.2 Install core packages

pacstrap -K /mnt base linux linux-firmware networkmanager

7. Generate fstab

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

8. Enter the New System

arch-chroot /mnt

9. System Configuration

Time

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

Localization

Edit:

nano /etc/locale.gen

Uncomment:

en_US.UTF-8 UTF-8

Generate:

locale-gen

Hostname

echo myarch > /etc/hostname

Hosts file

nano /etc/hosts

Add:

127.0.0.1   localhost
::1         localhost
127.0.1.1   myarch.localdomain myarch

Enable NetworkManager

systemctl enable NetworkManager

10. Install Bootloader (GRUB UEFI)

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

11. Create User & Set Passwords

Root password

passwd

User

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

Enable sudo access:

EDITOR=nano visudo

Uncomment:

%wheel ALL=(ALL) ALL

12. Install Desktop Environment (DE) + Display Manager

Option A: KDE Plasma (recommended for modern systems)

pacman -S plasma sddm konsole dolphin packagekit-qt6
systemctl enable sddm

Option B: GNOME

pacman -S gnome gnome-tweaks gdm
systemctl enable gdm

Option C: XFCE (lightweight)

pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter
systemctl enable lightdm

13. Install Essential Extras

GPU drivers

Intel

pacman -S mesa

AMD

pacman -S mesa xf86-video-amdgpu

NVIDIA (proprietary)

pacman -S nvidia nvidia-utils nvidia-settings

Useful utilities

pacman -S git base-devel firefox vim htop pipewire pipewire-alsa pipewire-pulse

14. Finalize Installation

Exit & reboot:

exit
umount -R /mnt
reboot

Remove USB.
System should boot into your new Arch Linux Desktop Environment.


15. Post-Install Suggestions

  • Enable Bluetooth:
systemctl enable bluetooth
  • Enable multilib (for gaming / Steam)
    Edit /etc/pacman.conf → uncomment:
[multilib]
Include = /etc/pacman.d/mirrorlist

Then:

pacman -Sy
  • Install AUR helper (yay):
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si