Garuda / Windows 10 dual-boot

Hello! Looks like I need some assistance with Windows 10 dual-boot.

I had Windows 10 dual-boot (2 SSD disks - one for Linux, one for Windows), then I updated BIOS from Windows and somehow after that Windows became only option to boot (I tried chroot and reinstall grub, but I had no success).

I actually had plans to reinstall Linux, so I did it.
After reinstalling Linux I can’t see Windows boot option in Grub.

lsblk:

NAME        MAJ:MIN RM    SIZE RO TYPE MOUNTPOINTS
zram0       254:0    0   30,5G  0 disk [SWAP]
nvme1n1     259:0    0  953,9G  0 disk
├─nvme1n1p1 259:1    0    300M  0 part /boot/efi
└─nvme1n1p2 259:2    0  953,6G  0 part /var/tmp
nvme0n1     259:3    0    1,8T  0 disk
├─nvme0n1p1 259:4    0  859,4G  0 part /run/media/rat/nvme1
├─nvme0n1p2 259:5    0     16M  0 part
└─nvme0n1p3 259:6    0 1003,6G  0 part /run/media/rat/7CE63270E6322AB2

nvme0n1p2 and nvme0n1p3 are Windows partitions.

Here is my fdisk -l:

Disk /dev/nvme1n1: 953,87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: SAMSUNG MZVL21T0HCLR-00BL2
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6D651055-1593-4EE9-BD52-A457CA3FD656

Device          Start        End    Sectors   Size Type
/dev/nvme1n1p1   4096     618495     614400   300M EFI System
/dev/nvme1n1p2 618496 2000397734 1999779239 953,6G Linux filesystem


Disk /dev/nvme0n1: 1,82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Samsung SSD 970 EVO Plus 2TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A965099A-5A99-BA4C-A24A-F0E5978AF792

Device              Start        End    Sectors    Size Type
/dev/nvme0n1p1       2048 1802242047 1802240000  859,4G Linux filesystem
/dev/nvme0n1p2 1802242048 1802274815      32768     16M Microsoft reserved
/dev/nvme0n1p3 1802274816 3907028991 2104754176 1003,6G Microsoft basic data


Disk /dev/zram0: 30,55 GiB, 32799457280 bytes, 8007680 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

os-prober now can’t find Windows option to boot in. I wonder - how could I nuke Windows EFI partition, it was on another disk?

Here is my garuda-inxi info:

