Windows boot manager infecting my linux drive after bios update

First i need to explain my boot setup. I have an nvme drive (nvme0n1) that i have garuda installed on. after I installed garuda I installed windows 10 on one of my sata drives (sda).

╭─ethan@ethan in ~
╰─λ lsblk
sda           8:0    0 465.8G  0 disk
├─sda1        8:1    0    16M  0 part
└─sda2        8:2    0 465.7G  0 part
sdb           8:16   0 465.8G  0 disk
└─sdb1        8:17   0 465.8G  0 part
zram0       254:0    0  31.3G  0 disk [SWAP]
nvme0n1     259:0    0   1.8T  0 disk
├─nvme0n1p1 259:1    0   300M  0 part /boot/efi
└─nvme0n1p2 259:2    0   1.8T  0 part /var/tmp

I updated my BIOS recently and after the update I could no longer boot into grub. The only boot option on my drives was windows boot manager. I fixed the issue by going into windows and running this command as admin

bcdedit /set {bootmgr} path \EFI\garuda\grubx64.efi

I am now able to boot into garuda but I have an additional problem. windows boot manager is now on nvme0n1 instead of sda where I originally installed windows. It shows that windows boot manager is on nvme0n1 in kde partition manager and in grub. after running a grub update grub still does not show up in my bios. I am able to boot into grub through “windows boot manager” on nvme0n1. I don’t want windows to have anything to do with my nvme sdd where I have linux on.

