Grub cannot see windows, standard solutions do not work

I had some issues with windows 11, and I ended up reinstalling it after linux was already installed. I set up windows, and then rebooted and I could no longer get into it. In the bios boot menu there is a “EFI OS” that I can boot into but I get a “grub rescue unknown filesystem” error. I believe there are some trash partitions from the windows install, but I am not sure how to clean it up. I have tried following some standard recommendations to this issue for the past few hours, but nothing seems to work. I have some extra hard drives in my PC that I just use for data storage and stuff.

Stuff I have tried:

https://askubuntu.com/questions/197868/grub-does-not-detect-windows


A dump of a bunch of potentially useful commands:

lsblk   
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0  55.6M  1 loop /var/lib/snapd/snap/core18/2679
loop1         7:1    0     4K  1 loop /var/lib/snapd/snap/bare/5
loop2         7:2    0 164.8M  1 loop /var/lib/snapd/snap/gnome-3-28-1804/161
loop3         7:3    0  91.7M  1 loop /var/lib/snapd/snap/gtk-common-themes/1535
loop4         7:4    0  49.8M  1 loop /var/lib/snapd/snap/snapd/17950
loop5         7:5    0 169.4M  1 loop /var/lib/snapd/snap/spotify/60
sda           8:0    0 931.5G  0 disk 
└─sda1        8:1    0 931.5G  0 part 
sdb           8:16   0 931.5G  0 disk 
├─sdb1        8:17   0   300M  0 part 
└─sdb2        8:18   0 931.2G  0 part 
sdc           8:32   1 114.6G  0 disk 
└─sdc1        8:33   1    32G  0 part 
nvme0n1     259:0    0 931.5G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part 
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0   100M  0 part 
├─nvme0n1p4 259:4    0 487.4G  0 part 
├─nvme0n1p6 259:5    0     2G  0 part /boot/efi
└─nvme0n1p7 259:6    0 441.2G  0 part /

cat /etc/grub.d/40_custom  
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
# Tried 0,3 0,4 1,3 1,4 2,3 2,4 6,3 6,4
menuentry "Windows 11" {
     insmod ntfs
     set root='(hd259,3)'
     search --no-floppy --fs-uuid --set 8E121CDD121CCC59
     chainloader +1
}

sudo blkid     
/dev/loop1: TYPE="squashfs"
/dev/nvme0n1p7: UUID="f8801a13-c3fe-4002-9ae1-c4365f0e951b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="e03c4d79-cf82-4541-a262-5d66b404391b"
/dev/nvme0n1p3: UUID="261B-DB27" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="f246efbe-8f6f-4e93-8833-f00c7a9a5d35"
/dev/nvme0n1p1: UUID="988F-7D57" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="0f552d5a-89a4-4a1d-872d-f3b5d8fe7a6f"
/dev/nvme0n1p6: UUID="2082-9DA4" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="28ccc3af-86c9-794e-8406-64750af8eb02"
/dev/nvme0n1p4: BLOCK_SIZE="512" UUID="8E121CDD121CCC59" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="adbf500d-70f7-4db3-aae2-40516ff6b8b9"
/dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="3f8e7e26-64b1-466d-a57c-6290e464adeb"
/dev/sdb2: UUID="4bc8f7e2-d8d4-4cb0-82f6-e8025acd4fe0" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="59636803-d5f3-9844-bea6-6b7a2aca65fd"
/dev/sdb1: LABEL_FATBOOT="NO_LABEL" LABEL="NO_LABEL" UUID="B0D2-3E3E" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="692a038d-4ffd-0141-a97b-583b772f4375"
/dev/loop4: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop0: TYPE="squashfs"
/dev/sdc1: LABEL="ESD-USB" UUID="907B-9FCC" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="3372d622-01"
/dev/sda1: LABEL="data" UUID="d7252edf-a454-472d-bd1e-e310dda3f637" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="f72f2e54-fe1e-c447-b740-fde0fa2e1897"
/dev/loop5: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"

 inxi -Fza                                                                                                                                                                                                                   
System:
  Kernel: 6.1.12-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64
    root=UUID=f8801a13-c3fe-4002-9ae1-c4365f0e951b rw quiet splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.26.5 tk: Qt v: 5.15.8 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: B650M AORUS ELITE AX v: -CF
    serial: <superuser required>
  Mobo: Gigabyte model: B650M AORUS ELITE AX v: x.x
    serial: <superuser required> UEFI: American Megatrends LLC. v: F2
    date: 09/28/2022
