I installed Arch Linux on an empty SSD hard drive. I set it to use GPT and partitioned it like this:

sda1 Boot
sda2 Swap
sda3 Root

Everything went well in the installation, but the boot loader only has two entries:

EFI Default Loader
Reboot Into Firmware Interface

The former brings me back to the same menu, but this time without the EFI Default Loader selection. The latter opens the bios settings of the motherboard.

How do I make my setup boot correctly? parted /dev/sdb print prints out this:

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  538MB   537MB   fat32                 boot, esp
 2      538MB   17.7GB  17.2GB  linux-swap(v1)
 3      17.7GB  180GB   162GB   ext4

The /boot/loader/loader.conf looks like this:

default  arch
timeout  4
editor   0

And the /boot/loader/arch.conf looks like this:

title      Arch Linux
linux      /vmlinuz-linux
initrd     /initramfs-linux.img
options    root=/dev/sdb3 rw

I noticed that changing the timeout value in loader.conf does change the timeout of the boot menu, so I guess the config files should be loaded correctly, but the boot menu never shows "Arch Linux" as a choice. I checked that both /boot/vmlinuz-linux and /boot/initramfs-linux.img exist.


The problem was that I had missed one thing in the setup: you have to place the arch.conf file in the entries directory under /boot/loader.


You say /boot/vmlinuz-linux and /boot/initramfs-linux.img exist, but your /boot/loader/arch.conf includes /vmlinuz-linux and /initramfs-linux.img. These are the wrong paths.

  • The beginner's guide says that the path should be relative to $esp. I tried with /boot prefix, but it doesn't do anything. – manabreak Feb 26 '16 at 17:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.