A Guide to the Arch Linux Installation Process
Jul 23, 2025 am 02:45 AMPrepare a bootable USB with Arch Linux ISO, ensure your system can boot from it, and establish an internet connection—wired is preferred, or use iwctl for Wi-Fi; 2. Boot into the live environment, verify UEFI mode with ls /sys/firmware/efi/efivars, and sync the clock using timedatectl set-ntp true; 3. Partition the disk using gdisk for UEFI systems by creating an EFI partition (512M, type EF00), optional swap (8G, type 8200), and root partition (remainder, type 8300), then format them with mkfs.fat, mkswap, swapon, and mkfs.ext4 before mounting root to /mnt and boot to /mnt/boot; 4. Install base system using pacstrap /mnt base linux linux-firmware along with optional tools like vim, networkmanager, and sudo, then generate fstab with genfstab -U /mnt >> /mnt/etc/fstab and verify its contents; 5. Enter chroot with arch-chroot /mnt, configure timezone via ln -sf /usr/share/zoneinfo/Region/City /etc/localtime and hwclock --systohc, set locale by editing /etc/locale.gen, run locale-gen, write LANG=en_US.UTF-8 to /etc/locale.conf, set hostname in /etc/hostname and /etc/hosts, then assign root password with passwd; 6. Install GRUB bootloader: for UEFI, install grub and efibootmgr, run grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB, then generate config with grub-mkconfig -o /boot/grub/grub.cfg; 7. Enable essential services such as NetworkManager with systemctl enable NetworkManager; 8. Create a regular user with useradd -m -G wheel -s /bin/bash username, set a password, and allow sudo access by uncommenting %wheel ALL=(ALL) ALL in /etc/sudoers using visudo; 9. Exit chroot, unmount partitions with umount -R /mnt, and reboot to complete installation, then after login, connect to network, install a desktop environment if desired, and maintain the system using pacman -Syu while referring to the Arch Wiki for guidance.
Installing Arch Linux isn’t for the faint of heart—but that’s also what makes it rewarding. Unlike most distributions, Arch doesn’t come with a graphical installer or pre-configured desktop environment. Instead, you get a minimal base system and full control over every component. This guide walks you through the essential steps to install Arch Linux from start to finish.

1. Prepare the Installation Environment
Before installing, you’ll need:
- A bootable USB drive with the Arch Linux ISO
- A computer that can boot from USB (UEFI or legacy BIOS)
- An internet connection (wired is recommended for simplicity)
Boot into the Live Environment

- Plug in your USB and boot the machine.
- Select the Arch Linux entry from the boot menu.
- You’ll land in a minimal shell as the
root
user.
Verify Boot Mode
Check if you’re using UEFI:

