What Arch installation actually involves
Arch Linux installation is not a graphical point-and-click process. You download a bootable image, write it to a USB drive, boot into a command-line environment, and run a series of text commands to partition your disk, install the base system, configure the bootloader, and set up your network. The entire process takes 30 minutes to two hours depending on your speed and whether you hit problems.
Unlike Ubuntu or Fedora, Arch does not hold your hand. There is no installer that asks you questions and makes decisions for you. You make every decision: which filesystem to use, how to partition the disk, which bootloader to install, whether to use GRUB or systemd-boot. This is why people choose Arch — you end up with exactly what you need, nothing more — but it also means you need to understand what each step does before you run it.
This guide walks you through the official installation process as documented in the Arch Linux Installation Guide. You will need a computer with at least 512 MB of RAM, a USB drive with at least 2 GB of space, and a working internet connection during installation.
Key Takeaways
- Download the Arch ISO from archlinux.org, write it to a USB drive using Etcher or dd, and boot from that USB.
- Partition your disk using fdisk or cfdisk, create filesystems with mkfs, and mount them to /mnt before installing anything.
- Run pacstrap to install the base system and linux kernel, then arch-chroot to enter the new system and configure it.
- Set the timezone, generate locale, set a root password, install a bootloader (GRUB or systemd-boot), and reboot into your new system.
- After first boot, create a user account, install a desktop environment if you want one, and configure sudo before logging in as root again.
Getting the Arch ISO and writing it to USB
Go to archlinux.org/download and download the ISO file. The file is called something like archlinux-2024.12.01-x86_64.iso. You can download it directly or use a torrent; both are legitimate. Verify the checksum if you want to be certain the file was not corrupted in transit — the SHA256 checksums are listed on the same download page.
Write the ISO to a USB drive using Balena Etcher (available for Windows, macOS, and Linux), which is the simplest method. Open Etcher, select the ISO file, select your USB drive, and click Flash. On Linux, you can also use dd: insert the USB drive, find its device name with lsblk, then run sudo dd if=archlinux-2024.12.01-x86_64.iso of=/dev/sdX bs=4M status=progress, replacing sdX with your actual device. Do not guess the device name — writing to the wrong disk will destroy data.
After writing is complete, insert the USB into the computer where you want to install Arch, reboot, and enter the boot menu. On most machines this is F12, F2, Esc, or Del during startup — your motherboard manual or boot screen will tell you which key. Select the USB drive and boot from it. You will see the Arch Linux boot prompt within a few seconds.
Partitioning the disk and creating filesystems
Once you are at the Arch boot prompt, you are running in a live environment with root access. Your new system will be installed to /mnt. First, identify your disk: run lsblk to see all disks and partitions. Your main disk is usually /dev/sda or /dev/nvme0n1 if you have an NVMe drive.
Open the disk with fdisk: sudo fdisk /dev/sda (replace sda with your actual disk). If the disk is brand new or you want to erase it completely, type g to create a new GPT partition table. Then create partitions: press n for new partition, accept the default partition number, set the first sector (usually just press Enter), and set the size. For a typical system, create at least two partitions: a 512 MB EFI partition (type ef00) and a larger root partition for everything else. Type t to change partition type, then w to write and exit.
Now create filesystems on those partitions. For the EFI partition, run sudo mkfs.fat -F 32 /dev/sda1. For the root partition, run sudo mkfs.ext4 /dev/sda2. Mount them to /mnt: sudo mount /dev/sda2 /mnt and sudo mkdir -p /mnt/boot/efi then sudo mount /dev/sda1 /mnt/boot/efi. Your disk is now ready to receive the Arch system.
Installing the base system with pacstrap
Before you run pacstrap, check that you have an internet connection: ping archlinux.org. If you are on WiFi, use iwctl to connect. If you are on Ethernet, it usually connects automatically.
Run sudo pacstrap -K /mnt base linux linux-firmware. This downloads and installs the base Arch system, the Linux kernel, and firmware files to /mnt. It will take several minutes depending on your internet speed. The -K flag initializes the pacman keyring, which is needed to verify packages.
While pacstrap runs, you can generate the fstab file in another terminal. Open a new terminal (Alt+F2 usually works in the live environment) and run sudo genfstab -U /mnt >> /mnt/etc/fstab. This creates a file that tells your system which partitions to mount at boot. Check it with cat /mnt/etc/fstab to make sure it looks reasonable.
Entering the new system and configuring it
Once pacstrap finishes, enter the new system with sudo arch-chroot /mnt. Your prompt will change and you are now inside the Arch system you just installed, even though it is not fully configured yet. From here, all commands run inside /mnt without the sudo prefix.
Set the timezone: ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime, replacing America/New_York with your actual timezone. Run hwclock --systohc to sync the hardware clock. Generate locale settings: edit /etc/locale.gen with nano /etc/locale.gen, uncomment the line for your language (usually en_US.UTF-8), save and exit, then run locale-gen. Create /etc/locale.conf with echo "LANG=en_US.UTF-8" > /etc/locale.conf.
Set your hostname: echo "myhostname" > /etc/hostname, replacing myhostname with what you want to call the computer. Set a root password: passwd and type a strong password twice. Install a bootloader: for GRUB, run pacman -S grub efibootmgr, then grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB, then grub-mkconfig -o /boot/grub/grub.cfg. For systemd-boot (simpler but less flexible), run pacman -S systemd-boot then bootctl --path=/boot/efi install.
First boot and creating a user account
Exit the chroot environment by typing exit, then unmount everything: sudo umount -R /mnt. Reboot: reboot. Remove the USB drive when prompted. Your system should boot into a login prompt.
Log in as root using the password you set. Create a user account: useradd -m -G wheel username, replacing username with your actual username. Set that user's password: passwd username. Install sudo: pacman -S sudo. Edit the sudoers file: EDITOR=nano visudo, find the line that says %wheel ALL=(ALL:ALL) ALL, uncomment it by removing the # at the start, save and exit. Now your user can run commands with sudo.
If you want a graphical desktop, install one now. For GNOME: pacman -S gnome gnome-extra then systemctl enable gdm. For KDE Plasma: pacman -S plasma kde-applications then systemctl enable sddm. For a lighter option like XFCE: pacman -S xfce4 xfce4-goodies then systemctl enable lightdm and pacman -S lightdm-gtk-greeter. Reboot and log in as your new user.
Troubleshooting common installation problems
If you cannot boot from USB, check that Secure Boot is disabled in your BIOS. Some systems require you to hold a specific key during startup to access the boot menu — check your motherboard manual. If the USB does not show up in the boot menu at all, try writing the ISO again or using a different USB drive.
If pacstrap fails partway through, you can run it again and it will resume. If you get a keyring error, run pacman-key --init and pacman-key --populate archlinux before trying pacstrap again. If you forget to mount the EFI partition before running pacstrap, you will need to reinstall the bootloader after chrooting back in.
If you cannot connect to the internet during installation, use iwctl to scan and connect to WiFi networks: iwctl station wlan0 scan, iwctl station wlan0 get-networks, iwctl station wlan0 connect SSID. If you are on Ethernet and it is not working, check that the cable is plugged in and try dhclient to request an IP address manually.
Frequently Asked Questions
Do I need to use GRUB or can I use systemd-boot instead?
You can use either. GRUB is more widely supported and handles complex setups better. systemd-boot is simpler and faster but does not work on all systems, particularly older ones. For a first installation, systemd-boot is easier — it requires fewer steps and fewer configuration files.
What if I want to dual-boot with Windows?
Install Windows first, then Arch. When you partition the disk during Arch installation, leave the Windows partitions alone and create new partitions for Arch. During bootloader installation, GRUB will detect Windows automatically and add it to the boot menu. systemd-boot does not detect Windows, so you would need to add it manually or use GRUB instead.
Can I install Arch on a computer with only 512 MB of RAM?
Technically yes, but it will be very slow. The installation itself works fine. After installation, a minimal command-line system uses about 100 MB of RAM. A graphical desktop environment like GNOME or KDE will struggle and may not run at all. If you have less than 2 GB of RAM, stick to lightweight environments like XFCE or i3.
What do I do if I make a mistake during partitioning?
If you have not run pacstrap yet, you can start over: run fdisk again, delete the partitions you created, and create new ones. If you have already installed the system, you can boot back into the live environment, mount /mnt again, arch-chroot back in, and fix the problem. The most common mistake is forgetting to mount the EFI partition, which you can fix by mounting it and reinstalling the bootloader.
How do I update Arch after installation?
Run sudo pacman -Syu regularly to update all packages. Arch is a rolling-release distribution, meaning updates come continuously rather than in numbered versions. Check the Arch Linux news page before major updates to see if there are any breaking changes you need to know about.