Os-prober failing to detect my Windows installation

Hello everyone!

First, allow me to wish you all happy Easter holidays!

I’ve decided to reinstall my Garuda installation today. The reason was, latest update to KDE 6 Neon failed because of proprietary nvidia drivers. I’ve found multiple solutions to this problem and was successful, but it included another hacking into already hacked configs, half of the things were not working because of me “fixing things” :slight_smile: so I’ve decided to go through the reinstallation process anyway.

Everything is working fine now. However, os-prober is failing to detect my Windows installation.

The error is as follows:

[sudo] password for dancuc:
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.

Now, I know that dualbooting Garuda is not recommended, sadly, still I occassionally need them :frowning:

efibootmgr:

sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0009,0008,0007
Boot0000* Garuda        HD(1,GPT,4a75c10d-22c0-40c5-b830-887568eee4f5,0x1000,0x96000)/\EFI\Garuda\grubx64.efi
Boot0001* Windows Boot Manager  HD(1,GPT,2a00b4b5-dbdd-e94b-ad2b-785ff14704de,0x1000,0x82000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000061000100000010000000040000007fff0400
Boot0007* USB Drive (UEFI) - KingstonDataTraveler 3.0PMAP       PciRoot(0x0)/Pci(0x14,0x0)/USB(2,0)/CDROM(1,0x82881c,0x8000)0000424f
Boot0008* USB Drive (UEFI) - KingstonDataTraveler 3.0PMAP       PciRoot(0x0)/Pci(0x14,0x0)/USB(2,0)/HD(2,MBR,0x0,0x82881c,0x2000)0000424f
Boot0009* Internal Hard Disk    PciRoot(0x0)/Pci(0x17,0x0)/Sata(16,32768,0)/HD(1,GPT,4a75c10d-22c0-40c5-b830-887568eee4f5,0x1000,0x96000)0000424f

inxi:


System:
Kernel: 6.8.2-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc avail: acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=c4ca8971-321d-4ae0-acac-3ad1725e3a2c rw rootflags=subvol=@
nvidia_drm.modeset=1 quiet
resume=UUID=9c6af320-6e01-4a4e-9582-b4a54f197271 loglevel=3 ibt=off
Desktop: KDE Plasma v: 6.0.3 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
Distro: Garuda base: Arch Linux
Machine:
Type: Laptop System: HP product: OMEN by HP Laptop 15-dc1xxx v: N/A
serial: <filter> Chassis: type: 10 serial: <filter>
Mobo: HP model: 8574 v: 21.17 serial: <filter> part-nu: 8RW69EA#BCM
uuid: 30444335-3230-5a35-5942-e8d8d1508e8f UEFI: AMI v: F.22
date: 05/03/2021
Battery:
ID-1: BAT0 charge: 67.5 Wh (100.0%) condition: 67.5/67.5 Wh (100.0%)
volts: 17.4 min: 15.4 model: HP Primary type: Li-ion serial: N/A
status: full
CPU:
Info: model: Intel Core i7-9750H socket: BGA1440 (U3E1) note: check bits: 64
type: MT MCP arch: Coffee Lake gen: core 9 level: v3 note: check built: 2018
process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 0xD (13)
microcode: 0xFC
Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 850 high: 901 min/max: 800/4500 base/boost: 3960/8300
scaling: driver: intel_pstate governor: powersave volts: 1.1 V
ext-clock: 100 MHz cores: 1: 900 2: 800 3: 900 4: 800 5: 800 6: 900 7: 901
8: 900 9: 800 10: 800 11: 800 12: 900 bogomips: 62399
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>

I know that inxi is incomplete, however it is stuck like this for about an hour or so (couldn’t this indicate another problem?)

Any help would be greatly appreciated, thanks in advance.

Hello and happy Easter!

Just a question: Did you enable os-prober in /etc/default/grub?

1 Like

Try to mount the windows drive and then run os-prober again.

1 Like

Hello, thanks for your answer.

No need to enable it, already enabled. I’ve checked it anyway, disable os-prober is set to false.

Do as @NaN recommended and/or
From the Arch-Wiki:

1 Like

Oh, I see where is the problem now. It seems that Windows EFI partition is somewhat nonexistent (got overwritten during installation, I suppose):

sudo fdisk -l
[sudo] password for dancuc:
Disk /dev/sda: 931,51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 870
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: F6E0C564-A226-4473-B5CB-8ABD90C10E17

Device          Start        End    Sectors   Size Type
/dev/sda1        4096     618495     614400   300M EFI System
/dev/sda2      618496 1881485604 1880867109 896,9G Linux filesystem
/dev/sda3  1881485605 1953520064   72034460  34,3G Linux swap


Disk /dev/nvme0n1: 953,87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: SAMSUNG MZVLB1T0HBLR-000H1
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: 32A41C00-E16E-4F85-B03C-C62D21FEEA26

Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048      34815      32768    16M Microsoft reserved
/dev/nvme0n1p2      34816 1999075327 1999040512 953,2G Microsoft basic data
/dev/nvme0n1p3 1999075328 2000406527    1331200   650M Windows recovery environment


Disk /dev/zram0: 31,22 GiB, 33526120448 bytes, 8185088 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

Probably a stupid question, is there some way to repair this from Linux, or do I need to download Windows and fix it from it’s command prompt? Windows Boot Manager is showing on SAMSUNG 870 EVO, (on which Garuda is installed on), not on NVME drive on which Windows is installed :slight_smile:

garuda-inxi is missing!

Post also

lsblk -f

Garuda on sda, M$ on nvme. sdb was the USB Stick?
Check also all volumes with gparted.

1 Like

I did include garuda-inxi in my first post, but it gets stuck after vulnerabilities and never continues past that.

lsblk -f
NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1      vfat   FAT32       ED29-0935                             298,8M     0% /boot/efi
├─sda2      btrfs              c4ca8971-321d-4ae0-acac-3ad1725e3a2c  819,6G     9% /var/tmp
│                                                                                  /var/log
│                                                                                  /var/cache
│                                                                                  /srv
│                                                                                  /home
│                                                                                  /root
│                                                                                  /
└─sda3      swap   1     swap  9c6af320-6e01-4a4e-9582-b4a54f197271                [SWAP]
zram0                                                                              [SWAP]
nvme0n1
├─nvme0n1p1
├─nvme0n1p2 ntfs               5AC2F93FC2F91FC5
└─nvme0n1p3 ntfs               FE48BF2C48BEE297

The thing with MS on nvme and Garuda on another SSD is that it is really old computer, and when I was installing Garuda for the first time I was not sure if it will be good for me, and it was. Just my laziness and time pressure are the main causes that this kinda stuck.

Yea, sdb was the usb stick.

Try from live ISO, please. Again, what is drive /dev/sdb1?
Which command are you using here?

Did you try to install grub on sdb?

You must use

/dev/sda1

sudo grub-install /dev/sda1
sudo update-grub
1 Like

Here is inxi from live system

System:
Kernel: 6.5.9-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: acpi_pm
parameters: BOOT_IMAGE=/boot/vmlinuz-x86_64 lang=en_US keytable=us tz=UTC
misobasedir=garuda root=miso:LABEL=GARUDA_DR460NIZEDGAMING_RAPTOR quiet
systemd.show_status=1 ibt=off driver=nonfree nouveau.modeset=0
i915.modeset=1 radeon.modeset=1
Desktop: KDE Plasma v: 5.27.9 tk: Qt v: 5.15.11 wm: kwin_x11 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: HP product: OMEN by HP Laptop 15-dc1xxx v: N/A
serial: <filter> Chassis: type: 10 serial: <filter>
Mobo: HP model: 8574 v: 21.17 serial: <filter> UEFI: AMI v: F.22
date: 05/03/2021
Battery:
ID-1: BAT0 charge: 67.5 Wh (100.0%) condition: 67.5/67.5 Wh (100.0%)
volts: 17.4 min: 15.4 model: HP Primary type: Li-ion serial: N/A
status: full
CPU:
Info: model: Intel Core i7-9750H socket: BGA1440 (U3E1) note: check bits: 64
type: MT MCP arch: Coffee Lake gen: core 9 level: v3 note: check built: 2018
process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 0xD (13)
microcode: 0xFA
Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 2750 high: 3797 min/max: 800/4500 base/boost: 3960/8300
scaling: driver: intel_pstate governor: performance volts: 1.1 V
ext-clock: 100 MHz cores: 1: 3738 2: 3732 3: 800 4: 3797 5: 3697 6: 3665
7: 800 8: 3728 9: 3780 10: 800 11: 800 12: 3665 bogomips: 62399
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA TU106M [GeForce RTX 2060 Mobile] vendor: Hewlett-Packard
driver: nvidia v: 535.113.01 alternate: nouveau,nvidia_drm non-free: 535.xx+
status: current (as of 2023-09) arch: Turing code: TUxxx
process: TSMC 12nm FF built: 2018-22 pcie: gen: 3 speed: 8 GT/s lanes: 8
link-max: lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1f11 class-ID: 0300
Device-2: Lite-On [] driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s
lanes: 1 mode: 2.0 bus-ID: 1-6:3 chip-ID: 04ca:707f class-ID: 0e02
serial: <filter>
Display: server: X.Org v: 21.1.9 with: Xwayland v: 23.2.2
compositor: kwin_x11 driver: X: loaded: modesetting,nvidia
alternate: fbdev,nouveau,nv,vesa gpu: nvidia display-ID: :0 screens: 1
Screen-1: 0 s-res: 2944x1080 s-dpi: 144 s-size: 520x191mm (20.47x7.52")
s-diag: 554mm (21.81")
Monitor-1: DP-2 pos: primary res: 1920x1080 hz: 60 dpi: 142
size: 344x194mm (13.54x7.64") diag: 395mm (15.55") modes: N/A
Monitor-2: None-1-1 size-res: N/A modes: N/A
API: EGL v: 1.5 hw: drv: nvidia platforms: gbm: drv: nvidia
API: OpenGL v: 4.6.0 vendor: nvidia v: 535.113.01 glx-v: 1.4
direct-render: yes renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
memory: 5.86 GiB
API: Vulkan v: 1.3.269 layers: 7 device: 0 type: discrete-gpu
name: NVIDIA GeForce RTX 2060 driver: nvidia v: 535.113.01
device-ID: 10de:1f11 surfaces: xcb,xlib
Audio:
Device-1: Intel Cannon Lake PCH cAVS vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl
bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403
Device-2: NVIDIA TU106 High Definition Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 8
link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:10f9 class-ID: 0403
API: ALSA v: k6.5.9-zen2-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 0.3.83 status: n/a (root, process) 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: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Hewlett-Packard driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: 3000 bus-ID: 3c:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: eno1 state: down mac: <filter>
Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 1 bus-ID: 3d:00.0 chip-ID: 8086:2723 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Bluetooth:
Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7:4 chip-ID: 8087:0029
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 7c010c
RAID:
Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
v: 3.0 port: 5020 bus-ID: 00:17.0 chip-ID: 8086:282a rev: N/A class-ID: 0104
Drives:
Local Storage: total: 1.95 TiB used: 0 KiB (0.0%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
model: MZVLB1T0HBLR-000H1 size: 953.87 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: HPS0NEXF temp: 54.9 C scheme: GPT
SMART: yes health: PASSED on: 1y 31d 18h cycles: 1,980
read-units: 89,183,279 [45.6 TB] written-units: 88,357,504 [45.2 TB]
ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 870 EVO 1TB
family: based SSDs size: 931.51 GiB block-size: physical: 512 B
logical: 512 B sata: 3.3 speed: 6.0 Gb/s tech: SSD serial: <filter>
fw-rev: 1B6Q temp: 36 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 1y 163d 14h cycles: 1646
written: 7.56 TiB Pre-Fail: reallocated sector: 98 threshold: 10
ID-3: /dev/sdb maj-min: 8:16 vendor: Kingston model: DataTraveler 3.0
size: 115.5 GiB block-size: physical: 512 B logical: 512 B type: USB
rev: 3.2 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: N/A serial: <filter>
fw-rev: PMAP scheme: MBR
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
Message: No partition data found.
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.23 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 12 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 81.0 C pch: 77.0 C mobo: N/A gpu: nvidia
temp: 70 C
Fan Speeds (rpm): cpu: 3885 fan-2: 3711
Info:
Processes: 287 Uptime: 3m wakeups: 1 Memory: total: 32 GiB
available: 31.23 GiB used: 4.19 GiB (13.4%) Init: systemd v: 254
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
pm: pacman pkgs: 1812 libs: 518 tools: octopi,paru Shell: garuda-inxi (sudo)
default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.30
warning: database file for 'garuda' does not exist (use '-Sy' to download)
warning: database file for 'core' does not exist (use '-Sy' to download)
warning: database file for 'extra' does not exist (use '-Sy' to download)
warning: database file for 'community' does not exist (use '-Sy' to download)
warning: database file for 'multilib' does not exist (use '-Sy' to download)
warning: database file for 'chaotic-aur' does not exist (use '-Sy' to download)
Garuda (2.6.17-1):
System install date:     2024-03-31
Last full system update: 2024-03-31 ↻
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

/dev/sdb1 is USB stick with Garuda Live ISO
/dev/sdb2 is additional partition with data (not mounted)

I did not, grub is installed normally on /dev/sda1

When I remove the stick, the grub is working without problems. I just have it plugged in for the most of the time.

Solution !!! :rofl:

1 Like

It seems we misunderstand each other. The grub is working without problems with or without the stick, but os-prober won’t find the MS Windows installation, so it doesn’t show in the boot options. I can’t even boot into Windows from the firmware, because it for some unknown reason shows (in the firmware) that it is on the same drive as Garuda, even that it is not. Garuda is on SSD (sda), Windows is on NVME.

Did you?

1 Like

I did before, now again as to show you the output.

sudo grub-install /dev/sda1
[sudo] password for dancuc:
Installing for x86_64-efi platform.
Installation finished. No error reported.

╭─dancuc@ares in ~ as 🧙 took 5s
╰─λ sudo update-grub
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/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-zen-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: 2024-03-31 13:41:01 | @/.snapshots/22/snapshot | post | gpart udftools                        |
Found snapshot: 2024-03-31 13:39:00 | @/.snapshots/21/snapshot | pre  | /usr/bin/pacman -S --noconfirm --asdeps extra/gpart extra/udftools       |
Found snapshot: 2024-03-31 13:38:58 | @/.snapshots/20/snapshot | post | atkmm cairomm glibmm gparted gtkmm3 libsigc++ pangomm                    |
Found snapshot: 2024-03-31 13:38:55 | @/.snapshots/19/snapshot | pre  | /usr/bin/pacman -S --noconfirm extra/gparted                             |
Found snapshot: 2024-03-31 13:25:39 | @/.snapshots/18/snapshot | post | balena-etcher-electron-bin            |
Found snapshot: 2024-03-31 13:25:37 | @/.snapshots/17/snapshot | pre  | pacman --upgrade --noconfirm -- /home/dancuc/.cache/paru/clone/balena-et |
Found snapshot: 2024-03-31 13:24:39 | @/.snapshots/16/snapshot | post | c-ares electron electron19-bin electron29 gconf re2                      |
Found snapshot: 2024-03-31 13:24:34 | @/.snapshots/15/snapshot | pre  | pacman --sync --noconfirm -- extra/c-ares extra/electron29 extra/electro |
Found snapshot: 2024-03-31 12:51:29 | @/.snapshots/14/snapshot | post | xpipe                                 |
Found snapshot: 2024-03-31 12:51:27 | @/.snapshots/13/snapshot | pre  | pacman --upgrade --noconfirm -- /home/dancuc/.cache/paru/clone/xpipe/xpi |
Found 10 snapshot(s)
Unmount /tmp/grub-btrfs.Ga6cvoEdmU .. Success
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

I cannot understand why suddenly Windows is showing on the same drive as Garuda, although it was never there (even in firmware).

sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0009,9999
Boot0000* garuda        HD(1,GPT,4a75c10d-22c0-40c5-b830-887568eee4f5,0x1000,0x96000)/\EFI\garuda\grubx64.efi
Boot0001* Windows Boot Manager  HD(1,GPT,2a00b4b5-dbdd-e94b-ad2b-785ff14704de,0x1000,0x82000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000061000100000010000000040000007fff0400
Boot0009* Internal Hard Disk    PciRoot(0x0)/Pci(0x17,0x0)/Sata(16,32768,0)/HD(1,GPT,4a75c10d-22c0-40c5-b830-887568eee4f5,0x1000,0x96000)0000424f
Boot9999* USB Drive (UEFI)      PciRoot(0x0)/Pci(0x1d,0x0)/USB(16,0)0000424f

Boot0001* Windows Boot Manager HD(1
Shouldn’t this be HD(0 ?

Did you select the option to wipe /dev/sda?
In that disk there is the only ESP partition in your system, so if you wiped it you wiped also the Windows bootloader, I think. And probably the efibootmgr entry for Windows is still pointing to the old /dev/sda1.
If this is the case, probably you’ll have to repair the bootloader from Windows, I guess with a Windows live USB (I don’t remember how Windows works for that).

3 Likes

I have also noticed the garuda-inxi takes abnormally long these days to output the required info. not sure what’s up with that. For me too the garuda-inxi right now get’s stuck at vulnerabilities and decides to take another minute or two before going forward again.

1 Like

This is it. I did wipe /dev/sda…

Thanks everyone for their participation. Now I have to go and create a Windows Live ISO… :smiley:

1 Like

Folks…again: if your computer has several internal disks and Windows is installed - before you remove a internal disk or install another operating system - check BEFORE where Windows has stored its ESP! ^^

2 Likes

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