System:
Kernel: 6.1.66-1-lts arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
root=UUID=6ae2e56e-e5e7-485c-b80b-909d0e8bf3a7 rw rootflags=subvol=@
quiet loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.11 wm: kwin_x11 vt: 2
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: LENOVO product: 82UH v: Legion 7 16ARHA7
serial: <superuser required> Chassis: type: 10 v: Legion 7 16ARHA7
serial: <superuser required>
Mobo: LENOVO model: LNVNB161216 v: NO DPK serial: <superuser required>
UEFI: LENOVO v: K9CN44WW date: 09/18/2023
Battery:
ID-1: BAT0 charge: 95.3 Wh (95.0%) condition: 100.3/99.9 Wh (100.4%)
volts: 16.7 min: 15.5 model: C�lxprt L21C4PC2 type: Li-poly
serial: <filter> status: not charging cycles: 18
CPU:
Info: model: AMD Ryzen 9 6900HX with Radeon Graphics bits: 64 type: MT MCP
arch: Zen 3+ gen: 4 level: v3 note: check built: 2022 process: TSMC n6 (7nm)
family: 0x19 (25) model-id: 0x44 (68) stepping: 1 microcode: 0xA404102
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: 16 MiB desc: 1x16 MiB
Speed (MHz): avg: 1782 high: 3300 min/max: 1600/4934 boost: enabled
scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 1600 2: 1600
3: 1600 4: 1384 5: 1600 6: 3300 7: 1600 8: 1600 9: 1332 10: 1600 11: 1600
12: 1600 13: 1600 14: 1600 15: 3300 16: 1600 bogomips: 105441
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
vendor: Lenovo 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: eDP-1 empty: DP-1,DP-2,HDMI-A-1 bus-ID: 03:00.0
chip-ID: 1002:73df class-ID: 0300
Device-2: AMD Rembrandt [Radeon 680M] vendor: Lenovo 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: none empty: DP-3,
DP-4, DP-5, DP-6, DP-7, DP-8 bus-ID: 37:00.0 chip-ID: 1002:1681
class-ID: 0300 temp: 41.0 C
Display: x11 server: X.Org v: 21.1.9 with: Xwayland v: 23.2.2
compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting,radeon
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1600 s-dpi: 96 s-size: 677x423mm (26.65x16.65")
s-diag: 798mm (31.43")
Monitor-1: eDP-1 mapped: eDP model: BOE Display 0x0a9b built: 2020
res: 2560x1600 hz: 165 dpi: 189 gamma: 1.2 size: 344x215mm (13.54x8.46")
diag: 406mm (16") ratio: 16:10 modes: max: 2560x1600 min: 640x480
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: radeonsi device: 2 drv: swrast gbm: drv: kms_swrast
surfaceless: drv: radeonsi x11: drv: radeonsi inactive: wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.2.1-arch1.2
glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6800M (navi22 LLVM
16.0.6 DRM 3.49 6.1.66-1-lts) device-ID: 1002:73df memory: 11.72 GiB
unified: no
API: Vulkan v: 1.3.269 layers: 9 device: 0 type: discrete-gpu name: AMD
Radeon RX 6800M (RADV NAVI22) driver: mesa radv v: 23.2.1-arch1.2
device-ID: 1002:73df surfaces: xcb,xlib device: 1 type: integrated-gpu
name: AMD Radeon Graphics (RADV REMBRANDT) driver: mesa radv
v: 23.2.1-arch1.2 device-ID: 1002:1681 surfaces: xcb,xlib device: 2
type: cpu name: llvmpipe (LLVM 16.0.6 256 bits) driver: mesa llvmpipe
v: 23.2.1-arch1.2 (LLVM 16.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
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: 03:00.1 chip-ID: 1002:ab28
class-ID: 0403
Device-2: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 37:00.1 chip-ID: 1002:1640 class-ID: 0403
Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 37:00.6
chip-ID: 1022:15e3 class-ID: 0403
Device-4: Razer USA BlackShark V2 Pro
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
lanes: 1 mode: 1.1 bus-ID: 3-2.2.4:7 chip-ID: 1532:0528 class-ID: 0300
API: ALSA v: k6.1.66-1-lts status: kernel-api tools: N/A
Server-1: PipeWire v: 1.0.0 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
Network:
Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
vendor: Lenovo driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
bus-ID: 05:00.0 chip-ID: 14c3:0616 class-ID: 0280
IF: wlp5s0 state: up mac: <filter>
Device-2: Realtek RTL8125 2.5GbE vendor: Lenovo driver: r8169 v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 port: 4000 bus-ID: 06:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp6s0 state: down mac: <filter>
Bluetooth:
Device-1: Foxconn / Hon Hai Bluetooth Adapter driver: btusb v: 0.8 type: USB
rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-3:3 chip-ID: 0489:e0d8
class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
rfk-block: hardware: no software: no address: <filter> bt-v: 5.2 lmp-v: 11
status: discoverable: no pairing: no
Drives:
Local Storage: total: 2.75 TiB used: 1.64 TiB (59.5%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:3 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: 41.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung
model: MZVL21T0HCLR-00BL2 size: 953.87 GiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: CL1QGXA7 temp: 43.9 C scheme: GPT
Partition:
ID-1: / raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 211.81 GiB (22.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 32.6 MiB (10.9%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:1
ID-3: /home raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 211.81 GiB (22.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 211.81 GiB (22.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
used: 211.81 GiB (22.2%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 30.55 GiB used: 78.5 MiB (0.3%)
priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 50.2 C mobo: N/A
Fan Speeds (rpm): N/A
GPU: device: amdgpu temp: 42.0 C device: amdgpu temp: 43.0 C mem: 44.0 C
fan: 0 watts: 16.00
Info:
Processes: 400 Uptime: 11m wakeups: 0 Memory: total: 32 GiB note: est.
available: 30.55 GiB used: 2.97 GiB (9.7%) Init: systemd v: 255
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages: 1416
pm: pacman pkgs: 1388 libs: 389 tools: aura,octopi,paru pm: flatpak pkgs: 28
Shell: fish v: 3.6.4 running-in: konsole inxi: 3.3.31
Garuda (2.6.19-2):
System install date:     2023-12-11
Last full system update: 2023-12-11
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       No/Undetected
Failed units:

Any ideas how to get Windows grub entry back?
Cause it’ll be pretty hard time for me to reinstall Windows 10…

I think it is solved in many posts here in the forum.
Edit /etc/default/grub

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false

and update-grub.

It is already set to false.

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
GRUB_DISABLE_OS_PROBER=false

Please, post command and log from

sudo update-grub
efibootmgr
lsblk -f
sudo update-grub
[sudo] password for rat:
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/garuda-dr460nized/theme.txt
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-zen-fallback.img
Found linux image: /boot/vmlinuz-linux-lts
Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-lts-fallback.img
Found linux image: /boot/vmlinuz-linux-amd
Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux-amd.img
Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-amd-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
Found snapshot: 2023-12-11 21:11:04 | @/.snapshots/29/snapshot | post   | sunshine-bin                                                             |
Found snapshot: 2023-12-11 21:10:59 | @/.snapshots/28/snapshot | pre    | pacman -U /var/cache/pacman/pkg/sunshine-bin-0.21.0-1-x86_64.pkg.tar.zst |
Found snapshot: 2023-12-11 21:08:50 | @/.snapshots/27/snapshot | post   | ayatana-ido libayatana-appindicator libayatana-indicator libmfx          |
Found snapshot: 2023-12-11 21:08:49 | @/.snapshots/26/snapshot | pre    | pacman -S --asdeps libmfx libayatana-appindicator                        |
Found snapshot: 2023-12-11 20:58:52 | @/.snapshots/25/snapshot | post   | blas cblas fmt gamemode goverlay-git lapack libimagequant mangohud pytho |
Found snapshot: 2023-12-11 20:58:51 | @/.snapshots/24/snapshot | pre    | pacman -S --noconfirm goverlay-git mangohud gamemode                     |
Found snapshot: 2023-12-11 20:58:29 | @/.snapshots/23/snapshot | post   | tgpt                                                                     |
Found snapshot: 2023-12-11 20:58:28 | @/.snapshots/22/snapshot | pre    | pacman -U /var/cache/pacman/pkg/tgpt-2.2.1-1-x86_64.pkg.tar.zst          |
Found snapshot: 2023-12-11 20:56:35 | @/.snapshots/21/snapshot | post   | go                                                                       |
Found snapshot: 2023-12-11 20:56:33 | @/.snapshots/20/snapshot | pre    | pacman -S --asdeps go                                                    |
Found snapshot: 2023-12-11 20:47:25 | @/.snapshots/13/snapshot | single | Manual Snapshot                                                          |
Found 11 snapshot(s)
Unmount /tmp/grub-btrfs.9W19wIEvE6 .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme1n1.
done
efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 2001,0001,0000,0004,2002,2003
Boot0000* EFI Hard Drive (S64NNX0T575340-SAMSUNG MZVL21T0HCLR-00BL2)    PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/NVMe(0x1,00-25-38-B5-21-C3-F1-D9)/HD(1,GPT,b08b2515-77cf-4381-b26d-ffcfe8c07c6a,0x1000,0x96000)RC
Boot0001* Garuda        HD(1,GPT,b08b2515-77cf-4381-b26d-ffcfe8c07c6a,0x1000,0x96000)/File(\EFI\Garuda\grubx64.efi)
Boot0004* Fedora        HD(1,GPT,6b8200dd-8a8a-4ae1-b91a-6618b8495490,0x800,0x12c000)/File(\EFI\fedora\shim.efi) File(.䍒)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC
lsblk -f
NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
zram0                                                                              [SWAP]
nvme1n1
├─nvme1n1p1 vfat   FAT32       4140-1EF3                             266,8M    11% /boot/efi
└─nvme1n1p2 btrfs              6ae2e56e-e5e7-485c-b80b-909d0e8bf3a7  725,6G    24% /var/tmp
/var/log
/var/cache
/root
/home
/srv
/
nvme0n1
├─nvme0n1p1 btrfs        nvme1 80ad897a-8243-46b7-a2e9-75cefafacd36   67,1G    92% /run/media/rat/nvme1
├─nvme0n1p2
└─nvme0n1p3 ntfs               7CE63270E6322AB2                      329,7G    67% /run/media/rat/7CE63270E6322AB2

My M$ volume is not mounted at the moment.

efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0016,0003,0002,0004,0000,0013,0014,0015,0017,0018,0012
Boot0000* Windows Boot Manager	HD(1,GPT,c9cd2d1b-0589-468f-a38e-8d71c33a7d6a,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494e
Boot0001* garuda	HD(1,GPT,c9cd2d1b-0589-468f-a38e-8d71c33a7d6a,0x800,0x82000)/File(\EFI\garuda\grubx64.efi)
Boot0002* kde	HD(1,GPT,c9cd2d1b-0589-468f-a38e-8d71c33a7d6a,0x800,0x82000)/File(\EFI\kde\grubx64.efi)
Boot0003* i3wm	HD(1,GPT,c9cd2d1b-0589-468f-a38e-8d71c33a7d6a,0x800,0x82000)/File(\EFI\i3wm\grubx64.efi)
Boot0004* Linux Boot Manager	HD(1,GPT,c9cd2d1b-0589-468f-a38e-8d71c33a7d6a,0x800,0x82000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0010  Setup	FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu	FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)
Boot0012* NVMe: SAMSUNG MZVLB1T0HBLR-000L2

So, IDK to help.

That’s pretty sad.

Any other ideas? :frowning:

Hmm, something odd happened here. Are you aware you have a Linux filesystem on the Windows disk? I am wondering if the Windows EFI partition was mistakenly overwritten, because it is nowhere to be found according to your terminal output. If this is the case, you would have to recreate the Windows EFI partition (or share the Linux one on nvme1n1p1) and reinstall the Windows bootloader with whatever method is appropriate for that OS.

Yeah, that’s 800Gb btrfs partition I use to share big files between the systems.
On Win10 I installed drivers that make work with btrfs partitions possible for Windows.

Anyways, after 4 hours reading forums about similar issues I decided to reinstall Windows 10. It would be more simple, actually. :smiley:
I mean reinstalling the Windows bootloader is more difficult than on Linux, lol.

At least I will have 2 brand new OS installations. :stuck_out_tongue_closed_eyes:

What probably happened before you started troubleshooting was that the Windows bootloader took priority in your UEFI config. Happens to me from time to time. It’s not a problem with Garuda or os-prober…it’s Microsoft being dicks.

In future, before you start trying to “fix” GRUB, check your boot order in the BIOS, make sure the drive that has Garuda on it has priority.

I checked - there was no Garuda option at all.
So I decided to fix GRUB based on this information.

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