Multiple Garuda boot entries in Grub after update

Not sure what has caused this, but for some reason after a recent update of many packages at once, I now have the normal Garuda entry and then another below that that says Garuda Linux on /dev/sda2. Any idea what caused this and how to remove this extra entry? Thanks.

garuda-inxi 
System:
  Kernel: 5.16.7-1-cachyos x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cachyos
    root=UUID=95b636ca-42a5-47b4-9b7a-038581af6cdf rw rootflags=subvol=@
    quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    resume=UUID=41193397-191d-45b5-8c2b-405cf71e73b2 loglevel=3
  Desktop: KDE Plasma 5.23.5 tk: Qt 5.15.2 info: latte-dock
    wm: kwin_wayland vt: 2 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: X510UA v: 1.0
    serial: <superuser required>
  Mobo: ASUSTeK model: X510UA v: 1.0 serial: <superuser required>
    UEFI: American Megatrends v: X510UA.312 date: 04/29/2020
Battery:
  ID-1: BAT0 charge: 25.4 Wh (92.4%) condition: 27.5/42.1 Wh (65.3%)
    volts: 11.5 min: 11.5 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A
    status: Discharging cycles: 433
CPU:
  Info: model: Intel Core i7-7500U bits: 64 type: MT MCP
    arch: Amber/Kaby Lake note: check family: 6 model-id: 0x8E (142)
    stepping: 9 microcode: 0xEA
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 2630 high: 3094 min/max: 400/3500 scaling:
    driver: intel_pstate governor: performance cores: 1: 3094 2: 2308 3: 2654
    4: 2464 bogomips: 23220
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel HD Graphics 620 vendor: ASUSTeK driver: i915 v: kernel
    bus-ID: 00:02.0 chip-ID: 8086:5916 class-ID: 0300
  Device-2: IMC Networks VGA UVC WebCam type: USB driver: uvcvideo
    bus-ID: 1-6:2 chip-ID: 13d3:5a07 class-ID: 0e02 serial: <filter>
  Display: wayland server: X.Org 1.21.1.4 compositor: kwin_wayland driver:
    loaded: intel unloaded: modesetting alternate: fbdev,vesa display-ID: :1
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: XWAYLAND0 res: 1920x1080 hz: 60 dpi: 143
    size: 340x190mm (13.4x7.5") diag: 389mm (15.3")
  Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3
    chip-ID: 8086:9d71 class-ID: 0403
  Sound Server-1: ALSA v: k5.16.7-1-cachyos running: yes
  Sound Server-2: PulseAudio v: 15.0 running: no
  Sound Server-3: PipeWire v: 0.3.45 running: yes
Network:
  Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel
    bus-ID: 02:00.0 chip-ID: 8086:24fd class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8
    bus-ID: 1-8:3 chip-ID: 8087:0a2b class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 1 state: down
    bt-service: enabled,running rfk-block: hardware: no software: yes
    address: <filter>
