Grub starts the old kernel

I don't use zfs, but as far as I know, it does not use fstab at all for mounting (neither /root or EFI partitions).

You can view the currently configured ESPs and their state by running:
# proxmox-boot-tool status
(from the Proxmox wiki)
 
I don't use zfs, but as far as I know, it does not use fstab at all for mounting (neither /root or EFI partitions).

You can view the currently configured ESPs and their state by running:
# proxmox-boot-tool status
(from the Proxmox wiki)
Code:
root@pve:~# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
0104-CE60 is configured with: uefi (versions: 6.17.13-21-pve, 7.0.14-6-pve, 7.0.14-8-pve, 7.0.6-2-pve)
root@pve:~#

This is the ESP that uses the correct one, it can be the boot orbit of the bios that uses the other ESP of the other disc ???
BootOrder: 0003,0004,0002,0000


try to change the boot boot ??
Code:
efibootmgr -o 0004,0002
 
Last edited:
Don't change fstab.

The ESP's you want your system to use for booting should be in /etc/kernel/proxmox-boot-uuids.
proxmox-boot-tool refresh will update all included ESP's with the actual kernels.
 
0104-CE60 is configured with: uefi (versions: 6.17.13-21-pve, 7.0.14-6-pve, 7.0.14-8-pve, 7.0.6-2-pve)
Based on this output, it would appear that this is sdb2 on your mode (as shown by lsblk output in a previous post of yours).
However sda2 (UUID 0104-11A4) does not appear managed by proxmox-boot-tool.

What I would probably do:
Code:
proxmox-boot-tool format /dev/sda2

proxmox-boot-tool init /dev/sda2

proxmox-boot-tool refresh

I once more remind you, I do not use zfs.
 
Based on this output, it would appear that this is sdb2 on your mode (as shown by lsblk output in a previous post of yours).
However sda2 (UUID 0104-11A4) does not appear managed by proxmox-boot-tool.

What I would probably do:
Code:
proxmox-boot-tool format /dev/sda2

proxmox-boot-tool init /dev/sda2

proxmox-boot-tool refresh

I once more remind you, I do not use zfs.
The ESP on sdb2 (UUID 0104‐CE60) is already the one managed by Proxmox, and the correct EFI entries (Boot0002 and Boot0004) already point to that partition.The problem was not a missing ESP or to be initialized, but simply that the firmware started the wrong ESP first (sda2).


For this reason it is not necessary to format or initialize /dev/sda2.


The correct solution is just to put the right EFI entries at the head of the BootOrder:
Code:
efibootmgr -o 0002,0004,0000,0003
What do you think ?
 
Last edited:
What do you think ?
Firstly, this is an English forum thread, so you should post ONLY in English.

I still stand by my solution. According to proxmox-boot-tool status that sda2 is not being managed by it, which it should be on your system.
Do the above commands & it should be. Then your EFI bootloader will be correct for your system.
 
  • Like
Reactions: leesteken
Firstly, this is an English forum thread, so you should post ONLY in English.

I still stand by my solution. According to proxmox-boot-tool status that sda2 is not being managed by it, which it should be on your system.
Do the above commands & it should be. Then your EFI bootloader will be correct for your system.
Sorry for the Italian but evidently I did not notice to translate .

However, another opinion from users is well accepted.
 
I am still trying to understand and analyze the UEFI boot behavior on my production node, and in my view the BIOS is loading the wrong entry. Even though Proxmox correctly configures the CE60 ESP and copies all kernel versions there, the system is actually booting from Boot0003, which points to the generic fallback loader BOOTX64.EFI. This fallback does not use systemd‑boot, does not read loader.conf, and always boots the older kernel.The correct entry should be Boot0002, because it is the only one that points to SYSTEMD-BOOTX64.EFI on the CE60 ESP, which is the intended Proxmox bootloader and properly handles updated kernels.

Code:
# ESP status (proxmox-boot-tool) – production node
System currently booted with uefi
0104-CE60 is configured with: uefi
(versions: 6.17.13-21-pve, 7.0.14-6-pve, 7.0.14-8-pve, 7.0.6-2-pve)

# Correct EFI entry (in my view)
Boot0002* Linux Boot Manager
HD(2,GPT,0c569779-e73f-4c73-b97f-e8594cb4868d)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)

:mad::mad::mad::mad::eek:
 
When you let proxmox maintain your ESP's like I pointed out a few posts back they will both be identical.
It then doesn't matter which ESP is used for booting, which is the whole point of mirrored drives.
 
