"Manjaro Settings Manager > Kernel > Remove" will often times not delete old kernels

Hello again,

Just for context, the kernels that I am trying to delete are still supported, but are not running while I try to delete them. The kernels stay installed even after a reboot. The operation is however reported as successful by the GUI even though it is not.

Also, I have tried having a look at the CLI for the application “manjaro-settings-manager” but it does not seem to be very functional.

Environment

App version: manjaro-settings-manager 0.5.8-7

Branch: testing

Kind regards

Hi @Centaro,

How do you confirm that the kernel wasn’t removed?

Please note that I might not be the best troubleshooter for the GUI as I only use the CLI for such tasks.

When the uninstall completes there should be a dialog with a clickable Show Details link. If you click that link, and then copy the full contents of the resulting text area and share the contents here, it might give people something to go on.

Remember to format the text properly in the reply (for instance, by highlighting the pasted text and using the ‘</>’ button).

3 Likes

Which kernel are you trying to remove?

You can list your currently installed kernels by running the following command in a terminal:

mhwd-kernel -li

To remove a kernel:

sudo mhwd-kernel -r <kernel>

For example:

sudo mhwd-kernel -r linux616
3 Likes

That wouldn’t be a tool to use in the terminal… and the front end is indeed rather limited to containing shortcuts to other tools.

Anyway, using the GUI, let’s install one:

Summary
The following packages will be installed:
linux66
linux66-virtualbox-host-modules

Starting
resolving dependencies...
looking for conflicting packages...
Package (2)                            New Version  Net Change  Download Size
core/linux66                           6.6.116-2    135.01 MiB     129.88 MiB
extra/linux66-virtualbox-host-modules  7.2.4-5        0.38 MiB       0.38 MiB
Total Download Size:   130.26 MiB
Total Installed Size:  135.39 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
linux66-6.6.116-2-x86_64 downloading...
 linux66-virtualbox-host-modules-7.2.4-5-x86_64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
checking available disk space...
:: Processing package changes...
installing linux66...
Optional dependencies for linux66
    linux-firmware: firmware images needed for some devices [installed]
    scx-scheds: to use sched-ext schedulers
    wireless-regdb: to set the correct wireless channels of your country [installed]
installing linux66-virtualbox-host-modules...
:: Running post-transaction hooks...
(1/6) Arming ConditionNeedsUpdate...
(2/6) Updating module dependencies...
(3/6) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux66.preset: 'default'
==> Using default configuration file: '/etc/mkinitcpio.conf'
-> -k /boot/vmlinuz-6.6-x86_64 -g /boot/initramfs-6.6-x86_64.img
==> Starting build: '6.6.116-2-MANJARO'
-> Running build hook: [base]
-> Running build hook: [systemd]
-> Running build hook: [autodetect]
-> Running build hook: [microcode]
-> Running build hook: [modconf]
-> Running build hook: [kms]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [sd-vconsole]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: '/boot/initramfs-6.6-x86_64.img'
-> Early uncompressed CPIO image generation successful
==> Initcpio image generation successful
(4/6) Refreshing PackageKit...
(5/6) Updating Grub-Bootmenu
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.17-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.17-x86_64.img
Found initrd fallback image: /boot/initramfs-6.17-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.6-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.6-x86_64.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done
(6/6) Removing old packages from pacman cache...
Removing old installed packages...
==> no candidate packages found for pruning
Removing old uninstalled packages...
==> no candidate packages found for pruning


Done ...

Now we can try to remove it:

Summary
linux66
linux66-virtualbox-host-modules

Starting
checking dependencies...
:: base optionally requires linux: bare metal support
:: mkinitcpio-firmware optionally requires linux: default linux preset
Package (2)                      Old Version  Net Change 
linux66                          6.6.116-2    -135.01 MiB
linux66-virtualbox-host-modules  7.2.4-5        -0.38 MiB
Total Removed Size:  135.39 MiB
:: Do you want to remove these packages? [Y/n]
:: Running pre-transaction hooks...
(1/1) Removing linux initcpios...
:: Processing package changes...
removing linux66-virtualbox-host-modules...
removing linux66...
:: Running post-transaction hooks...
(1/6) Arming ConditionNeedsUpdate...
(2/6) Updating module dependencies...
(3/6) Updating linux initcpios...
(4/6) Refreshing PackageKit...
(5/6) Updating Grub-Bootmenu
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-6.17-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.17-x86_64.img
Found initrd fallback image: /boot/initramfs-6.17-x86_64-fallback.img
Found linux image: /boot/vmlinuz-6.12-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-6.12-x86_64.img
Found initrd fallback image: /boot/initramfs-6.12-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
Found memtest86+ EFI image: /boot/memtest86+/memtest.efi
done
(6/6) Removing old packages from pacman cache...
Removing old installed packages...
==> no candidate packages found for pruning
Removing old uninstalled packages...
==> no candidate packages found for pruning


Done ...

So now I hope you can see how to make a more useful comment than ‘It doesn’t work’.

Don’t forget to reboot to load a kernel… and it’s a good tactic to always keep one LTS kernel installed regardless of your current preference.

