Cuando estaba ejecutando pveupgrade
para actualizar mi servidor Proxmox ha aparecido el siguiente mensaje indicando que se ha encontrado un bootloader en /boot/efi/EFI/BOOT/BOOTX64.efi
” pero los paquetes GRUB no están configurados para actualizarlo:
[...]
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for pve-ha-manager (4.0.6) ...
Processing triggers for initramfs-tools (0.142+deb12u1) ...
update-initramfs: Generating /boot/initrd.img-6.8.12-8-pve
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.
Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it!
Run the following command:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
Then reinstall GRUB with 'apt install --reinstall grub-efi-amd64'
Processing triggers for libc-bin (2.36-9+deb12u9) ...
Your System is up-to-date
Seems you installed a kernel update - Please consider rebooting
this node to activate the new kernel.
Tal como nos indica el mensaje anterior, únicamente hay que cambiar la configuración de grub-efi-amd64
y volver a reinstalarlo.
Usamos el comando efibootmgr
para mostrar información detallada sobre las entradas de arranque UEFI configuradas en el firmware del sistema:
efibootmgr -v
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002
Boot0002* proxmox HD(2,GPT,e7ee1e90-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x200000)/File(\EFI\proxmox\grubx64.efi)
En la salida anterior se puede ver:
- Entrada activa (BootCurrent):
0002
- Tiempo de espera (Timeout):
1 seconds
- Orden de arranque actual (BootOrder):
0002
- Una única entrada de arranque (el asterisco indica que está activada):
- Número de entrada:
0002
- Nombre descriptivo:
proxmox
- HD(2): Segunda unidad de disco detectada por el firmware
- GPT: Usa tabla de particiones GPT
- e7ee1e90-xxxx-xxxx-xxxx-xxxxxxxxxxxx: UUID de la partición EFI
- 0x800,0x200000: Offset y tamaño de la partición
- File(\EFI\proxmox\grubx64.efi): El archivo
.efi
que se ejecuta para arrancar el sistema. En este caso, es el GRUB de Proxmox, ubicado en la partición EFI bajo esa ruta.
- Número de entrada:
Usamos el comando debconf-show
para mostrar las opciones de configuración almacenadas por Debconf para el paquete grub-efi-amd64
, que es la versión de GRUB diseñada para sistemas UEFI en arquitectura AMD64 (x86_64):
debconf-show grub-efi-amd64
grub2/update_nvram: true
grub2/linux_cmdline_default: quiet
grub2/force_efi_extra_removable: false
grub2/enable_os_prober: false
grub2/linux_cmdline:
grub2/kfreebsd_cmdline:
grub2/kfreebsd_cmdline_default: quiet
A continuación, modificamos la configuración para permitir que GRUB pueda actualizar los archivos .efi
:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
info: Trying to set 'grub2/force_efi_extra_removable' [boolean] to 'true'
info: Loading answer for 'grub2/force_efi_extra_removable'
Al volver a ejecutar el comando debconf-show
se observa la modificación realizada:
debconf-show grub-efi-amd64
grub2/kfreebsd_cmdline:
grub2/linux_cmdline:
grub2/kfreebsd_cmdline_default: quiet
grub2/update_nvram: true
grub2/force_efi_extra_removable: true
grub2/linux_cmdline_default: quiet
grub2/enable_os_prober: false
Finalmente, se puede reinstalar GRUB:
apt install --reinstall grub-efi-amd64
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libnl-genl-3-200 libpcsclite1 proxmox-kernel-6.8.12-2-pve-signed proxmox-kernel-6.8.8-1-pve-signed
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/45.7 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 83089 files and directories currently installed.)
Preparing to unpack .../grub-efi-amd64_2.06-13+pmx5_amd64.deb ...
Unpacking grub-efi-amd64 (2.06-13+pmx5) over (2.06-13+pmx5) ...
Setting up grub-efi-amd64 (2.06-13+pmx5) ...
Installing for x86_64-efi platform.
File descriptor 3 (pipe:[149045]) leaked on vgs invocation. Parent PID 29634: grub-install.real
File descriptor 3 (pipe:[149045]) leaked on vgs invocation. Parent PID 29634: grub-install.real
Installation finished. No error reported.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-8-pve
Found initrd image: /boot/initrd.img-6.8.12-8-pve
Found linux image: /boot/vmlinuz-6.8.12-6-pve
Found initrd image: /boot/initrd.img-6.8.12-6-pve
Found linux image: /boot/vmlinuz-6.8.12-2-pve
Found initrd image: /boot/initrd.img-6.8.12-2-pve
Found linux image: /boot/vmlinuz-6.8.8-1-pve
Found initrd image: /boot/initrd.img-6.8.8-1-pve
Found linux image: /boot/vmlinuz-6.5.13-6-pve
Found initrd image: /boot/initrd.img-6.5.13-6-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
Se hace un poco de limpieza ejecutando el comando apt autoremove
:
apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
libnl-genl-3-200 libpcsclite1 proxmox-kernel-6.8.12-2-pve-signed proxmox-kernel-6.8.8-1-pve-signed
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 1,154 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 83086 files and directories currently installed.)
Removing libnl-genl-3-200:amd64 (3.7.0-0.2+b1) ...
Removing libpcsclite1:amd64 (1.9.9-2) ...
Removing proxmox-kernel-6.8.12-2-pve-signed (6.8.12-2) ...
Examining /etc/kernel/postrm.d.
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 6.8.12-2-pve /boot/vmlinuz-6.8.12-2-pve
update-initramfs: Deleting /boot/initrd.img-6.8.12-2-pve
run-parts: executing /etc/kernel/postrm.d/proxmox-auto-removal 6.8.12-2-pve /boot/vmlinuz-6.8.12-2-pve
run-parts: executing /etc/kernel/postrm.d/zz-proxmox-boot 6.8.12-2-pve /boot/vmlinuz-6.8.12-2-pve
Re-executing '/etc/kernel/postrm.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
run-parts: executing /etc/kernel/postrm.d/zz-systemd-boot 6.8.12-2-pve /boot/vmlinuz-6.8.12-2-pve
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 6.8.12-2-pve /boot/vmlinuz-6.8.12-2-pve
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-8-pve
Found initrd image: /boot/initrd.img-6.8.12-8-pve
Found linux image: /boot/vmlinuz-6.8.12-6-pve
Found initrd image: /boot/initrd.img-6.8.12-6-pve
Found linux image: /boot/vmlinuz-6.8.8-1-pve
Found initrd image: /boot/initrd.img-6.8.8-1-pve
Found linux image: /boot/vmlinuz-6.5.13-6-pve
Found initrd image: /boot/initrd.img-6.5.13-6-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
Removing proxmox-kernel-6.8.8-1-pve-signed (6.8.8-1) ...
Examining /etc/kernel/postrm.d.
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 6.8.8-1-pve /boot/vmlinuz-6.8.8-1-pve
update-initramfs: Deleting /boot/initrd.img-6.8.8-1-pve
run-parts: executing /etc/kernel/postrm.d/proxmox-auto-removal 6.8.8-1-pve /boot/vmlinuz-6.8.8-1-pve
run-parts: executing /etc/kernel/postrm.d/zz-proxmox-boot 6.8.8-1-pve /boot/vmlinuz-6.8.8-1-pve
Re-executing '/etc/kernel/postrm.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
run-parts: executing /etc/kernel/postrm.d/zz-systemd-boot 6.8.8-1-pve /boot/vmlinuz-6.8.8-1-pve
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 6.8.8-1-pve /boot/vmlinuz-6.8.8-1-pve
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-8-pve
Found initrd image: /boot/initrd.img-6.8.12-8-pve
Found linux image: /boot/vmlinuz-6.8.12-6-pve
Found initrd image: /boot/initrd.img-6.8.12-6-pve
Found linux image: /boot/vmlinuz-6.5.13-6-pve
Found initrd image: /boot/initrd.img-6.5.13-6-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
Processing triggers for libc-bin (2.36-9+deb12u9) ...
Y listo, ya se puede reiniciar para que Proxmox utilice el nuevo bootloader.
Historial de cambios
- 2025-03-11: Documento inicial