How to Install Arch Linux

Short answer

Boot the latest Arch ISO in UEFI mode with Secure Boot off, connect to the network, and run the guided installer:

# Wi-Fi only; Ethernet works automatically
iwctl station wlan0 connect "YourNetwork"
archinstall

Pick a disk layout, bootloader, profile (desktop), audio (PipeWire) and a user with sudo, then install and reboot. The manual method is below if you want full control.

Before you start

  • Arch is a rolling release. There is no version to choose; the ISO is rebuilt monthly and the system updates continuously with pacman -Syu. Read Arch news before big updates.
  • Hardware: x86_64 CPU, 512 MB RAM to install (2 GB+ for a desktop), 20 GB+ disk, and an internet connection during install.
  • Secure Boot: disable it in the firmware for the install.
  • Back up anything on the target disk. Partitioning mistakes are permanent.

Step 1: download and verify the ISO

Download archlinux-YYYY.MM.DD-x86_64.iso and its .sig file from archlinux.org/download (use a nearby mirror for the ISO, but take the signature from archlinux.org).

# on any Linux with GnuPG
gpg --keyserver-options auto-key-retrieve --verify archlinux-*-x86_64.iso.sig archlinux-*-x86_64.iso
# on an existing Arch system
pacman-key -v archlinux-*-x86_64.iso.sig
# checksum, compared with the value on the download page
sha256sum archlinux-*-x86_64.iso

