You are not logged in.

#1 2025-03-24 18:09:22

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

[SOLVED] Arch linux refuses to boot after kernel updates.

Every time I update my kernel using 'pacman -Syu', after a reboot, I am booted directly into recovery mode. I have found a fix for this, which is reinstalling the kernel while I am still in recovery mode. However, this is getting quite annoying, as I have to update my kernel again after updating it. Is there a better way to do this? I would greatly appreciate help.

Last edited by ElmBroken (2025-04-14 18:09:43)

Offline

#2 2025-03-24 18:13:07

mackin_cheese
Member
Registered: 2025-01-07
Posts: 445

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

your mountings might not be correct. post your output of

 lsblk 

Online

#3 2025-03-24 19:18:28

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 238.5G  0 disk
├─nvme0n1p1 259:1    0     1G  0 part /boot
├─nvme0n1p2 259:2    0    16G  0 part [SWAP]
└─nvme0n1p3 259:3    0 221.5G  0 part /

Last edited by ElmBroken (2025-03-24 19:18:47)

Offline

#4 2025-03-24 19:22:43

qu@rk
Member
Registered: 2021-07-28
Posts: 149

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Try running mkinitcpio -P before rebooting, after kernel update. Maybe it's failing that step?

Offline

#5 2025-03-24 19:49:52

cryptearth
Member
Registered: 2024-02-03
Posts: 1,399

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

qu@rk wrote:

Try running mkinitcpio -P before rebooting, after kernel update. Maybe it's failing that step?

unlike that manual mkinitcpio makes some difference as its run by the hook anyway so if the hook fails a manual run pretty much will fail as well

please give

lsblk -f
cat /etc/fstab

from running system
sounds like your /boot is not mounted during kernel updates and hence something goes wrong

Last edited by cryptearth (2025-03-24 19:50:52)

Offline

#6 2025-03-24 20:01:00

qu@rk
Member
Registered: 2021-07-28
Posts: 149

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

I had that issue in the past, few years back, had nvidia drivers back then. Something was wrong, can't remember if it ran or not, but running it manually guaranteed no issues at reboot after kernel update.

Offline

#7 2025-03-24 20:15:56

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,604

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

When you're installing in recovery mode, /boot isn't mounted. Your bootloader is getting the kernel and initramfs from your root partition, you need to either redo your bootloader or stop mounting /boot.

You're past the initramfs stage, so it's not that.

Last edited by Scimmia (2025-03-24 20:38:32)

Offline

#8 2025-03-25 17:23:51

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

cryptearth wrote:
qu@rk wrote:

Try running mkinitcpio -P before rebooting, after kernel update. Maybe it's failing that step?

unlike that manual mkinitcpio makes some difference as its run by the hook anyway so if the hook fails a manual run pretty much will fail as well

please give

lsblk -f
cat /etc/fstab

from running system
sounds like your /boot is not mounted during kernel updates and hence something goes wrong

output of lsblk -f

NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1 vfat   FAT32       20D9-0324                             502.1M    51% /boot
├─nvme0n1p2 swap   1           771c6d79-2f83-4de5-9adf-fe2f81ff8efc                [SWAP]
└─nvme0n1p3 btrfs              1b763d33-b101-4893-a3fa-8c9edfe8121e  179.4G    19% /

output of cat /etc/fstab

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/nvme0n1p3
UUID=1b763d33-b101-4893-a3fa-8c9edfe8121e    /             btrfs         rw,relatime,ssd,discard=async,space_cache=v2,subvol=/    0 0

# /dev/nvme0n1p1
UUID=20D9-0324          /boot         vfat          rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro    0 2

# /dev/nvme0n1p2
UUID=771c6d79-2f83-4de5-9adf-fe2f81ff8efc    none          swap          defaults      0 0

Offline

#9 2025-03-27 16:15:22

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Scimmia wrote:

When you're installing in recovery mode, /boot isn't mounted. Your bootloader is getting the kernel and initramfs from your root partition, you need to either redo your bootloader or stop mounting /boot.

You're past the initramfs stage, so it's not that.

so I need to reinstall GRUB? Thru Chroot or...

Offline

#10 2025-03-27 17:25:44

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,604

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

If the system is up, no need for chroot. Just do it all as-is.

It wouldn't hurt to later unmount /boot and clean out the dir on the root partition, too. If it's used as a mount point, it should be empty generally speaking.

Edit: Just a note, setting up grub involves both grub-install and grub-mkconfig. Don't skip one.

Last edited by Scimmia (2025-03-27 17:27:59)

Offline

#11 2025-04-11 19:03:31

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Scimmia wrote:

If the system is up, no need for chroot. Just do it all as-is.

It wouldn't hurt to later unmount /boot and clean out the dir on the root partition, too. If it's used as a mount point, it should be empty generally speaking.

Edit: Just a note, setting up grub involves both grub-install and grub-mkconfig. Don't skip one.

Did both of these. after a kernel update, I still had the same problem sad I installed linux-zen, have regenerated my grub config multiple times, but still do not see it in the "Advanced Options For Arch Linux" submenu in grub
Also one more thing, after trying to reinstall grub (and remaking my config) Arch would not boot. I had to Chroot to fix it
Please help, thanks in advance

Offline

#12 2025-04-11 22:43:20

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,318

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

You need to mount /boot then reinstall the kernel, then reinstall/reconfigure GRUB OR if you want to keep the setup working as is, just don't mount the vfat partition to /boot but /efi or so.

Offline

#13 2025-04-12 17:51:53

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