If that fails again, then certainly the best way to handle it would be the previous one, in the terminal (and a quick search for ‘manjaro kernel install remove terminal’ would bring up everything you need there).

It might be also useful to look at other solutions to other issues brought up in such searches:

1 Like

If I were a betting man, I would put my money on the (alleged) failure of the manjaro-settings-manager to remove the kernel being due to linux-meta currently depending on that kernel.

The linux-meta package is intended to ensure that Manjaro users do not continue running an unsupported kernel that has been removed from the repos. When a kernel is removed from the repos, it will automatically install the next available supported kernel (if not already installed) and remove the unsupported kernel from the system.

Output of pamac info linux-meta
pamac info linux-meta
Name                  : linux-meta
Version               : 6.17-1
Description           : Manjaro stable kernel meta package
URL                   : https://manjaro.org
Licenses              : LicenseRef-None
Repository            : core
Groups                : --
Depends On            : linux617
Optional Dependencies : --
Required By           : --
Optional For          : --
Provides              : --
Replaces              : linux418 linux420 linux50 linux52 linux53 linux55 linux56 linux57 linux58 linux59 linux511
                        linux512 linux513 linux514 linux516 linux517 linux518 linux519 linux60 linux62 linux63 linux64
                        linux65 linux67 linux68 linux69 linux610 linux611 linux613 linux614 linux615 linux616
Conflicts With        : linux418 linux420 linux50 linux52 linux53 linux55 linux56 linux57 linux58 linux59 linux511
                        linux512 linux513 linux514 linux516 linux517 linux518 linux519 linux60 linux62 linux63 linux64
                        linux65 linux67 linux68 linux69 linux610 linux611 linux613 linux614 linux615 linux616
Packager              : Mark Wagie <mark@manjaro.org>
Build Date            : Fri 31 Oct 2025 02:50:17
Install Date          : Thu 06 Nov 2025 19:09:42
Install Reason        : Explicitly installed
Validated By          : Signature
Backup files          : --

Note: I am on Testing branch, so the Replaces/Conflicts kernel list may be slightly different to those on Stable branch

In my case, I would not be able to remove linux617 due to it being currently required by linux-meta on my Testing branch system.

As the kernel removed by linux-meta may be the running kernel, I usually recommend that Manjaro users with linux-meta installed also install the kernel-modules-hook package to reduce the risk of their system crashing after an update if they do not reboot immediately afterwards.

For those who want to manage their kernels manually, the linux-meta package can be easily removed by running the following command:

pamac remove linux-meta

or

sudo pacman -R linux-meta
1 Like

As Ben said, “Logs or it didn’t happen” (i mean the OP)
:grinning_face_with_smiling_eyes:

3 Likes

Actually, I would like to replicate the issue, but I cannot remove a kernel that is running from the GUI anymore. I used to be able to do that.

And now, GRUB is not loading the newest version of the kernel on boot-up like it used to, I think by default. Instead, upon reboot, it’s loading the one that it was using before.

Removing the running kernel is a bad idea, never tried it but it may be by desin that you cannot.

Hit esc or shift early in the boot to display grub menu. Or unhide it in
/etc/default/grub and then sudo update-grub

I used to remove it from the GUI and my system kept running until I rebooted it. The option was there in the GUI and the logic worked. At that point GRUB would pick the newest available kernel, as I think it always does by default. Not this time.

I believe you were hallucinating. :wink:

A kernel cannot be successfully removed while it’s running. Instead, you would need to reboot and login with the other one – kernel 6.12 (LTS) – and then remove 6.1 (LTS).

Or, so the theory goes.

Regards.

1 Like

I am not a stranger to kernel management from the CLI. The thing is and I think that this is one of the reasons that Manjaro was my first distro: It was beginner friendly.

And it makes sense that it is beginner friendly, because this is a fresh install and update-grub is not even there.

user@computer ~> doas update-grub
doas (user@computer) password:
doas: update-grub: command not found

user@computer ~ [1]> pacman -Q | rgi grub
grub 2:2.14rc1-2
grub-btrfs 4.14-1
grub-theme-manjaro 20.2-16

I might remember wrongly, but my personal feelings towards that GUI went from amazed to annoyed. I remember loving how noob-friendly it was.

I know what you mean.
A quote from one of the Star Trek movies comes to mind:

“The more they overthink the plumbing,
the easier it is to stop up the drain”

– Jimmy Doohan, “Scotty”: The Search for Spock (1984)

Strange but then grub-mkconfig -o /boot/grub/grub.cfg will do the same, update-grub is just a shortcut for it.
I am not sure about doas, it might not always work like sudo.

You say that it is strange. Should it be there by default?

doas is quite different from sudo, but it does not play a role in this case.

I thought it was there by default but my install is old, maybe it was removed at some point :man_shrugging:

I just installed update-grub ran it and rebooted the system, which is now booting up with the newest installed kernel.

The GUI tool works now. Does its correct functioning depend on “update-grub” being installed?

Yes, it does.

And there we go! Thank you, everybody.

1 Like