CPU:
  Info: model: AMD Ryzen 9 7950X bits: 64 type: MT MCP arch: Zen 4 gen: 5
    level: v4 note: check built: 2022 process: TSMC n5 (5nm) family: 0x19 (25)
    model-id: 0x61 (97) stepping: 2 microcode: 0xA601201
  Topology: cpus: 1x cores: 16 tpc: 2 threads: 32 smt: enabled cache:
    L1: 1024 KiB desc: d-16x32 KiB; i-16x32 KiB L2: 16 MiB desc: 16x1024 KiB
    L3: 64 MiB desc: 2x32 MiB
  Speed (MHz): avg: 3452 high: 5478 min/max: 3000/5880 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 3000 2: 3000
    3: 3000 4: 3000 5: 3000 6: 3000 7: 3000 8: 5478 9: 3000 10: 3000 11: 4500
    12: 3000 13: 3000 14: 4500 15: 3000 16: 3000 17: 4500 18: 3000 19: 3000
    20: 3000 21: 3000 22: 3000 23: 4500 24: 3000 25: 3000 26: 3000 27: 3000
    28: 4500 29: 4500 30: 3000 31: 4500 32: 4500 bogomips: 287613
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  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: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: always-on, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6950 XT] 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: HDMI-A-1
    empty: DP-1,DP-2,DP-3 bus-ID: 03:00.0 chip-ID: 1002:73a5 class-ID: 0300
  Device-2: AMD Raphael 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: none empty: DP-4, DP-5,
    DP-6, HDMI-A-2 bus-ID: 35:00.0 chip-ID: 1002:164e class-ID: 0300
    temp: 37.0 C
  Device-3: Microdia USB 2.0 Camera type: USB driver: snd-usb-audio,uvcvideo
    bus-ID: 3-4.3.1:7 chip-ID: 0c45:636b class-ID: 0102 serial: <filter>
  Display: x11 server: X.Org v: 21.1.7 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: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: HDMI-A-1 mapped: HDMI-A-0 model: HITACHI built: 2017
    res: 1920x1080 hz: 60 dpi: 85 gamma: 1.2 size: 575x323mm (22.64x12.72")
    modes: max: 1920x1080 min: 720x400
  API: OpenGL v: 4.6 Mesa 22.3.5 renderer: AMD Radeon RX 6950 XT (navi21
    LLVM 15.0.7 DRM 3.49 6.1.12-1-MANJARO) direct-render: Yes
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel
    bus-ID: 3-2:2 pcie: chip-ID: 0c76:228c gen: 4 speed: 16 GT/s class-ID: 0300
    lanes: 16 serial: <filter> bus-ID: 03:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Rembrandt Radeon High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 35:00.1
    chip-ID: 1002:1640 class-ID: 0403
  Device-3: AMD Family 17h/19h HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 35:00.6 chip-ID: 1022:15e3 class-ID: 0403
  Device-4: JMTek LLC. JOUNIVO JV601 type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Device-5: Microdia USB 2.0 Camera type: USB driver: snd-usb-audio,uvcvideo
    bus-ID: 3-4.3.1:7 chip-ID: 0c45:636b class-ID: 0102 serial: <filter>
  Sound API: ALSA v: k6.1.12-1-MANJARO running: yes
  Sound Server-1: JACK v: 1.9.22 running: no
  Sound Server-2: PulseAudio v: 16.1 running: yes
  Sound Server-3: PipeWire v: 0.3.65 running: yes
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
    pcie: gen: 2 speed: 5 GT/s lanes: 1 port: e000 bus-ID: 0d:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: enp13s0 state: down mac: <filter>
  Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
    bus-ID: 0e:00.0 chip-ID: 14c3:0616 class-ID: 0280
  IF: wlp14s0 state: up mac: <filter>
Bluetooth:
  Device-1: MediaTek Wireless_Device type: USB driver: btusb v: 0.8
    bus-ID: 3-6:4 chip-ID: 0e8d:0616 class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
  Local Storage: total: 2.84 TiB used: 112.02 GiB (3.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: MSI model: M480 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 type: SSD serial: <filter> rev: EIFM31.4 temp: 48.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: SanDisk model: SSD PLUS 1000GB
    size: 931.52 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 00RL scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 870 QVO 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 1B6Q scheme: GPT
  ID-4: /dev/sdc maj-min: 8:32 type: USB vendor: SanDisk model: USB 3.2Gen1
    size: 114.6 GiB block-size: physical: 512 B logical: 512 B type: N/A
    serial: <filter> rev: 1.00 scheme: MBR
  SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
Partition:
  ID-1: / raw-size: 441.23 GiB size: 433.24 GiB (98.19%)
    used: 112.02 GiB (25.9%) fs: ext4 dev: /dev/nvme0n1p7 maj-min: 259:6
  ID-2: /boot/efi raw-size: 2 GiB size: 2 GiB (99.80%) used: 312 KiB (0.0%)
    fs: vfat dev: /dev/nvme0n1p6 maj-min: 259:5
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 66.2 C mobo: N/A
  Fan Speeds (RPM): N/A
  GPU: device: amdgpu temp: 38.0 C device: amdgpu temp: 32.0 C mem: 30.0 C
    fan: 0 watts: 14.00
Info:
  Processes: 480 Uptime: 26m wakeups: 1 Memory: 30.5 GiB
  used: 5.69 GiB (18.7%) Init: systemd v: 252 default: graphical
  tool: systemctl Compilers: gcc: 12.2.1 alt: 11 clang: 15.0.7 Packages:
  pm: pacman pkgs: 1465 libs: 469 tools: pamac,yay pm: flatpak pkgs: 0
  Shell: Zsh v: 5.9 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.25
 
efibootmgr                                                                                                                                                                                                                  
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0009,0008,0004,000A
Boot0000* manjaro       HD(6,GPT,28ccc3af-86c9-794e-8406-64750af8eb02,0x3d090000,0x400000)/File(\EFI\manjaro\grubx64.efi)
Boot0004* UEFI OS       HD(1,GPT,692a038d-4ffd-0141-a97b-583b772f4375,0x1000,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
Boot0008* UEFI OS       HD(1,GPT,692a038d-4ffd-0141-a97b-583b772f4375,0x1000,0x96000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
Boot0009* UEFI OS       HD(6,GPT,28ccc3af-86c9-794e-8406-64750af8eb02,0x3d090000,0x400000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
Boot000A* UEFI:  USB, Partition 1       PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/Pci(0xc,0x0)/Pci(0x0,0x0)/USB(2,0)/HD(1,MBR,0x3372d622,0x800,0x4000000)0000424f

test -d /sys/firmware/efi && echo efi || echo bios                                                                                                                                                                           
efi

 sudo os-prober 
/dev/sdb2:Manjaro Linux (22.0.2):ManjaroLinux:linux

You point it to:

Which is your Windows Partition, so C:\. That is wrong, since it is not a legacy BIOS installation, but an EFI installation. It needs to point to the efi partition of windows.

Example:

menuentry 'Windows Boot Manager' {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set=root 988F-7D57
        chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

Thanks for the help. When I try the example you provided I get a “file not found” error. I tried changing the UUID to the other efi partition on this drive (261B-DB27), and that gave the same error. I also tried using chainloader +1, instead of the command you provided, and that gave a “invalid EFi path” error.
Finally, I tried modifying the custom menu entry I took from the custom entry documentation to point to the EFI partition by changeing it to

#tried '(hd259,0)' and '(hd259,2)'
menuentry "Windows 11" {
     insmod fat
     set root='(hd259,0)'
     search --no-floppy --fs-uuid --set 8E121CDD121CCC59
     chainloader +1
}

No idea, :man_shrugging:

On one of my systems, Win11 was preinstalled, and it works like explained.

This is the drive:

Model: TEAM TM8FP6512G (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  106MB  105MB   fat32        EFI Win11                     boot, esp
 2      106MB   123MB  16,8MB               Microsoft reserved partition  msftres
 3      123MB   256GB  256GB   ntfs         Win11                         msftdata
 4      256GB   256GB  649MB   ntfs                                       hidden, diag
 5      256GB   257GB  105MB   fat32        EFI Manjaro                   boot, esp
 6      257GB   512GB  256GB   btrfs        Manjaro

What about just setting up os prober? Look at the file /etc/default/grub and set GRUB_DISABLE_OS_PROBER to false.

However, there must be an entry in the efi, which is not the case in your setup. So the Win11 Bootloader is broken. You need to repair it on Windows, but this a Manjaro Forum. You are on your own and the WWW.

Try changing that to:

search.fs_uuid <YOUR UUID> root

Plus what @megavolt said about loading the bootloader from the ESP:


The reason why grub doesn’t recognize other O/S’s is because the os_prober module does not run while loading grub’s config from within BTRFS…
You should get a warning/message telling you this when you regenerate the grub config AFAIK…
(But im not a grub user so…)

I tried enabling the os prober with no success. I tried trimoon’s suggestion. Since it cannot even boot into windows from bios, I think I broke the windows bootloader, as you suggested. I’ll probably do a fresh install. Thanks for you all’s help.

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