I am arch linux. One day it stopped showing in systemd boot menu. So I booted live arch via usb, mounted bootloader partition and ran bootctl list --esp-path="/mnt". This is output:

  title: Arch linux(default)
     id: arch.conf
 source: /mnt/loader/entries/arch.conf
  linux: /vmzlinuz-linux (No such file or directory)
 initrd: /intel-ucode.img
         /initramfs-linux.img (No such file or directory)
options: root="LABEL=arch_os"

What should I do to fix this and boot normally ?
Thank you for your help

  • systemd is not a boot menu. Do you mean the grub boot menu? Are you dual-booting and able to get into another OS? – Stewart Aug 26 '20 at 6:14
  • I meant menu of systemd boot. Yes I am booting one other system but that one works fine. – Jan Černý Aug 26 '20 at 9:46

Both vmlinuz-linux and /initramfs-linux.img are contained within the linux package.

to install this, using the live USB, execute the arch-chroot /mnt command to move into the root account. and then execute pacman -Sy linux linux-firmware to install the missing files. Then use the exit command to return to your live-usb where you can unmount and reboot into your system.

Note: make sure that the boot partition is mounted to /mnt/boot and ensure that you have a internet connection established before "chrooting" so you can download the packages.

More information on configuring your bootloader can be found in the Arch Wiki article on systemd-boot and the Installation Guide.

  • Neither /boot/vmlinuz-linux or /boot/initramfs-linux.img are contained in the linux package. The former is set up post-install, and the latter is generated by mkinitcpio. – Chris Down Aug 26 '20 at 10:31
  • This partially worked. linux package is installed successfully. But linux-firmware package is throwing error while installing: Failed to open file "/sys/devices/system/cpu/microcode/reload": Read-only file system – Jan Černý Aug 26 '20 at 11:04
  • 1
    From what I know, that error can be ignored. See bbs.archlinux.org/viewtopic.php?id=222373 for more on the error. – Cryptic Aug 27 '20 at 3:54
  • As Chris says, the initramfs is not included in the linux package. However it is generated when the package is installed, so re-installing the package is the correct process to follow or investigate. – zaTricky Jan 16 at 13:35

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.