Can't boot "you need to load the kernel first"

SOS: Cannot boot my system. Bootloader displays two errors: 1. “file /boot/vmlinuz-linux not found” and 2. you need to load the kernel first.

This happened after a power outage in the middle of Discover’s update process, which included a linux firmware update.

What should I do?

Once you are into the chroot you could probably just do a pacman -Syu to run the update through completely this time.

1 Like

Thanks. Still trying to find /boot/efi following tje instructions in the link.

Will get back later. Still getting power issues. COVID19 maybe.

Followed steps in the linked article, then ran pacman -Syu, but got failed to update core, extra, community, multilib, endeavoros; and failed to synchronize all databases.

Do I need to reinstall eos all over again?

try running
pacman -Syy
first then
pacman -Syu

It may not help, but it also could help. There is only one way to find out, plus pacman -Syy will not hurt anything.

Pudge

1 Like

Still returning “failed to synchronize all databases” I’ll read up on this issue.

BTW my system is MBR. This seems to be why I can’t find an efi directory. Following the arch-wiki artilcle on chroot, since my system is MBR, I only mounted “/dev/sda6 /mnt” and ran pacman there (my system is dual boot with Win10, that’s why I have sda6).

On second thought, the solution seems to be on which directory to run pacman: /mnt, /boot, or /mnt/boot?

what is the contents of the file /etc/pacman.d/mirrorlist
perhaps it got corrupted during the failed update.
It should look like this snippet :
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With: reflector -c US --protocol https --age 8 --sort rate --number 10
# When: 2020-04-29 04:09:41 UTC
# From: https://www.archlinux.org/mirrors/status/json/
# Retrieved: 2020-04-29 04:09:04 UTC
# Last Check: 2020-04-29 03:44:39 UTC

## United States

Server = https://archmirror1.octyl.net/$repo/os/$arch

## United States

Server = https://mirror.sfo12.us.leaseweb.net/archlinux/$repo/os/$arch

## United States

Server = https://mirrors.sonic.net/archlinux/$repo/os/$arch

## United States

Server = https://mirror.lty.me/archlinux/$repo/os/$arch

Also from the chroot, see if you can ping the outside world, eg ping google.com, because if the network is down then you won’t be able to synchronize the databases.

1 Like

Also ping 172.217.2.14
which is the IP address of Google. If ping Google.com fails but ping 172.217.2.12 works then you have DNS server problems.

Pudge

1 Like

Thanks, @onyxnz and @Pudge, for your guidance. Ping works fine.

Unfortunately, my laptop was affected by the recent power outages and is quite unusable at the moment. So, I shall be silent here for some while while I shop around or revive my hardware. :slightly_frowning_face:

OK: Through arch-chroot on usb installer, my system is now back and fully updated. The issue has thus been solved, though I am not sure if this is really the solution:

I mounted /dev/sdXn /boot (not /dev/sdXn /mnt), “arch-chroot”-ed there, and ran “pacman -Syy” and “pacman -Syu.”

So, I guess the solution is in mounting to /boot and not to /mnt. I think this is because my /boot directory is in the root folder and not in /mnt.

I am not sure about this as THE solution, because I have been uber dazed until now with reading up on this and related topics and with dealing with a problematic hardware and power. But my system is back and healthy, and I hope this report helps other noobs like me who might run into the same issue.

Thanksm @onyxnz and @Pudge.

1 Like