Drives:
  Local Storage: total: 704.24 GiB used: 137.48 GiB (19.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 870 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 1B6Q scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Micron model: 1100 MTFDDAV256TBN
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: A020 scheme: GPT
Partition:
  ID-1: / raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 580 KiB (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
  ID-3: /home raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
  ID-4: /var/log raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
  ID-5: /var/tmp raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.52 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 17.06 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/sda3 maj-min: 8:3
Sensors:
  System Temperatures: cpu: 44.0 C pch: 32.5 C mobo: N/A
  Fan Speeds (RPM): cpu: 2700
Info:
  Processes: 251 Uptime: 3m wakeups: 1 Memory: 15.52 GiB
  used: 3.24 GiB (20.9%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1553 lib: 389 Shell: fish
  v: 3.3.1 running-in: konsole inxi: 3.3.12
Garuda (2.5.4-2):
  System install date:     2022-01-27
  Last full system update: 2022-02-06
  Is partially upgraded:   No
  Relevant software:       NetworkManager
  Windows dual boot:       Probably (Run as root to verify)
  Snapshots:               Snapper
  Failed units:            systemd-sysctl.service 

 adamj@adam in ~ took 1s
 λ sudo garuda-inxi 
[dragon] empower adamj:         
System:
  Kernel: 5.16.7-1-cachyos x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-cachyos
    root=UUID=95b636ca-42a5-47b4-9b7a-038581af6cdf rw rootflags=subvol=@
    quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    resume=UUID=41193397-191d-45b5-8c2b-405cf71e73b2 loglevel=3
  Console: pty pts/1 wm: kwin_wayland DM: SDDM Distro: Garuda Linux
    base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: X510UA v: 1.0 serial: <filter>
  Mobo: ASUSTeK model: X510UA v: 1.0 serial: <filter>
    UEFI: American Megatrends v: X510UA.312 date: 04/29/2020
Battery:
  ID-1: BAT0 charge: 25.4 Wh (92.4%) condition: 27.5/42.1 Wh (65.3%)
    volts: 11.5 min: 11.5 model: ASUSTeK ASUS Battery type: Li-ion serial: N/A
    status: Discharging cycles: 433
CPU:
  Info: model: Intel Core i7-7500U socket: U3E1 bits: 64 type: MT MCP
    arch: Amber/Kaby Lake note: check family: 6 model-id: 0x8E (142)
    stepping: 9 microcode: 0xEA
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 2994 high: 3298 min/max: 400/3500 base/boost: 2600/8300
    scaling: driver: intel_pstate governor: performance volts: 0.9 V
    ext-clock: 100 MHz cores: 1: 2858 2: 2654 3: 3298 4: 3166 bogomips: 23220
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel HD Graphics 620 vendor: ASUSTeK driver: i915 v: kernel
    bus-ID: 00:02.0 chip-ID: 8086:5916 class-ID: 0300
  Device-2: IMC Networks VGA UVC WebCam type: USB driver: uvcvideo
    bus-ID: 1-6:2 chip-ID: 13d3:5a07 class-ID: 0e02 serial: <filter>
  Display: server: X.Org 1.21.1.4 compositor: kwin_wayland driver:
    loaded: intel unloaded: modesetting alternate: fbdev,vesa display-ID: :1
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
    s-diag: 582mm (22.9")
  Monitor-1: XWAYLAND0 res: 1920x1080 hz: 60 dpi: 143
    size: 340x190mm (13.4x7.5") diag: 389mm (15.3")
  Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3
    chip-ID: 8086:9d71 class-ID: 0403
  Sound Server-1: ALSA v: k5.16.7-1-cachyos running: yes
  Sound Server-2: PulseAudio v: 15.0 running: no
  Sound Server-3: PipeWire v: 0.3.45 running: yes
Network:
  Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel
    bus-ID: 02:00.0 chip-ID: 8086:24fd class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8
    bus-ID: 1-8:3 chip-ID: 8087:0a2b class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 1 state: down
    bt-service: enabled,running rfk-block: hardware: no software: yes
    address: <filter>
Drives:
  Local Storage: total: 704.24 GiB used: 137.48 GiB (19.5%)
  ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 870 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B sata: 3.3
    speed: 6.0 Gb/s type: SSD serial: <filter> rev: 1B6Q temp: 20 C
    scheme: GPT
  SMART: yes state: enabled health: PASSED on: 12d 12h cycles: 423
    written: 4.91 TiB
  ID-2: /dev/sdb maj-min: 8:16 vendor: Micron model: 1100 MTFDDAV256TBN
    family: Micron Client SSDs size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B sata: 3.2 speed: 6.0 Gb/s type: SSD serial: <filter>
    rev: A020 temp: 19 C scheme: GPT
  SMART: yes state: enabled health: PASSED on: 105d 17h cycles: 3179
    written: 9.64 TiB
Partition:
  ID-1: / raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/sda2
    maj-min: 8:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 580 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/sda1 maj-min: 8:1
  ID-3: /home raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/sda2
    maj-min: 8:2
  ID-4: /var/log raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/sda2
    maj-min: 8:2
  ID-5: /var/tmp raw-size: 448.4 GiB size: 448.4 GiB (100.00%)
    used: 137.48 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/sda2
    maj-min: 8:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.52 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  ID-2: swap-2 type: partition size: 17.06 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/sda3 maj-min: 8:3
Sensors:
  System Temperatures: cpu: 41.0 C pch: 31.5 C mobo: N/A
  Fan Speeds (RPM): cpu: 2600
Info:
  Processes: 252 Uptime: 4m wakeups: 1 Memory: 15.52 GiB
  used: 3.23 GiB (20.8%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1553 lib: 389
  Shell: garuda-inxi (sudo) default: Bash v: 5.1.16 running-in: konsole
  inxi: 3.3.12
Garuda (2.5.4-2):
  System install date:     2022-01-27
  Last full system update: 2022-02-06
  Is partially upgraded:   No
  Relevant software:       NetworkManager
  Windows dual boot:       Yes
  Snapshots:               Snapper
  Failed units:            systemd-sysctl.service

Have you already tried a sudo update-grub and reboot?
If not working, it happened in the past to solve a similar issue in the hard way, editing /boot/grub/grub.cfg and removing that menu entry.
Very carefully and backing up the file before...

3 Likes

If setting GRUB_DISABLE_OS_PROBER=true in /etc/default/grub (should be the last line) and then sudo update-grub does not cut it, try sudo chmod a-x /etc/grub.d/30_os-prober.

edit: wait, perhaps it comes back when doing update-grub, not sure. can't reboot now.

The problem is that this is a dual boot, so the os-prober is needed... Otherwise that would have made it.

2 Likes

Hey, so updating grub didn't do anything but removing the boot entry did work until I updated grub again. And as this problem happened after a grub update as that's part of the process of the update command, I don't think is a good solution as only seems to be temporary until the update command is run again.

That would most likely work thank you but unfortunately I dual boot windows as never felt the need to remove it plus compatibility with Office software. Thanks though

Of course. That was a solution when there was a dirty writing in the grub update only once.
In this case you need to check your grub configuration files in /etc/grub.d/.

2 Likes

Oh I see. Could you point me in that direction please. I'm really unfamiliar with this problem and the specific grub files to modify. Could this issue also just be fixed in a future update to grub though? Not sure what the best method to take is to fix this

I listed the directory above.
Sorry, there's no golden rule there. You have to check the files, especially, if not only, those 30, 40, etc. and see if there is anything "strange". I've no idea what this could be. Some duplicate files, entries. You have to spend some time on it and try.
At least it will be a good learning...

2 Likes

Another idea could be actually to disable the os-prober, update grub, windows will disappear but hopefully also the duplicate entry, re-enable it, update grub again.

If it continues to give you trouble, a boot manager call rEFInd would provide a solution. It provides the capability of booting a grub entry (keeping all the good grub stuff happening as it should), and has no need or use for os-prober. Windows would be picked up automatically, so no need for os-prober - and grub for Garuda would be rebuilt properly whenever it needs to.

If I can be forgiven for this :grin: - here's a wiki entry I made on another distro showing how easy this is, or I could assist if needed. (I have a 5 build multi-boot, including Garuda, on my main system.

(here is one way it has looked)

2 Likes

If you are familiar with shell scripts, you may try to disable the os-prober, then add an entry for windows in custom.cfg
https://wiki.debian.org/DualBoot/Windows10

3 Likes

Seems pretty interesting actually so thanks for letting me know this exists. Might check it out. Can I access things such as the snapper configurations like with default grub on Garuda?

Yeah had to do that before on Arch actually but been a while now. Will try it out though if nothing else works thanks haha

Spent a while looking and nothing that seems out of the ordinary. Still looking though so hopefully I spot something. Would be good if I can put Garuda in a different os prober list though so I can remove the duplicate Garuda entry.

Try

efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0005,0002,0003,0004
Boot0000* garuda
Boot0001* UEFI OS
Boot0002* UEFI:CD/DVD Drive
Boot0003* UEFI:Removable Device
Boot0004* UEFI:Network Device
Boot0005* UEFI OS
man efibootmgr

delete the double one.

2 Likes

Well this is interesting...

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0009,0001,000D,000E
Boot0000* Garuda
Boot0001* Windows Boot Manager
Boot0009* Windows Boot Manager
Boot000D* Windows Boot Manager
Boot000E* UEFI OS

That is why I mention that rEFInd can start up a grub entry - and precisely why I allow it to for Garuda. They have produced systems for using snapshots in smart ways, and use grub to enable them. I understand there is a similar setup for rEFInd to use, but I never investigated further, as the work is already done by Garuda devs this way!

I didn't know that laziness increases with age...

Not to get too off topic, but like @freebird54 I am also a big fan of rEFInd! It keeps my boot screen nice and tidy, and it does not mind if a distro boots with grub or systemd, or even just an EFI stub and rEFInd will boot it up itself. It was tricky to get two separate Garuda installs on there because you have to change the name of the grub folder, and edit the GRUB_DISTRIBUTOR line in /etc/default/grub, but I digress further...

As for fixing the grub issue, I'm afraid it will not! If you want to keep access to the snapshots you have to let rEFInd boot to grub anyway.

2 Likes