Installing Arch Linux doesn’t have to be difficult! In this step-by-step tutorial, Jay from LearnLinuxTV guides you through two reliable methods to install Arch Linux in 2025. First, you’ll see how to use the Archinstall script—a user-friendly option perfect for beginners. Then, for advanced users who prefer full control, Jay demonstrates the manual Arch Linux installation process from start to finish. Whether you’re new to Arch or want to master the classic method, this video has you covered.
Video-Specific Links
What is Arch Linux?
So, what is Arch Linux? Well obviously it’s a Linux distribution – no surprise there. But Arch differs quite a bit from traditional distributions so let’s understand more clearly what sets it apart.
And the first thing to know is that it’s a rolling release. I mentioned this already, but it’s worth repeating – it’s a very important benefit of Arch.
Other distributions, such as Ubuntu, publish new releases every six months. Other distributions release more or less frequently, and when they do – it’s time to upgrade. You’ll back up your system, and upgrade to the latest version in-place. That process works generally well, but it’s a lot of work.
When it comes to Arch, there’s a new installer released every month, but it’s not a new version to upgrade to – it’s simply a snapshot that contains the latest packages as of the time the installation image was created. These installation images exist as an onboarding solution to Arch, but once you install it there’s never a new version to upgrade to – updated apps, packages, and libraries are regularly delivered to you as soon as they’re ready, and will show up as available updates.
But the tradeoff is that Arch is a more “involved” installation process, and in fact it can be a bit on the manual side. It takes quite a bit longer to install than traditional distros. With those, you create the installation media, activate the installer, answer a few questions – it’s really easy. But although Arch has a more involved process, it’s less work over time – again, you only need to do it once, so the time you put into it actually pays off with all the release upgrades you never have to do.
That said, Arch does have an “easy mode” of sorts, known as “arch install” which is a relatively simple installer you can use if you want to get up and running quickly. You won’t have as much control over your system with arch install, but the great thing about it is that it’ll ask you a series of questions and that’s about it. The manual method takes longer, but you’ll end up with a completely customized system and you’ll learn more about Linux in the process. It’s up to you which one you go along with, there’s no wrong answer. And I’ll cover both methods in this video – and you can simply follow one of those two methods to get squared away. Regardless of which you choose, I’ll hold your hand along the way and guide you through everything.
So basically, I’ll cover the manual method for those of you that want an easier time, but I’ll also show you how to do it manually and build a system complete with disk encryption – it’s going to be a lot of fun!
What You’ll Need
That said, what will you actually need in order to get started?
Well, primarily a flash drive and a computer – that’s about it. We’ll use the flash drive to build our Arch Linux installer, and we’ll set it up as the only operating system on the machine – so keep in mind both your flash drive and computer will be wiped during the process, so be sure to back up anything on your flash drive or computer you want to keep.
In the next section, we’ll start building our installation media.
Building Installation Media
And to do that, we’ll navigate to archlinux.org and download the latest installer. It’s refreshed every month, but again you don’t have to keep redownloading it, you’ll only need it once. Again, the updated installation media doesn’t represent a new version of Arch to upgrade to, but rather a new version of the installer to get started with. The only thing that changes primarily between installer versions is the fact that the contents are kept up to date.
That said, let’s begin the process. I’m going to show it off using Windows, since that’s what a lot of people get started with – and we’ll use a utility to create our installation media. After that, we’ll boot our system from the installer and proceed with installing Arch.
And now that the process is done, we can begin installing Arch! In the next section, we’ll boot from that media and make sure we’re connected to the Internet after we boot from our Arch media, and after that we’ll build our installation.
Booting the Installer and Connecting to the Internet
Now that we have our installation media, let’s boot from it. All we have to do is insert our flash drive into the computer we want to install Arch Linux on, and then we’ll kick off the process.
To boot the installer, all we have to do is access our computer’s boot menu – and what you’re seeing here is mine. To access your computer’s boot menu, you’ll press a specific key immediately when your computer first starts up. The specific key you’ll press varies from one manufacturer to another.
Before we jump into that though, the first requirement is that we have Internet access. If you’re using wired ethernet and have connected a cable, you should have an IP address already. To check that, we can run this command:
ip addr show
If we have an IP address here, then we’re good to go.
However, some of you need to use WiFi – in fact, some laptops don’t even have an Ethernet port nowadays.
If you want to set up WiFi, we’ll use the following command to get started with that:
iwctl
You’ll notice that the prompt changed, and that’s because we’re now inside the WiFi management utility of Arch Linux, where we can enter commands directly to configure WiFi. We’ll first need to know the identifier that was assigned to our WiFi card, which we can get from the following command:
device list
In my case, my WiFi card is wlan0, which will be very common. But if yours is something different, then replace wlan0 with whatever yours is anytime I reference it. Anyway, the next thing we’ll do is trigger a WiFi network scan:
station wlan0 scan
We won’t see any output, and that’s because we simply triggered a scan – which will happen in the background. After several seconds, we can run the following command to see the networks the scanner was able to find:
station wlan0 get-networks
After that, we’ll connect to one of the networks, and the command will look similar to this:
station wlan0 connect SSID
It’ll ask us for our WiFi password, and that’s it. We can type “exit” to return to the normal prompt. And now, we should have an IP address assigned to our WiFi card:
ip addr show
To test it, we can issue a simple ping command:
ping -c 5 8.8.8.8
If we get responses to our ping, we’re good to go.
With that done, we’re clear to get started. In the next section we’ll explore the archinstall script, and then after that we’ll see what the manual installation process looks like.
The “archinstall” Method
So, let’s begin installing Arch! In this section, we’ll use the built-in Arch Linux installer, known as archinstall. To get started with it, all we have to do is type “archinstall” and we’ll go through the prompts and get it set up. It’s as easy as that!
The Manual Method
Now it’s time to see what the manual process looks like. In the previous section I showed you the archinstall method, but let’s see the manual method now – and we’ll start by building our partitions.
Partitioning our Disk
The first thing we’ll do is see what hard disks we have installed on our system:
lsblk
What we’re looking for here is the device name for our hard disk, which is /dev/nvme0n1 in my case. All you have to do at this point is just make a note of your device name.
Continuing, we’ll use the fdisk command to partition our disk. There’s other utilities you can use aside from fdisk, but fdisk has always worked well for me – so I’ve just stuck with it. That said, we’ll enter the following command to start partitioning our system:
fdisk /dev/nvme0n1
Notice I didn’t include a partition number after /dev/nvme0n1, because the numbers in my output represent partition numbers, and by excluding the number we’re telling fdisk we want to work with the entire disk, not an existing partition. If you just built your system and have a brand new hard disk, you may not see any partitions – and that’s fine, we’ll create them now.
The following commands (within the fdisk shell) will help you create our first partition:
gn
1
enter
+1G
We’ll run through the process again for the second partition:
n
2
enter
+1G
And again, for the third partition:
n
3
enter
enter
t
3
44
w
Now, we’ll begin the process of formatting our new partitions:
Format the EFI partition (the first partition we created):
mkfs.fat -F32 /dev/nvme0n1p1
Format the Boot partition:
mkfs.ext4 /dev/nvme0n1p2
Next, before we set up our third partition, let’s encrypt it first. By setting up encryption we’re increasing the security of our system, and will be protected against data theft. The following commands will help us set this up:
cryptsetup luksFormat /dev/nvme0n1p3
After that’s done, let’s unlock that volume so we can set it up:
cryptsetup open --type luks /dev/nvme0n1p3 lvm
Setting up LVM
Next, we’re going to set up what’s called a Logical Volume Manager, or LVM for short. With LVM, we can easily expand our disk if we ever upgrade it, and it also supports snapshots, so it’s good to have. It’s possible you may never use it, but it’s easy to set up and works very well, so let’s do that now.
pvcreate /dev/mapper/lvm
Next, we’ll create a volume group and name it volgroup0:
vgcreate volgroup0 /dev/mapper/lvm
After that, we’ll create a logical volume named lv_root:
lvcreate -L 30GB volgroup0 -n lv_root
We’ll then create a second logical volume, this time named lv_home:
lvcreate -L 250GB volgroup0 -n lv_home
Then, we’ll activate our volume group by running the following commands:
modprobe dm_mod
vgscan
vgchange -ay
When it comes to formatting and mounting our partitions, we’ll focus on lv_rootand lv_home for now. There is another partition we haven’t touched yet, but we don’t need to do anything with that yet. The following commands will format our two logical volumes:
mkfs.ext4 /dev/volgroup0/lv_root
mkfs.ext4 /dev/volgroup0/lv_home
Next, we’ll mount lv_root:
mount /dev/volgroup0/lv_root /mnt
Continuing, we’ll create a directory that will ultimately become our boot directory:
mkdir /mnt/boot
Then we’ll mount our second partition there:
mount /dev/nvme0n1p2 /mnt/boot
Our next goal is to set up and mount our home volume. Let’s create a directory for it:
mkdir /mnt/home
And then mount it:
mount /dev/volgroup0/lv_home /mnt/home
Preparing the Arch Installation Environment
Now that we have our partitions mounted, let’s install the set of base packages for Arch:
pacstrap -i /mnt base
After that’s done, we can generate an fstab file to ensure our installation knows where to find its partitions:
genfstab -U -p /mnt >> /mnt/etc/fstab
Then, we’ll access our in-progress installation so we can fine-tune it:
arch-chroot /mnt
User accounts
To protect the root account, we can set a password for it:
passwd
It would also be a good idea to create a user for yourself.
useradd -m -g users -G wheel jay
Then, set a password for your account:
passwd jay
Install basic packages
The following command will install the majority of the packages that we’ll need:
pacman -S base-devel dosfstools grub efibootmgr gnome gnome-tweaks lvm2 mtools nano networkmanager openssh os-prober sudo
If you want to use SSH, add: openssh
If you did choose to install openssh, enable it: systemctl enable sshd
Install at least one kernel:
pacman -S linux linux-headers linux-lts linux-lts-headers
Install firmware files:
pacman -S linux-firmware
Inspect GPU:
The following command will list PCI devices on your system, which may help if you’re not sure what kind of GPU you have. The output may offer clues.
lspci
If you have an Intel or AMD GPU, install mesa:
pacman -S mesa
If you have an Nvidia GPU:
pacman -S nvidia nvidia-utils
If you have an Nvidia GPU and you installed the LTS kernel earlier:
pacman -S nvidia-lts
Edit /etc/mkinitcpio.conf:
nano /etc/mkinitcpio.conf
Add sd-encrypt lvm2 in between block and filesystems
Generate kernel ramdisk(s)
If you installed the linux package:
mkinitcpio -p linux
If you installed the linux-lts package:
mkinitcpio -p linux-lts
Edit /etc/locale.gen and uncomment en_US.UTF-8:
nano /etc/locale.gen
Generate locales:
local-gen
Next, we’ll need to edit the /etc/default/grub file. But first, we’ll need to know what the UUID is of our third partition, and in fact we can use the following command to generate exactly what we need:
echo “rd.luks.name=$(blkid -s UUID -o value /dev/nvme0n1p3)=lvm”
Now, make a copy of that line, or at least take a photo of it, we’ll need it to edit the bootloader configuration:
nano /etc/default/grub
Within that file, look for a line containing GRUB_CMDLINE_LINUX and add rd.luks.name=c5b20e77-eedb-4b11-962e-4ea0ea40d6f5=lvm root=/dev/volgroup0/lv_root” into it. For example, a typical configuration line of this type might look like this:
GRUB_CMDLINE_LINUX="rd.luks.name=c5b20e77-eedb-4b11-962e-4ea0ea40d6f5=lvm root=/dev/volgroup0/lv_root"
Next, create the /boot/EFI directory and mount our first partition to it:
mkdir /boot/EFI
mount /dev/nvme0n1p1 /boot/EFI
Now we can install GRUB:
grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
The next command will copy locale files for GRUB’s messaging to our boot directory:
cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
Generate a config file for GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
Enable GDM to start when you reboot:
systemctl enable gdm
Enable NetworkManager so networking will function when you reboot:
systemctl enable NetworkManager
Wrapping Up
Exit our chroot environment:
exit
Unmount all partitions:
umount -a
Reboot the system:
reboot
And that’s it, enjoy your new Arch install!


