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

Status
Not open for further replies.

onlime

Renowned Member
Aug 9, 2013
76
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.

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!