1. Make sure both your ESP's are in /etc/kernel/proxmox-boot-uuids:
echo -e "0104-11A4\n0104-CE60" > /etc/kernel/proxmox-boot-uuids

2. Make sure you are happy with the kernel selection by proxmox-boot-tool:
proxmox-boot-tool kernel list

3. Have the proxmox-boot-tool update/sync your ESP's:
proxmox-boot-tool refresh

4. Check the updated status of the ESP's, both ESP's should be similar:
proxmox-boot-tool status

5. Confirm the EFI configuration. It should include the boot options from the two ESP's and the first option of the BootOrder should be one of them.
efibootmgr
 
  • Like
Reactions: leesteken
1. Make sure both your ESP's are in /etc/kernel/proxmox-boot-uuids:
echo -e "0104-11A4\n0104-CE60" > /etc/kernel/proxmox-boot-uuids

2. Make sure you are happy with the kernel selection by proxmox-boot-tool:
proxmox-boot-tool kernel list

3. Have the proxmox-boot-tool update/sync your ESP's:
proxmox-boot-tool refresh

4. Check the updated status of the ESP's, both ESP's should be similar:
proxmox-boot-tool status
In my case the ESP CE60 is fully functional and managed by Proxmox.The second ESP (11A4) is not a valid ESP, but the EFI fallback that the BIOS is booting by mistake via Boot0003. For this reason I do not have to add it to /etc/kernel/proxmox-boot-uuids, because it is not a device that Proxmox should manage.


The problem is not the synchronization of ESPs, but the fact that the BIOS is starting the wrong entry.The correct solution would be to set Boot0002 (systemd‐boot on CE60) as the first EFI entry.


Having said that, I accept your suggestion and I will take it into consideration.First, however, I would like to check directly in the BIOS which EFI entries are present and in which order they are started.If after fixing the BootOrder the system should not start the correct ESP, then I will try the procedure you have indicated.


my case :
Code:
root@pve:less /etc/kernel# cat proxmox-boot-uuids
0104-CE60
root@pve:/etc/kernel# proxmox-boot-tool kernel list
Manually selected kernels:
None.

Automatically selected kernels:
6.17.13-21-pve
7.0.14-6-pve
7.0.14-8-pve
7.0.6-2-pve
root@pve:/etc/kernel#


Thanks again for the support.Before making any changes, I would like to check the BIOS directly and verify the actual boot entries and their order.If adjusting the BootOrder does not solve the issue and the system still boots from the wrong ESP, then I will try your suggested procedure as a last option.I partially agree with your approach, although I remain doubtful about adding the second ESP, since in my setup it appears to be a fallback partition not managed by Proxmox.
 
The second ESP (11A4) is not a valid ESP, but the EFI fallback that the BIOS is booting by mistake via Boot0003. For this reason I do not have to add it to /etc/kernel/proxmox-boot-uuids, because it is not a device that Proxmox should manage.
It's just an old unmaintained Proxmox ESP holding outdated kernels, which caused you to open this topic.

The problem is not the synchronization of ESPs, but the fact that the BIOS is starting the wrong entry.The correct solution would be to set Boot0002 (systemd‐boot on CE60) as the first EFI entry.
Then just change the bootorder using efibootmgr -o so it prioritizes Boot0002/CE60.

I would like to check directly in the BIOS which EFI entries are present and in which order they are started.
That is exactly what efibootmgr is for. You don't need to go into the BIOS.
 
Last edited:
It's just an old unmaintained Proxmox ESP holding outdated kernels, which caused you to open this topic.


Then just change the bootorder using efibootmgr -o so it prioritizes Boot0002/CE60.


That is exactly what efibootmgr is for. You don't need to go into the BIOS.
Code:
root@pve:~# uname -a
Linux pve 7.0.14-8-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.14-8 (2026-07-28T10:28Z) x86_64 GNU/Linux
root@pve:~# efibootmgr
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0004,0003,0000
Boot0000* Linux Boot Manager    HD(2,GPT,40e24607-4ca2-4f4a-926c-7792a0f3dc72,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0002* Linux Boot Manager    HD(2,GPT,0c569779-e73f-4c73-b97f-e8594cb4868d,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0003* UEFI OS    HD(2,GPT,40e24607-4ca2-4f4a-926c-7792a0f3dc72,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
Boot0004* UEFI OS    HD(2,GPT,0c569779-e73f-4c73-b97f-e8594cb4868d,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
root@pve:~# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
0104-CE60 is configured with: uefi (versions: 6.17.13-21-pve, 7.0.14-6-pve, 7.0.14-8-pve)
root@pve:~#

I ran the change of the efi boot and to look it seems correct, what do you think?