Author(s)
Lunear
About 2104 wordsAbout 7 min
2025-05-29
Author(s)
Lunear
DISCLAIMER
This guide will not hold responsibility for any personal data loss or damages of any kind, proceed with personal judgement.
Note
Before starting, it's recommended to read the official installation guide and understand the major concepts.
Warning
This guide only works with UEFI/GPT Systems. For BIOS/MBR Systems, this guide will NOT work.
Part 1: Preparation
Prepare an unallocated free space for Arch (Recommended 80GB+)
Windows partitioning tool: diskmgmt.msc
Linux partition tool: GParted
If Dual-Booting with Windows: Take notes on the Windows EFI Partition Directory
Install the Arch mirror ISO from the official website, for country, selecting any mirror from the US
Write the ISO into a bootable USB using Rufus or Ventoy for multiple ISOs on the same USB
Reboot into system BIOS System and boot into the USB.Note: Turn off secure boot
Part 2. Connect to the Internet
Use iwctl tool for internet connection.
device list
Important
If not network adaptor is shown, force shutdown and reboot. If problem persist, Arch is not for you.
station <device> scan
station <device> get-networks
station <device_name> connect “<network_name>”
ping archlinux.org
Part 3. Partitioning
Info
Both cfdisk and fdisk are available as tools for partitioning. In this guide, cfdisk would be used
List the hard drives and partition:
Take notes on the hard drive name.
# Examples:
/dev/nvme0n1
/dev/sda...
Run:
cfdisk /dev/primary <Hard drive name>
# Example
cfdisk /dev/nvme0n1.
Search for the unallocated space designated for Arch
Essential Partitions:
EFI Partition
Swap Partition
Root Parition: Two Options
Formatting:
mkfs.fat -F 32 /dev/<efi_system_partition>
Skip this step if you already have a EFI Partition
mkfs.ext4 /dev/<root_partition>
mkswap /dev/<swap_partition>
mkfs.ext4 /dev/<home_partition>
Mount System Partitions:
mount /dev/root_partition /mnt
mount /dev/efi_partition /mnt/boot
If directory does not exist make the directory:
mkdir /mnt/boot
swapon /dev/swap_partition
Part 4. Installation
Run:
pacstrap -K /mnt base linux linux-firmware nano networkmanager
Part 5. System Configuration
To generate fstab with UUID (recommended) Run:
genfstab -U /mnt >> /mnt/etc/fstab
Chroot into the Arch System
arch-chroot /mnt
Time:
Run
ln -sf /usr/share/zoneinfo/<Region>/<City>/etc/localtime
# Example setting the timezone to Caracas, Venezuela:
ln -sf /usr/share/zoneinfo/Americas/Caracas/etc/localtime
Run hwclock to generate /etc/adjtime:
hwclock --systohc
Important
This command assumes the hardware clock is set to UTC
Localization:
/etc/locale.gen
and uncomment en_US.UTF-8 UTF-8
and other needed UTF-8 locales# Example: (Note: nano is an editor)
nano /etc/locale.conf
Ctrl + o
and enter to save the changes and Ctrl + x
to exitInitramfs:
"Creating a new initramfs is usually not required, because mkinitcpio was run on installation of the kernel package with pacstrap." -Archlinux.org
Run it if you have system encryption (Bitlocker)
mkinitcpio -P
Create locale.conf file
/etc/locale.conf
# Example: (Note: nano is an editor)
nano /etc/locale.conf
LANG=en_US.UTF-8
Ctrl + o
and enter to save the changes and Ctrl + x
to exit ::::Part 6. Network Configuration
systemctl enable NetworkManager
Part 7. Root Password
To create a root password, run:
passwd
If a normal user is desired, you can create another user by running:
useradd -m <user-name>
To give the user a password, run:
passwd <user-name>
Make user a superuser:
pacman -S Sudo
usermod -aG wheel,storage,power user-name
EDITOR=nano visudo
Uncomment %wheel ALL-(ALL) ALL
and add Defaults timestamp_timeout=0
directly under
Ctrl + o
and enter to save the changes and Ctrl + x
to
Info
For more information, reference to this Youtube Video at minute 21:11
Part 8 Bootloader
Choose and install a Linux-capable bootloader. If you have an Intel or AMD CPU, enable Microcode updates in addition.
# For Intel CPU:
pacman -S amd-ucode
# For AMD CPU:
pacman -S amd-ucode
In this guide, Grub would be used as a bootloader
# Install grub and efibootmgr:
pacman -S grub efibootmgr
# For Dual-Booting:
pacman -S os-prober
Note
If using os-prober
, edit /etc/default/grub
and uncomment the last line GRUB_DISABLE_OS_PROBER=false
Run grub-install
:
grub-install --target=x86_64-efi --efi-directory= <EFI_partition_mount_directory> --bootloader-id=Arch
Note: Make sure that the EFI partition have enough storage, you can delete unwanted bootloaders by:
ls /boot
ls /boot/EFI
ls rm -rf /boot/<directory-of-bootloader>
Now we want to create a config inside file the installed grub entry called “Arch” in the previous step
grub-mkconfig -o /boot/grub/grub.cfg
Info
Refer to this link if things gets complicated
Part 9. Reboot
Use nmcli to connect to network
# Show local network interface
nmcli device
# List nearby WIFI netoworks
nmcli <device> wifi list
# Connect to a WIFI network
nmcli <device> wifi connect <SSID_or_BSSID> password <password>
Perform system update:
sudo pacman -Syu
Install fastfetch
sudo pacman -S fastfetch
Run fastfetch
Take picture and prove you’re a prestigious Arch user
Part 10. Post Installation
sudo pacman -S gnome
sudo pacman -S plasma-meta
Audio (Pulse Audio vs. Pipewire)
sudo pacman -S pipewire pipewire-pulse pipewire-jack wireplumber
systemctl --user enable --now pipewire pipewire-pulse wireplumber
sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol
systemctl --user enable --now pulseaudio
Yay Installation - Yay is a package manager that allows the user to access the AUR repository
sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
Repo:
sudo pacman-key --recv-keys 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
sudo pacman-key --finger 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
sudo pacman-key --lsign-key 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
sudo pacman-key --finger 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
/etc/pacman.conf
and add[g14]
Server = https://arch.asus-linux.org
sudo pacman -Suy
Asusctl - custom fan profiles, anime, led control etc.
pacman -S asusctl power-profiles-daemon
systemctl enable --now power-profiles-daemon.service
Superfxctl - graphics switching
pacman -S supergfxctl switcheroo-control
systemctl enable --now supergfxd
systemctl enable --now switcheroo-control
ROG Control Center - GUI
pacman -S rog-control-center
Custom Kernel
pacman -Sy linux-g14 linux-g14-headers
grub-mkconfig -o /boot/grub/grub.cfg
unname -r
it should output:# -g14 is the important one
6.8.1-arch1-g14
nvidia-dkms
package for nvidia drivers.sudo pacman -S nvidia-dkms
Important
Note that all fixes below may vary depending on the user's specific situation.
Make sure to identify the error before copying the commands listed under.
Yay Error: error while loading shared libraries
# Remove yay for update
sudo pacman -R yay
# Install yay from git
cd /tmp
git clone https://aur.archlinux.org/yay-bin.git
cd yay bin
makepkg -si
cd ..
# Clean /tmp folder
rm -rf yay-bin
Pacman Error: mirror not responding
/etc/pacman.d/mirrorlist
file.reflector
, a package that automatically sorts and gneerates the mirrors by rates and saves on the /etc/pacman.d/mirrorlist
file.# Install reflector
sudo pacman -S reflector
# Example Template:
sudo reflector --country <country_name> --latest <number of servers from the latest> --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# Example Use:
sudo reflector --verbose --sort rate -l 75 --save /etc/pacman.d/mirrorlist
Signature from "" is unknown trust
# Example fail message:
error: PackageName: signature from "User <email@archlinux.org>" is invalid
error: failed to commit transaction (invalid or corrupted package (PGP signature))
Errors occurred, no packages were upgraded.
Fix can be done by:
pacman-key refresh-keys
# Remove the keys
sudo pacman -rm -rf /etc/pacman.d/gnupg
# Re-add the default keys
sudo pacman-key --init
sudo pacman-key --populate
Pacman Error: failed to synchronize all databases (unable to lock database)
sudo rm /var/lib/pacman/db.lck
Pacman Error: failed to commit transaction (invalid or corrupted package)
pacman -S archlinux-keyring
How to install .tar.zst files through terminal?
sudo pacman -U <directory-of-extracted-package.pkg.tar.zst>
Uninstall:
# Search for package name
pacman -Q | grep "<package_name>"
# Removing while keeping depedencies (recommended)
sudo pacman -R package_name
# Removing unused dependencies
sudo pacman -Rsn package_name
How to revert pacman system update?
Check for cached packages (old packages)
ls /var/cache/pacman/pkg/ | grep <package-name>
Downgrade specific packages
sudo pacman -U /var/cache/pacman/pkg/<package-name>-<old-version>.pkg.tar.zst
If cache was cleared, use downgrade from aur
yay -S downgrade
sudo downgrade <package-name>
Last resort, revert all recent updates. The following line reverts the last 10 packages being updated
sudo pacman -U $(ls -t /var/cache/pacman/pkg/*.pkg.tar.zst | head -n 10)
How to improve download speed?
Install reflector
package
sudo pacman -S reflector
Reflector is a package designed to filter and replace existing pacman mirrorlists
# Example Template:
sudo reflector --country <country_name> --latest <number of servers from the latest> --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# Example Use:
sudo reflector --verbose --sort rate -l 75 --save /etc/pacman.d/mirrorlist
ILoveCandy
under /etc/pacman.conf
will give you a cooler download bar!
d4a77
-Remove co-author card placeholders from Arch, Debian/Ubuntu, and Fedora guideson c2d6c
-arch fixon e2f6b
-Refactor guide authorship sections: update titles from "Maintainer" to "Author(s)" and "Contributors" to "Co-author(s)" across multiple guideson e3681
-Vuepress guide completed, Added code-tree to guidlines, arch guide modified.on 6e25d
-arch guideon 2fc68
-Update TODO noteon 9c0ab
-Refactor guides for improved formatting and clarity across Vuepress, Essentials, Popular, Arch, and Fedora documentationon fbbc3
-Arch bug fixed, Vuepress guide updatedon 9d94b
-maintainers tag added and guideline page addedon cca8b
-Fixed broken archon 573fd
-Tagging/untagging.on 4d89a
-typoon 62c4b
-Automating steps.on 20bcd
-Change our-team desc and added noob corner to arch.mdon 0e612
-Cool trickon aa1e5
-Cool trick section added on arch.mdon b2539
-Edited arch.md, fix homepage become contributor link, started linux guide home pageon f101c
-Rough formatting of Arch guideon 41f78
-deleting legacy metadataon 362e5
-Moved to linux-guideson ddcec
-Batch metadata editingon 63f60
-Draft ongoingon 20414
-Draftson