A "Good signature" from a key listed on the download page (the release engineer's key) is what you want. Then write the ISO to a USB stick:

lsblk
sudo dd if=archlinux-2026.10.01-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync
dd erases the target disk

Use the whole USB device (/dev/sdb, not /dev/sdb1) and check it by size in lsblk. Ventoy, Rufus (DD mode) and balenaEtcher work too.

Step 2: boot and prepare the live environment

Boot the USB from the firmware boot menu, choosing the UEFI entry. You land at a root shell.

# confirm UEFI mode: prints 64 (or 32) on UEFI, "No such file" on BIOS
cat /sys/firmware/efi/fw_platform_size
# keyboard layout if not US
loadkeys de-latin1
# network
ip link
iwctl            # then: device list / station wlan0 scan / station wlan0 get-networks / station wlan0 connect SSID
ping -c 3 archlinux.org
# clock (must be right for signature checks)
timedatectl

Step 3a: the guided install with archinstall

Run archinstall and work through the menu. The choices that matter:

Menu itemRecommended choice
MirrorsYour region.
Disk configurationUse a best-effort default partition layout on an empty disk; ext4 for simplicity, Btrfs with the default subvolumes if you want snapshots. Use Manual partitioning to keep Windows.
Disk encryptionLUKS on laptops.
Bootloadersystemd-boot (UEFI) or GRUB (BIOS, dual boot with a small ESP).
Authentication / userCreate a user and mark it as superuser (sudo). Root password optional.
ProfileDesktop → GNOME, KDE Plasma, Xfce… Select the graphics driver here (open-source for AMD/Intel, nvidia-open for current NVIDIA).
AudioPipeWire.
Network configurationNetworkManager for desktops.
Timezone, localeSet both.

Select Install, confirm, and reboot when it finishes. Skip to step 4.

Step 3b: manual install (the Arch way)

Partition the disk

This example uses a whole empty NVMe disk with GPT: a 1 GiB EFI partition and the rest for root. Swap is a file or zram later.

lsblk
# interactive and safe to explore; nothing is written until you choose Write
cfdisk /dev/nvme0n1
#   new 1G  -> type "EFI System"
#   new rest -> type "Linux filesystem"
mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
mount /dev/nvme0n1p2 /mnt
mount --mkdir /dev/nvme0n1p1 /mnt/boot

More on partitioning tools and filesystems in Linux disk management.

Install the base system

# refresh the keyring first if the ISO is a few weeks old
pacman -Sy archlinux-keyring
pacstrap -K /mnt base linux linux-firmware intel-ucode networkmanager sudo nano vim
# use amd-ucode instead of intel-ucode on AMD CPUs
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab

If pacstrap fails with signature or "invalid or corrupted package" errors, see pacman invalid signature.

Configure the new system

arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
hwclock --systohc
# uncomment your locale, e.g. en_US.UTF-8 UTF-8
nano /etc/locale.gen
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
echo 'KEYMAP=de-latin1' > /etc/vconsole.conf     # only if not US
echo 'archbox' > /etc/hostname
systemctl enable NetworkManager
passwd
useradd -m -G wheel -s /bin/bash alice
passwd alice
# allow the wheel group to use sudo: uncomment "%wheel ALL=(ALL:ALL) ALL"
EDITOR=nano visudo

Install a bootloader

systemd-boot (UEFI, ESP mounted at /boot):

bootctl install
cat > /boot/loader/entries/arch.conf <<'EOF'
title   Arch Linux
linux   /vmlinuz-linux
initrd  /initramfs-linux.img
options root=UUID=PUT-ROOT-UUID-HERE rw
EOF
# fill in the UUID of the root partition
blkid -s UUID -o value /dev/nvme0n1p2

Microcode is embedded in the initramfs by mkinitcpio on current Arch, so no separate initrd line is needed for it. GRUB instead (UEFI):

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

Then leave the chroot and reboot:

exit
umount -R /mnt
reboot

For parameters such as nvidia-drm.modeset=1 or quiet, see kernel parameters.

Dual boot with Windows

  • Shrink Windows from its Disk Management, disable Fast Startup, and save the BitLocker recovery key.
  • Reuse the existing EFI partition; do not format it. In archinstall use manual partitioning and mark it as /boot (systemd-boot) or /efi (GRUB) without formatting.
  • Windows usually creates a 100 MB ESP, too small for Arch kernels and initramfs. Either use GRUB with the ESP at /efi (kernels then stay on the root filesystem under /boot), or create an extra XBOOTLDR partition for systemd-boot.
  • With GRUB, enable Windows detection:
    sudo pacman -S os-prober ntfs-3g
    echo 'GRUB_DISABLE_OS_PROBER=false' | sudo tee -a /etc/default/grub
    sudo grub-mkconfig -o /boot/grub/grub.cfg
  • systemd-boot detects Windows Boot Manager on the same ESP automatically.

Step 4: after the first boot

Desktop (manual installs)

# GNOME
sudo pacman -S gnome
sudo systemctl enable --now gdm
# or KDE Plasma
sudo pacman -S plasma-meta konsole dolphin
sudo systemctl enable --now sddm

Desktop-specific setup is covered in GNOME customization and the KDE Plasma guide.

Graphics and audio

# NVIDIA Turing (RTX 20 / GTX 16) and newer
sudo pacman -S nvidia-open nvidia-utils
# AMD / Intel: Mesa is pulled in by the desktop; add Vulkan drivers
sudo pacman -S vulkan-radeon     # or vulkan-intel
# audio
sudo pacman -S pipewire pipewire-pulse wireplumber

Older NVIDIA cards (Pascal and earlier) are not supported by nvidia-open; they need a legacy driver from the AUR or nouveau.

Maintenance habits

# full upgrade; never run "pacman -Sy package" alone (partial upgrades break things)
sudo pacman -Syu
# clean old package caches (package: pacman-contrib)
sudo pacman -S pacman-contrib
sudo systemctl enable --now paccache.timer
# check for .pacnew config files after updates
sudo pacdiff

For how pacman compares to apt and dnf, see Linux package managers. To use the AUR, install an AUR helper such as yay or paru after reading the PKGBUILDs it builds; AUR packages are user-submitted and not vetted.

Installation problems

  • USB will not boot: Secure Boot is still on, or the stick was written in ISO mode instead of DD mode.
  • "error: target not found" or 404s in pacstrap: refresh mirrors with reflector (on the ISO) or edit /etc/pacman.d/mirrorlist.
  • "failed to init transaction (unable to lock database)": see pacman unable to lock database.
  • Boots to a black screen or "grub rescue>": boot the ISO again, mount your partitions, arch-chroot /mnt and fix the bootloader; see grub rescue fix.
  • No network after reboot: NetworkManager was not enabled. Log in and run sudo systemctl enable --now NetworkManager, then nmtui.

The canonical reference is the Arch Wiki installation guide; this page follows it.

Frequently asked questions

Is archinstall a proper way to install Arch?

Yes. archinstall ships on the official ISO and produces a normal Arch system. The manual method teaches you more, but the result is equivalent.

Does the Arch ISO support Secure Boot?

The official ISO is not signed for Secure Boot, so disable Secure Boot to boot it. After installing you can set up your own keys with sbctl and turn it back on.

systemd-boot or GRUB on Arch?

systemd-boot is simpler on UEFI-only machines with a large enough EFI partition. Choose GRUB for BIOS systems, Btrfs snapshot booting, or when the Windows EFI partition is too small for kernels.

Why do I get PGP signature errors during pacstrap?

Usually the ISO is old or the clock is wrong. Run timedatectl to check the time and pacman -Sy archlinux-keyring on the live system, then retry.

Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.