Archlinux Install Guide 2020 - Hardware or VM + Video

Archlinux Install Guide - Hardware

Due to recent changes in the archlinux base pkg all other install tutorials are pretty much obsolete. This tutorial reflects them changes and should get most people up and running.

Anything you don’t understand please feel free to leave a comment below, I will try to help or lead you in the right direction, please don’t be intimidated by the archwiki, its a great resource :wink:

Important Conditions: bios install - spare hard drive (unless you know what your doing) - wired connection recommended

Disclaimer: You follow this guide at your own risk. Please refer to the archwiki installation guide.

Install archlinux On Hardware.

Download archlinux burn to USB key. Boot the USB archlinux.iso.

You should see something like this:


The hardest part of any archlinux install is setting up your hard disks. Since this on hardware you must absolutely make sure you are installing to the correct drive/partition

You can check your drives with lsblk enter

sda 8:0 0 15.4G 0 disk is the one I will be using, I will use that disk to install archlinux:

Wipe the drive completely using gdisks in my case its /sda yours may differ (this will wipe the drive, you have been warned)

gdisk /dev/sda xenter zenter y entery enter

cfdisk /dev/sda and select dos enter

Use the arrow keys to navigate cfdisk: Using the free space select: New

Here we will use the whole disk 15.4G in my case, enter:

Select [ Primary ] enter

Select [ Bootable ] enter

Select [ Write ] enter

TYPE yes enter

Now you can quit out of cfdisk

As you can see on disk sda we have our partition we just created sda1

Set keyboard, default is US:

loadkeys uk e.g

Check you have a internet connection:

wifi-menu -o if you are using wireless

ping ctrl+c to stop ping

Set up your Hard Drive:

mkfs.ext4 /dev/sda1 create the filesystem

mount /dev/sda1 /mnt mount the drive

for the latest linux kernel:
pacstrap -i /mnt base base-devel linux linux-headers nano networkmanager linux-firmware


for the LTS kernel:
pacstrap -i /mnt base base-devel linux-lts linux-lts-headers nano networkmanager linux-firmware

option 1 mkinitcpio

genfstab -U /mnt >> /mnt/etc/fstab generate the fstab

cat /mnt/etc/fstab check you have a UUID

arch-chroot /mnt

nano /etc/locale.gen

uncomment your locale e.g:
en_GB.UTF-8 UTF8


ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime add your time zone

hwclock --systohc --utc set clock to utc

nano /etc/pacman.conf add the multilib repos

Uncomment the lines:
[multilib] and
include = /etc/pacman.d/mirrorlist

pacman -Sy check multilib is working

echo yourhostname > /etc/hostname

nano /etc/hosts localhost
::1 localhost myhostname.localdomain myhostname


useradd -m -g users -G wheel -s /bin/bash yourname add users to the sudoers

passwd yourname

EDITOR=nano visudo

Uncomment the line:
%wheel ALL=(ALL)

mkinitcpio -p linux

pacman -S grub download grub

grub-install /dev/sda install grub

grub-mkconfig -o /boot/grub/grub.cfg update grub.cfg

sudo systemctl enable NetworkManager.service Important: Enable NetworkManager before reboot


umount -R /mnt