Issue with default Grub booting option

bellocarico

Member
Sep 17, 2022
59
5
13
I have been scratching my head on this one for a while, basically due to GPU pass-through and certain modules white/black listed as a grub option I needed to tweak the /etc/defaults/grub

The thing *works” as expected, but I'm unable to have grub selecting the first menu reference, it always defaults to the second (Advanced) and this doesn't use the custom grub config I set up so the box crashes and I need to manually be present at the console to select the right grub option at each reboot.

Proxmox VE GNU/Linux is what I want:
1738310021397.jpeg
but the default highlighted and then auto-selected option is the : Advanced options for Proxmox VE GNU/Linux

I already went through the proxmox-boot-tool refresh and update-grub/update-grub2 with no success.
So long story short: how do I make my Proxmox/grub default to the first option in the menu?

Code:
root@proxmox:~ # cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian `
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt intel_iommu=on i915.enable_gvt=1 usbcore.autosuspend=-1 split_lock_detect=off"
GRUB_CMDLINE_LINUX=""

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Code:
root@black:/etc/grub.d # ls -l
total 92
-rwxr-xr-x 1 root root   726 Mar 20  2023 000_proxmox_boot_header
-rwxr-xr-x 1 root root 10046 Nov  8  2022 00_header
-rwxr-xr-x 1 root root  6260 Nov  8  2022 05_debian_theme
-rwxr-xr-x 1 root root 14123 Nov  8  2022 10_linux
-rwxr-xr-x 1 root root 14180 Nov  8  2022 20_linux_xen
-rwxr-xr-x 1 root root  3799 Feb 11  2023 20_memtest86+
-rwxr-xr-x 1 root root 12923 Apr 19  2024 30_os-prober
-rwxr-xr-x 1 root root  1372 Nov  8  2022 30_uefi-firmware
-rwxr-xr-x 1 root root   214 Nov  8  2022 40_custom
-rwxr-xr-x 1 root root   215 Nov  8  2022 41_custom
-rw-r--r-- 1 root root   483 Nov  8  2022 README

Code:
proxmox-ve: 8.3.0 (running kernel: 6.8.12-7-pve)
pve-manager: 8.3.3 (running version: 8.3.3/f157a38b211595d6)
proxmox-kernel-helper: 8.1.0
pve-kernel-5.15: 7.4-15
proxmox-kernel-6.8: 6.8.12-7
proxmox-kernel-6.8.12-7-pve-signed: 6.8.12-7
proxmox-kernel-6.8.12-6-pve-signed: 6.8.12-6
proxmox-kernel-6.8.12-5-pve-signed: 6.8.12-5
pve-kernel-5.15.158-2-pve: 5.15.158-2
pve-kernel-5.15.102-1-pve: 5.15.102-1
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
intel-microcode: 3.20240910.1~deb12u1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.1.2
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.2-1
proxmox-backup-file-restore: 3.3.2-2
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.3.4
pve-cluster: 8.0.10
pve-container: 5.2.3
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-3
pve-ha-manager: 4.0.6
pve-i18n: 3.3.3
pve-qemu-kvm: 9.0.2-4
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.6
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve1
 
Last edited:
Maybe saving the last boot option is a solution for you ?
GRUB_DEFAULT="saved"
GRUB_SAVEDEFAULT="true"
Thanks, when I do, so I seem to hit a grub bug

Diskfilter writes are not supported.​

It seems like the only way to progress is to revert the changes to the grub config to let it boot properly. So back to square 1.