GRUB does not see Windows 10 anymore

Hi there,

I have Linux Manjaro and windows 10 installed in dual boot on my SSD in UEFI/GPT. Was able to load windows normally from GRUB boot menu just a few days ago but now Windows is not recognised.
I can boot in Windows only if I enable Safe boot in my BIOS settings or by disabling GRUB boot-loader. Here is the output from my terminal.

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 77.9M 1 loop /var/lib/snapd/snap/p3x-onenote/110
loop1 7:1 0 290.6M 1 loop /var/lib/snapd/snap/kde-frameworks-5-qt-5-14-core18/4
loop2 7:2 0 67.7M 1 loop /var/lib/snapd/snap/todoist/4
loop3 7:3 0 295.3M 1 loop /var/lib/snapd/snap/vlc/2103
loop4 7:4 0 23.5M 1 loop /var/lib/snapd/snap/latexml/14
loop5 7:5 0 55.5M 1 loop /var/lib/snapd/snap/core18/1988
loop6 7:6 0 63.1M 1 loop /var/lib/snapd/snap/todoist/2
loop7 7:7 0 337.7M 1 loop /var/lib/snapd/snap/wine-platform-runtime/216
loop8 7:8 0 64.4M 1 loop /var/lib/snapd/snap/gtk-common-themes/1513
loop9 7:9 0 130M 1 loop /var/lib/snapd/snap/skype/162
loop10 7:10 0 74.8M 1 loop /var/lib/snapd/snap/p3x-onenote/108
loop11 7:11 0 162.9M 1 loop /var/lib/snapd/snap/gnome-3-28-1804/145
loop12 7:12 0 55.3M 1 loop /var/lib/snapd/snap/teams-for-linux/105
loop13 7:13 0 290.4M 1 loop /var/lib/snapd/snap/vlc/1700
loop14 7:14 0 64.8M 1 loop /var/lib/snapd/snap/gtk-common-themes/1514
loop15 7:15 0 55.4M 1 loop /var/lib/snapd/snap/teams-for-linux/150
loop16 7:16 0 99.2M 1 loop /var/lib/snapd/snap/core/10859
loop17 7:17 0 99.5M 1 loop /var/lib/snapd/snap/wine-platform-3-stable/11
loop18 7:18 0 74M 1 loop /var/lib/snapd/snap/wine-platform-3-stable/10
loop19 7:19 0 173M 1 loop /var/lib/snapd/snap/spotify/43
loop20 7:20 0 337.4M 1 loop /var/lib/snapd/snap/wine-platform-runtime/212
loop21 7:21 0 98.4M 1 loop /var/lib/snapd/snap/core/10823
loop22 7:22 0 55.4M 1 loop /var/lib/snapd/snap/core18/1944
loop23 7:23 0 134.4M 1 loop /var/lib/snapd/snap/skype/164
loop24 7:24 0 123.8M 1 loop /var/lib/snapd/snap/tusk/29
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:1 0 100M 0 part
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 120G 0 part /run/media/luca/Windows
├─nvme0n1p4 259:4 0 100G 0 part /
├─nvme0n1p5 259:5 0 512M 0 part
├─nvme0n1p6 259:6 0 14G 0 part
├─nvme0n1p7 259:7 0 1G 0 part
├─nvme0n1p8 259:8 0 99M 0 part /boot/efi
└─nvme0n1p9 259:9 0 2.8G 0 part [SWAP]

sudo parted -l

Model: SAMSUNG MZVLB256HAHQ-00000 (nvme)
Disk /dev/nvme0n1: 256GB
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 system partition boot, esp
2 106MB 123MB 16.8MB Microsoft reserved partition msftres
3 123MB 129GB 129GB ntfs Basic data partition msftdata
4 129GB 236GB 107GB ext4
8 236GB 236GB 104MB fat32 msftdata
9 236GB 239GB 2967MB linux-swap(v1) swap
5 239GB 240GB 537MB fat32 Basic data partition hidden, diag
6 240GB 255GB 15.0GB ntfs Basic data partition hidden, diag
7 255GB 256GB 1074MB ntfs Basic data partition hidden, diag