so my question is: how can I remove windows boot manager from nvme0n1 and still boot into garuda? I am fine with deleting windows but I dont want to lose my garuda installation.

  Kernel: 6.8.6-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=1e0ad18c-0993-40e1-b5e4-31a3b75f8dad rw rootflags=subvol=@
    quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
  Desktop: KDE Plasma v: 6.0.4 tk: Qt v: N/A info: frameworks v: 6.1.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
  Type: Desktop Mobo: Micro-Star model: B550M PRO-VDH WIFI (MS-7C95) v: 1.0
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: 2.K0 date: 03/11/2024
  Info: model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2 gen: 3
    level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701033
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 3599 high: 3601 min/max: 2200/4426 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3598 2: 3600
    3: 3600 4: 3600 5: 3600 6: 3600 7: 3600 8: 3600 9: 3600 10: 3600 11: 3600
    12: 3600 13: 3600 14: 3601 15: 3600 16: 3600 bogomips: 115203
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: Gigabyte driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: DP-2 empty: DP-1, HDMI-A-1, HDMI-A-2, Writeback-1
    bus-ID: 2d:00.0 chip-ID: 1002:73df class-ID: 0300
  Display: wayland server: v: with: Xwayland v: 23.2.6
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: 0
  Monitor-1: DP-2 res: 2560x1440 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi inactive: gbm
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.0.5-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6700 XT (radeonsi
    navi22 LLVM 17.0.6 DRM 3.57 6.8.6-zen1-1-zen) device-ID: 1002:73df
    memory: 11.72 GiB unified: no display-ID: :1.0
  API: Vulkan v: 1.3.279 layers: 14 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6700 XT (RADV NAVI22) driver: mesa radv v: 24.0.5-arch1.1
    device-ID: 1002:73df surfaces: xcb,xlib,wayland device: 1 type: cpu
    name: llvmpipe (LLVM 17.0.6 256 bits) driver: mesa llvmpipe
    v: 24.0.5-arch1.1 (LLVM 17.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 2d:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 2f:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: C-Media Blue Snowball driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-6:3
    chip-ID: 0d8c:0005 class-ID: 0300 serial: <filter>
  Device-4: FiiO K3 driver: snd-usb-audio type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 mode: 2.0 bus-ID: 3-2:25 chip-ID: 2972:0047 class-ID: fe01
  API: ALSA v: k6.8.6-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 29:00.0
    chip-ID: 8086:24fb class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 2a:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp42s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: wg0-mullvad state: unknown speed: N/A duplex: N/A mac: N/A
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-9:6 chip-ID: 8087:0aa7
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: no address: <filter> bt-v: 4.2 lmp-v: 8
    status: discoverable: no pairing: no
  Local Storage: total: 2.73 TiB used: 1.35 TiB (49.6%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: SSD 970 EVO Plus 2TB size: 1.82 TiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 2B2QEXM7 temp: 44.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 850 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 3B6Q scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 2B6Q scheme: MBR
  ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 1.35 TiB (74.4%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 35.7 MiB (11.9%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 1.35 TiB (74.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 1.35 TiB (74.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
    used: 1.35 TiB (74.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 31.26 GiB used: 9.8 MiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
  System Temperatures: cpu: 49.8 C mobo: N/A gpu: amdgpu temp: 53.0 C
    mem: 58.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
  Memory: total: 32 GiB available: 31.27 GiB used: 3.44 GiB (11.0%)
  Processes: 392 Power: uptime: 2m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.49 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
    tool: systemctl
  Packages: 2057 pm: pacman pkgs: 2046 libs: 551 tools: pamac,paru
    pm: flatpak pkgs: 11 Compilers: clang: 17.0.6 gcc: 13.2.1 Shell: garuda-inxi
    default: fish v: 3.7.1 running-in: konsole inxi: 3.3.34
Garuda (2.6.26-1):
  System install date:     2023-10-10
  Last full system update: 2024-04-17
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            
sudo grub-install <volume you like> /dev/nvme0n1p1
sudo update-grub

I dont get what you mean by “volume you like”. isn’t that the partition?

sudo grub-install /dev/nvme0n1p1

:arrow_up: Yes

1 Like

ah i see. thank you for the help. and thanks for creating this amazing distro!

1 Like

ok one more thing. my bios now recognizes nvme0n1p1 as garuda but grub still thinks that windows boot manager is on nvme0n1. is this actually normal or should it be saying that it is on sda?



Check also


Where you read this?

I already did sudo update grub. here is an image of my grub

I know for fact I installed windows on sda

and efibootmgr

╭─ethan@ethan in ~/Pictures took 161ms
╰─λ efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002,0003
Boot0001* Windows Boot Manager  HD(1,GPT,34e352b4-fd25-2943-9bde-c7825351b4d4,0x1000,0x96000)/\EFI\GARUDA\GRUBX64.EFI57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000031000100000010000000040000007fff0400
Boot0002* ubuntu        HD(1,GPT,34e352b4-fd25-2943-9bde-c7825351b4d4,0x1000,0x96000)/\EFI\UBUNTU\SHIMX64.EFI0000424f
Boot0003* Windows Boot Manager  HD(1,GPT,34e352b4-fd25-2943-9bde-c7825351b4d4,0x1000,0x96000)/\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI0000424f

wait why is ubuntu there too? I used to have ubuntu on sda but windows is there now. it seems there are two of these i need to get rid of. boot0001 and boot0002

Ok, it is just fine, grub start M$ from nvme0n1p1, right, but it did not change anything on sda where M$ is.

Be carefull with efibootmgr! Where is Garuda?

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0005,0006,0008
Boot0000* garuda	HD(1,GPT,0be6423f-6943-2a40-9610-100045675af5,0x1000,0x82000)/\EFI\GARUDA\GRUBX64.EFI
Boot0001* UEFI OS	HD(1,GPT,0be6423f-6943-2a40-9610-100045675af5,0x1000,0x82000)/\EFI\BOOT\BOOTX64.EFI0000424f
Boot0005* UEFI OS	HD(1,GPT,6a074e10-4834-0a4a-ae4c-ec7ce2ad366d,0x1000,0x82000)/\EFI\BOOT\BOOTX64.EFI0000424f

i think garuda got nuked from the bios update somehow. i had to point windows boot manager to /EFI/garuda/GRUBX64.EFI using the windows command i mentioned in the original post.

if you look at the location of the first windows boot manager it is actually grub

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.