Several years ago, I tried to install Arch Linux on my new desktop. I follwed the instructions from Arch Linux - Install Guide. Everything was going smoothly, until I went on installing boot loader.
For the most people, when it comes to installing boot loader, they would choose
grub, since most of them are using Ubuntu, and Ubuntu choose
grub as their default boot loader. Yes
grub is way more familiar than any other boot loader to them, but I just can’t get
grub working on my desktop, no matter what.
I was frustrated, so I went on finding other boot loader, and I saw a video Archlinux install in less than 10 minutes on a UEFI system. The man in the video chose to use
systemd-boot as the boot loader, not grub, and he successfully installed the boot loader easily.
Till this day, when I install Arch Linux on my new computer, I still use
systemd-boot, not grub.
So how to install
Make sure you run these command in your newly installed environment. Put it simply, run these command after you
arch-chroot into the system
First, run as
This command will automatically install loader into
cd /boot and you should see folders
The configuration file we need is in the folder
loader, and it’s
loader.conf, open it, and you should see something like…
These are default values. You want to create your own settings, for example, if I want to choose my default boot option to
arch, and set timeout to 4 seconds, then I will need to add these lines
Now you are going to create boot loader entries. Notice the folder
entries in the
loader folder? That’s the folder boot loader entries go to.
Enter the folder, and create
A boot loader entry conf would look like this
title Arch Linux
linux line would load Linux Kernel into your computer, so your computer can continue booting process, then
initrd line is to load some basic files into your RAM, so your computer can have files to perform boot process.
intel-ucode line is to load Intel microcode updates into your system, it requires the package
intel-ucode, for AMD users, the package is
amd-ucode, and I think the file is
The last line
options is to tell boot loader where your
/(root) is, you need to pass
PARTUUID to the
root param. For vim users, you can run
!r blkid to get
UUID information about partitions in your computer. Use this line to find correct
PARTUUID, and fill it into
After these steps, your computer should now be able to boot using
systemd-boot, you may see
Linux Boot Manager entry in your BIOS, it’s created by
systemd-boot. Use that one to boot, then you should see entries you created.
Enjoy your Arch Linux!