Arch Linux provides a minimal base system for complete customization. This guide covers manual installation on UEFI and legacy BIOS systems.
Requirements: x86_64 machine, 512 MB RAM minimum, 2 GB disk space, active internet connection, 2 GB USB drive.
Step 1: Download the Arch Linux ISO
Download the latest ISO from archlinux.org/download. Verify the signature using the provided PGP file to ensure integrity.
Step 2: Create a Live USB for Arch Linux Install
Write the ISO to a USB drive. On Linux, use the dd command:
$ dd bs=4M if=/path/to/archlinux.iso of=/dev/sdX status=progress conv=fsync
Replace /dev/sdX with your USB device identifier. Use lsblk to identify the correct device.
Step 3: Boot from the Live USB
Insert the USB and restart the system. Press F2, F10, or F12 during boot to access the boot menu. Select the USB drive.
Select “Arch Linux install medium” and press Enter. The system boots to a root shell.
Set Keyboard Layout
The default layout is US. List available layouts:
$ ls /usr/share/kbd/keymaps/**/*.map.gz
Load a different layout:
$ loadkeys de-latin1
Step 4: Partition the Disk for Arch Linux
List available disks:
$ fdisk -l
Open the target disk in fdisk:
$ fdisk /dev/sda
Delete existing partitions with d. Create new partitions with n.
UEFI Partition Scheme
Create an EFI system partition (512 MB) and a root partition. Change the EFI partition type to “EFI System” using t and selecting type 1.
Legacy BIOS Partition Scheme
Create a single root partition using the full disk space.
Write changes with w.
Step 5: Create Filesystems
For UEFI Systems
$ mkfs.fat -F32 /dev/sda1 $ mkfs.ext4 /dev/sda2
For Legacy BIOS Systems
$ mkfs.ext4 /dev/sda1
Step 6: Connect to WiFi
Launch the wireless configuration utility:
$ iwctl
List wireless devices:
device list
Scan and connect:
station wlan0 scan station wlan0 get-networks station wlan0 connect "NetworkName"
Exit with Ctrl+D. Verify connectivity:
$ ping -c 3 archlinux.org
Step 7: Configure Mirrors
Sync the package database:
$ pacman -Syy
Install reflector:
$ pacman -S reflector
Update the mirror list:
$ reflector -c US -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
Step 8: Install Arch Linux Base System
Mount the root partition:
$ mount /dev/sda2 /mnt
For legacy BIOS, use /dev/sda1 instead.
Install base packages:
$ pacstrap /mnt base linux linux-firmware nano
Step 9: Configure the Arch Linux System
Generate the fstab file:
$ genfstab -U /mnt >> /mnt/etc/fstab
Enter the new system:
$ arch-chroot /mnt
Set Timezone
$ timedatectl set-timezone Region/City
Set Locale
Edit /etc/locale.gen and uncomment your locale. Generate it:
$ locale-gen $ echo LANG=en_US.UTF-8 > /etc/locale.conf
Set Hostname
$ echo myhostname > /etc/hostname
Set Root Password
$ passwd
Step 10: Install the GRUB Bootloader
For UEFI Systems
$ pacman -S grub efibootmgr $ mkdir /boot/efi $ mount /dev/sda1 /boot/efi $ grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB $ grub-mkconfig -o /boot/grub/grub.cfg
For Legacy BIOS Systems
$ pacman -S grub $ grub-install /dev/sda $ grub-mkconfig -o /boot/grub/grub.cfg
Step 11: Create a User Account
Install sudo:
$ pacman -S sudo
Create a user:
$ useradd -m username $ passwd username $ usermod -aG wheel,audio,video,storage username
Edit sudoers to enable wheel group:
$ EDITOR=nano visudo
Uncomment the line containing %wheel ALL=(ALL) ALL.
Step 12: Install a Desktop Environment
Install Xorg and NetworkManager:
$ pacman -S xorg networkmanager
Install GNOME:
$ pacman -S gnome
Enable services:
$ systemctl enable gdm $ systemctl enable NetworkManager
Exit chroot, unmount, and reboot:
$ exit $ umount -R /mnt $ reboot
Remove the USB drive when prompted. The GRUB bootloader loads, and GNOME displays the login screen.
FAQs
Arch Linux requires an x86_64 processor, 512 MB RAM, 2 GB disk space, and an internet connection during installation.
Run ls /sys/firmware/efi/efivars in the live environment. If the directory exists, the system uses UEFI.
Yes. Create separate partitions for Arch and preserve the existing Windows EFI partition. GRUB detects Windows automatically.
Slow or failed downloads result from outdated mirrors. Use reflector to update the mirror list with faster servers.
Run archinstall in the live environment for a guided menu-based installer that automates partition and configuration steps.