V1del wrote:

You need to mount /boot then reinstall the kernel, then reinstall/reconfigure GRUB OR if you want to keep the setup working as is, just don't mount the vfat partition to /boot but /efi or so.

/boot isn't normally mounted?

Offline

#14 2025-04-12 18:22:10

cryptearth
Member
Registered: 2024-02-03
Posts: 1,399

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

ElmBroken wrote:
V1del wrote:

You need to mount /boot then reinstall the kernel, then reinstall/reconfigure GRUB OR if you want to keep the setup working as is, just don't mount the vfat partition to /boot but /efi or so.

/boot isn't normally mounted?

depends on your /etc/fstab and how you boot
if you boot anything else than systemd-boot with mount-autodiscover only what's listed in /etc/fstab will get mounted - while with systemd-boot mount-autodiscover it depends on proper uefi gpt uuid partition types (I have a VM setup this way which doesn't have a /etc/fstab at all yet it correctly mounts /home /efi /boot and activates swap all on its own)

Offline

#15 2025-04-12 18:40:06

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

cryptearth wrote:
ElmBroken wrote:
V1del wrote:

You need to mount /boot then reinstall the kernel, then reinstall/reconfigure GRUB OR if you want to keep the setup working as is, just don't mount the vfat partition to /boot but /efi or so.

/boot isn't normally mounted?

depends on your /etc/fstab and how you boot
if you boot anything else than systemd-boot with mount-autodiscover only what's listed in /etc/fstab will get mounted - while with systemd-boot mount-autodiscover it depends on proper uefi gpt uuid partition types (I have a VM setup this way which doesn't have a /etc/fstab at all yet it correctly mounts /home /efi /boot and activates swap all on its own)

if you scroll up a little bit, you'll see my /etc/fstab, it looks like /boot is being mounted on boot. am I correct?

Offline

#16 2025-04-12 19:37:19

seth
Member
Registered: 2012-09-03
Posts: 63,021

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Your local fstab is irrelevant in the chroot context (unless you "mount -a" from the chroot, that doesn't count)

Offline

#17 2025-04-12 19:38:21

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,604

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

ElmBroken wrote:
Scimmia wrote:

If the system is up, no need for chroot. Just do it all as-is.

It wouldn't hurt to later unmount /boot and clean out the dir on the root partition, too. If it's used as a mount point, it should be empty generally speaking.

Edit: Just a note, setting up grub involves both grub-install and grub-mkconfig. Don't skip one.

Did both of these. after a kernel update

What, exactly, did you run?

Offline

#18 2025-04-12 22:03:21

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Scimmia wrote:
ElmBroken wrote:
Scimmia wrote:

If the system is up, no need for chroot. Just do it all as-is.

It wouldn't hurt to later unmount /boot and clean out the dir on the root partition, too. If it's used as a mount point, it should be empty generally speaking.

Edit: Just a note, setting up grub involves both grub-install and grub-mkconfig. Don't skip one.

Did both of these. after a kernel update

What, exactly, did you run?

I deleted /boot, uninstalled grub and efibootmgr, and reinstalled them with the instructions from https://wiki.archlinux.org/title/GRUB, (including making the config), then, it only booted into grub-rescue. I chrooted and did the same thing, and reinstalled the kernel too, with also remaking the config. it then booted, but after a kernel update it does the same thing, and ive tried installing linux-zen, Ive regenerated my config multiple times. doesnt appear

Offline

#19 2025-04-13 01:04:23

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,604

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Exact, as in exact commands.

Offline

#20 2025-04-13 06:59:57

seth
Member
Registered: 2012-09-03
Posts: 63,021

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Offline

#21 2025-04-14 17:27:16

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Scimmia wrote:

Exact, as in exact commands.

sudo pacman -Rcs grub efibootmgr
sudo rm -r /boot
sudo pacman -S grub efibootmgr
sudo -i
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
grub-mkfconfig -o /boot/grub/grub.cfg
reboot

>booted into grub-rescue
>chroot into usb

mount /dev/nvme0n1p3 /mnt
arch-chroot /mnt
pacman -Rcs grub efibootmgr
pacman -S grub efibootmgr
mkdir /esp
mkdir /esp/EFI
mkdir /esp/EFI/GRUB
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
grub-mkfconfig -o /boot/grub/grub.cfg
pacman -Rcs linux
pacman -S linux
exit
reboot


>it boots
What did I do wrong? How do I fix my problem?

Offline

#22 2025-04-14 17:37:20

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,604

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

ElmBroken wrote:

grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB

This is wrong. 'esp' is a placeholder here, you're supposed to put in the actual dir.

Offline

#23 2025-04-14 17:51:55

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Scimmia wrote:
ElmBroken wrote:

grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB

This is wrong. 'esp' is a placeholder here, you're supposed to put in the actual dir.

ohh. like /boot? so its supposed to be /boot/EFI/GRUB?

Offline

#24 2025-04-14 17:54:35

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,604

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

From the grub wiki page:

Mount the EFI system partition and in the remainder of this section, substitute esp with its mount point.

Offline

#25 2025-04-14 18:09:18

ElmBroken
Member
Registered: 2025-03-01
Posts: 23

Re: [SOLVED] Arch linux refuses to boot after kernel updates.

Scimmia wrote:

From the grub wiki page:

Mount the EFI system partition and in the remainder of this section, substitute esp with its mount point.

Tysm! I literally have no idea how I missed that. I'll mark this as solved.

Offline

Board footer

Powered by FluxBB