How to migrate from legacy grub to UEFI boot (systemd-boot)?

Status
Not open for further replies.

onlime

Renowned Member
Aug 9, 2013
78
14
73
Zurich, Switzerland
www.onlime.ch
On PVE Wiki: Host Bootloader it says:

Systems using ZFS as root filesystem are booted with a kernel and initrd image stored on the 512 MB EFI System Partition. For legacy BIOS systems, grub is used, for EFI systems systemd-boot is used. Both are installed and configured to point to the ESPs.

I still have some Proxmox VE systems which were installed in the old days. Some report:

Bash:
$ parted -l /dev/sda
Model: ATA INTEL SSDSC2KG01 (scsi)
Disk /dev/sda: 1920GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  1049kB  1031kB                     bios_grub
 2      1049kB  538MB   537MB   fat32              boot, esp
 3      538MB   1920GB  1920GB  zfs

$ proxmox-boot-tool refresh
$ proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with legacy bios
B0E1-0F27 is configured with: grub (versions: 5.15.64-1-pve, 5.15.74-1-pve)
B0E1-9558 is configured with: grub (versions: 5.15.64-1-pve, 5.15.74-1-pve)

so the ESP (uefi) partition seems to be there but it's unused. How to sync it with current kernel versions?

on other systems I get:

Bash:
$ proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.

$ proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
E: /etc/kernel/proxmox-boot-uuids does not exist.

How to fix that?

And finally, on newly installed systems, I get this:

Bash:
$ proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with legacy bios
9301-393C is configured with: uefi (versions: 5.4.103-1-pve, 5.4.106-1-pve), grub (versions: 5.15.74-1-pve, 5.15.83-1-pve)
9301-E9D1 is configured with: uefi (versions: 5.4.103-1-pve, 5.4.106-1-pve), grub (versions: 5.15.74-1-pve, 5.15.83-1-pve)
9302-87DD is configured with: uefi (versions: 5.4.103-1-pve, 5.4.106-1-pve), grub (versions: 5.15.74-1-pve, 5.15.83-1-pve)

$ cat /etc/kernel/proxmox-boot-uuids
9301-393C
9301-E9D1
9302-87DD

but even running proxmox-boot-tool refresh on such a system does not update the horribly outdated kernel versions on the ESPs (uefi). How to fix that?

Running latest Proxmox VE 7.3 on all servers (5.15.83-1-pve on pve-no-subscription, 5.15.74-1-pve on pve-enterprise).

Is there some straightforward migration path for all these situations, some command that does a real refresh of the ESPs, fixing the above issues? I couldn't find any recommendations in Proxmox VE wiki.

Thanks, Philip
 
Status
Not open for further replies.