sudo efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0002,2001,2002,2003
Boot0001* Manjaro HD(8,GPT,3037d983-6ed7-2c4a-9103-931adcf7f7c2,0x1b83a800,0x31800)/File(\EFI\Manjaro\grubx64.efi)
Boot0002* Windows Boot Manager HD(1,GPT,88ecf77d-e95d-4c1a-a16f-c05dfbac15d7,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS…x…B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}…6…
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC

sudo update-grub
Generating grub configuration file …
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Adding boot menu entry for UEFI Firmware Settings …
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done

Also, checking with os-prober I get:

sudo os-prober
/dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi

Tried also modifying settings on 40_custom to let GRUB create a chain link to windows, I can see the windows logo in the menu but when trying to boot it returns ‘Failed. Invalid path’

cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0

menuentry “Windows 10” --class windows --class os {
insmod ntfs
insmod chain
insmod search_fs_uuid
search --no-floppy --set=root --fs-uuid 8EBA9260BA92451D
chainloader +1
}

Hi @tallsamurai,

I suspect it’s due to the most recent update. As per the update announcement:

  • Grub got some needed security updates . Note that os-prober is now disabled by default for security reasons: broken patch ; fixed patch . More infos about it here . To restore the old behavior, open a terminal and issue sudo echo GRUB_DISABLE_OS_PROBER=false >> /etc/default/grub && sudo update-grub
4 Likes

I don’t know why I didn’t check the announcement tread before, I had the same issue and this solved it.

Thank you @Mirdarthos !

When I issue the command to restore the old grub behavior I get the following:

bash: /etc/default/grub: Permission denied

1 Like

That’s probably because you need to run the commands with sudo or as root. (But preferably with sudo.)

If that does not work try and add what @Mirdarthos, suggested to the grub file manually, worked for me. Open a a terminal and type sudoedit /etc/default/grub. Add a new string to the file as suggested and paste GRUB_DISABLE_OS_PROBER=false, finally do sudo update-grub. That should do the work

2 Likes

I did run as sudo, but I’ll try what tallsamurai suggests.

Thanks, @tallsamurai , the manual edit was effective.

When pasting terminal output, highlight it and use the Preformatted text </> button, not the Quote " button.

Alternatively, add three backticks ` above and below the text:

```
text
```

Open a a terminal and type sudoedit /etc/default/grub. Add a new string to the file as suggested and paste GRUB_DISABLE_OS_PROBER=false, finally do sudo update-grub.

The one and only solution for me… Well, my computer :wink:

Don’t change default profile, create new one. That’s a good mantra. Keep it.

And also, default profile, doesn’t contains window. Don’t update grub, try grub-install and post your results.

Would someone suggest I switch to a different distribution of linux to avoid issues like this?

The reason I ask is because this issue brought a lot of frustration these past few days and it literally came out of nowhere. I kept reading online guides to fix this and the only thing that was suggested was using os-prober, and it wasn’t until finding this I was able to list my Windows OS again in Grub. 4 days ago this was implemented.

How am I supposed to anticipate an issue like this after following simple system maintenance practices like, keeping your system updated? I’ve been attempting to configure vfio on my system and really broke my install (couldn’t access Command line and root was locked out). So I restored from timeshift and updated my system to retry the vfio process again. But this update must have been implemented at the exact moment my windows installation disappeared.

Is this handled differently on other distributions? Am I introducing this frustration unto myself by using manjaro? I have a rather basic understanding of linux so situations like this, and other similar scenarios are extremely demoralizing

My preference/suggestion is to add Windows to the boot manually. I like this better than the os-prober way since it allows me to present it more nicely and also avoids some odd behaviours I’ve seen with os-prober detecting OSs that aren’t there.

These are the instructions I used:

Even though they are written for Ubuntu they work perfectly on Manjaro too (and probably other distros that use Grub).

I just use rEFInd, installed via Architects and for now it works good, I got the same problem couldn’t fix it.

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