ls /sys/firmware/efi/efivars
If the directory exists, you're in UEFI mode.
Connect to the Internet
For wired connections, it usually works out of the box. Confirm with:
ping archlinux.org
For Wi-Fi, use iwctl
:
iwctl [iwd]# device list [iwd]# station wlan0 scan [iwd]# station wlan0 get-networks [iwd]# station wlan0 connect SSID
Enter your password when prompted. Exit iwctl
with exit
.
Update the system clock:
timedatectl set-ntp true
2. Partition the Disk
Choose a disk (e.g., /dev/sda
for older systems or /dev/nvme0n1
for NVMe). Use fdisk -l
to list drives.
For UEFI Systems (Recommended)
Create a GPT partition table with:
gdisk /dev/sdX
Create three partitions:
- EFI System Partition: 512 MiB, type
EF00
- Swap Partition: Optional, e.g., 4–8 GiB, type
8200
- Root Partition: Rest of the space, type
8300
Example layout (/dev/sda
):
/dev/sda1
– EFI (512M)/dev/sda2
– Swap (8G)/dev/sda3
– Root (remainder)
Format Partitions
mkfs.fat -F32 /dev/sda1 # EFI mkswap /dev/sda2 # Swap swapon /dev/sda2 mkfs.ext4 /dev/sda3 # Root
Mount the file systems:
mount /dev/sda3 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/boot
3. Install the Base System
Use pacstrap
to install essential packages:
pacstrap /mnt base linux linux-firmware
Include additional tools if needed (e.g., vim
, networkmanager
, sudo
):
pacstrap /mnt base base-devel linux linux-firmware vim networkmanager sudo
Generate the filesystem table:
genfstab -U /mnt >> /mnt/etc/fstab
Verify it looks correct:
cat /mnt/etc/fstab
4. Configure the Installed System
Chroot into your new system:
arch-chroot /mnt
Set Timezone, Locale, and Hostname
Set your timezone:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime hwclock --systohc
Uncomment en_US.UTF-8 UTF-8
(or your preferred locale) in /etc/locale.gen
, then generate:
locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf
Set hostname:
echo myhostname > /etc/hostname
Edit /etc/hosts
:
127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname.localdomain myhostname
Set Root Password
passwd
5. Install a Bootloader
For UEFI systems, install and configure grub
:
pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB grub-mkconfig -o /boot/grub/grub.cfg
For legacy BIOS:
grub-install --target=i386-pc /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
6. Enable Essential Services
Enable NetworkManager for networking:
systemctl enable NetworkManager
Other common services: bluetooth
, cups
(printing), etc.
7. Create a Regular User
Avoid using root daily. Create a user:
useradd -m -G wheel -s /bin/bash username passwd username
Allow members of the wheel
group to use sudo
. Edit /etc/sudoers
with:
visudo
Uncomment this line:
%wheel ALL=(ALL) ALL
8. Reboot into Your New System
Exit chroot, unmount, and reboot:
exit umount -R /mnt reboot
Remove the USB when prompted.
After booting, log in and:
- Connect to Wi-Fi:
nmtui
ornmcli
- Install a desktop environment or window manager (optional)
- Update regularly with
pacman -Syu
Arch Linux gives you total control—from the kernel up. The installation process teaches you how Linux systems work under the hood. Once set up, use pacman
and the Arch Wiki to customize your system further.
Basically just take it step by step—and don’t skip the wiki.
The above is the detailed content of A Guide to the Arch Linux Installation Process. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

When encountering DNS problems, first check the /etc/resolv.conf file to see if the correct nameserver is configured; secondly, you can manually add public DNS such as 8.8.8.8 for testing; then use nslookup and dig commands to verify whether DNS resolution is normal. If these tools are not installed, you can first install the dnsutils or bind-utils package; then check the systemd-resolved service status and configuration file /etc/systemd/resolved.conf, and set DNS and FallbackDNS as needed and restart the service; finally check the network interface status and firewall rules, confirm that port 53 is not

If you find that the server is running slowly or the memory usage is too high, you should check the cause before operating. First, you need to check the system resource usage, use top, htop, free-h, iostat, ss-antp and other commands to check CPU, memory, disk I/O and network connections; secondly, analyze specific process problems, and track the behavior of high-occupancy processes through tools such as ps, jstack, strace; then check logs and monitoring data, view OOM records, exception requests, slow queries and other clues; finally, targeted processing is carried out based on common reasons such as memory leaks, connection pool exhaustion, cache failure storms, and timing task conflicts, optimize code logic, set up a timeout retry mechanism, add current limit fuses, and regularly pressure measurement and evaluation resources.

As a system administrator, you may find yourself (today or in the future) working in an environment where Windows and Linux coexist. It is no secret that some big companies prefer (or have to) run some of their production services in Windows boxes an

Frankly speaking, I cannot recall the last time I used a PC with a CD/DVD drive. This is thanks to the ever-evolving tech industry which has seen optical disks replaced by USB drives and other smaller and compact storage media that offer more storage

In Linux systems, 1. Use ipa or hostname-I command to view private IP; 2. Use curlifconfig.me or curlipinfo.io/ip to obtain public IP; 3. The desktop version can view private IP through system settings, and the browser can access specific websites to view public IP; 4. Common commands can be set as aliases for quick call. These methods are simple and practical, suitable for IP viewing needs in different scenarios.

Built on Chrome’s V8 engine, Node.JS is an open-source, event-driven JavaScript runtime environment crafted for building scalable applications and backend APIs. NodeJS is known for being lightweight and efficient due to its non-blocking I/O model and

Data replication is the process of copying your data across multiple servers to improve data availability and enhance the reliability and performance of an application. In MySQL replication, data is copied from a database from the master server to ot
