Hi, I seem to have installed both Manjaro and Windows in UEFI mode, atleast as per the following output. But os-prober and also grub is failing to find Windows installation and create a grub entry for the same. Any help would be appreciated. 
$ sudo parted -l
Model: ATA WDC WD10SPZX-80Z (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 947GB 947GB ntfs Basic data partition msftdata
3 947GB 968GB 21.5GB ext4
2 968GB 1000GB 32.2GB ext4 legacy_boot
Model: JetFlash Transcend 16GB (scsi)
Disk /dev/sdb: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 3664MB 3668MB 4194kB primary esp
Model: HFM256GDJTNG-8310A (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 815MB 814MB fat32 bios_grub
2 815MB 149GB 148GB ntfs Basic data partition msftdata
3 149GB 149GB 16.8MB Microsoft reserved partition msftres
4 149GB 162GB 12.3GB linux-swap(v1) swap
5 162GB 218GB 56.0GB ext4
6 218GB 255GB 37.4GB ext4
7 255GB 256GB 1101MB ntfs Basic data partition hidden, diag
$ efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,0001,0002,0003
Boot0000* Manjaro HD(1,GPT,5ebb2f60-361c-9b4a-92fd-796e0a00edf4,0x800,0x184000)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0001* Windows Boot Manager HD(1,GPT,5ebb2f60-361c-9b4a-92fd-796e0a00edf4,0x800,0x184000)/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.}....................
Boot0002* UEFI: JetFlashTranscend 16GB 1100 PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x3)/USB(3,0)/CDROM(1,0x6d3154,0x8000)..BO
Boot0003* UEFI: JetFlashTranscend 16GB 1100, Partition 2 PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x3)/USB(3,0)/HD(2,MBR,0x0,0x6d3154,0x2000)..BO
$ sudo update-grub
[sudo] password for rohith:
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/amd-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-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.
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.
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
Hi @rohith,
os-prober is disabled by default. You’d have to enable it first. To do so:
- Open
/etc/defaults/grub
as sudo
to edit:
sudo nano /etc/default/grub
- Look for the line starting with
#GRUB_ROOT_FS_RO
…and change it to
#GRUB_ROOT_FS_RO=true
As per the instructions.
-
Save, Ctrl+O → Y, and exit, Ctrl+X.
-
Update grub:
sudo update-grub
- If successful, it should be safe to reboot, so do that and test.
Hope this helps!
Tried toggling the comment (like you suggested on the line GRUB_ROOT_FS_RO=true). Still no luck. 
# Uncomment this option to enable os-prober execution in the grub-mkconfig command
# GRUB_DISABLE_OS_PROBER=false
sudo update-grub
this.
My mistake for the typo. and man! What a typo!
I had uncommented this already. Still no luck. 
Os-Prober is installed, I presume?
https://mirror.alpix.eu/manjaro/testing/community/x86_64/os-prober-1.79-1-x86_64.pkg.tar.zst
or Grub-Install:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
or
I would not be sure about it since you have a bios_grub flag as shown here:
Could be that you boot in BIOS mode or one of the OS was at least installed in BIOS mode.
1 Like
I had the same doubt. I keep the flag as “boot” but still end up getting bios_grub as the flag. Not sure what I’m doing wrong here.
May be you updated BIOS and/or BIOS-settings are changed?
Got it!
. When I re-installed Windows today, it created a seperate EFI partition of 100 MB size. But I’m still not sure why the EFI partition that I created for Manjaro still has the flag “bios_grub”. I had set it to have the flag “boot” and even formatted it during Manjaro installation. The partition with flag “boot, esp” is of the Windows I suppose.
$ sudo parted -l
[sudo] password for rohith:
Model: ATA WDC WD10SPZX-80Z (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 947GB 947GB ntfs Basic data partition msftdata
3 947GB 968GB 21.5GB ext4
2 968GB 1000GB 32.2GB ext4 legacy_boot
Model: HFM256GDJTNG-8310A (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 815MB 814MB fat32 bios_grub
2 815MB 920MB 105MB fat32 EFI system partition boot, esp
3 920MB 149GB 148GB ntfs Basic data partition msftdata
4 149GB 149GB 633MB ntfs hidden, diag
5 149GB 149GB 16.8MB Microsoft reserved partition msftres
6 149GB 162GB 12.3GB linux-swap(v1) swap
7 162GB 218GB 56.0GB ext4
8 218GB 255GB 37.4GB ext4
9 255GB 256GB 1101MB ntfs Basic data partition hidden, diag
Grub is now able to locate Windows. But there also seems to be an extra entry in the boot menu (F8 key during startup). The extra entry has the name “UEFI OS”. I don’t know what this is. Upon selecting this “UEFI OS” from boot menu I will be taken to the grub menu and the menu has 2 options - Manjaro and Windows.
I am pasting the output of $ efibootmgr -v
below:
$ efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0007
Boot0000* Manjaro HD(1,GPT,5ebb2f60-361c-9b4a-92fd-796e0a00edf4,0x800,0x184000)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0001* Windows Boot Manager HD(2,GPT,b7fbfc77-9fb4-4b75-905f-085f7837b3de,0x184800,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.}...c................
Boot0007* UEFI OS HD(1,GPT,5ebb2f60-361c-9b4a-92fd-796e0a00edf4,0x800,0x184000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
It looks like the same as #Boot0001
. So it might be something to do with that, I don’t know. However, if you’re absolutely sure you don’t usee it, you can always delete it:
$ efibootmgr --help
[...]
-B | --delete-bootnum delete bootnum
[...]
So it would be:
efibootmgr --delete-bootnum=Boot0007
Or that’s how I’ve got it, anyway.
I take no responsibility if that deletes the wrong thing. If, however, it works then feel free to heap on the praise.
Hope this helps!
1 Like
Manjaro EFI Partion should have “boot,esp” flag, and Windows too
My System has one EFI Partition for Manjaro and one for Windows. (on different Disks!!!)
==> so you can move the Manjaroi-drive and/or the Windows-drive to another PC without problems.
You use only one Disk for both systems.
There should be inside the “boot,efi”-Partition /EFI/ three Drawers:
/EFI/Boot
/EFI/Manjaro
/EFI/Microsoft
The Partition "bios_grub is not needed afaik;
And: only one EFI on your Disk.
My dual boot setup - everything seems to be working just fine. I wanted to know if there is any disadvantage of having 2 EFI partitions on the same disk? (apart from space being wasted).
If so, I will try to have a single EFI partition.
If it works everything is fine. No need to worry.
1 Like
No, one EFI for each system is o.K. - so each system lives for its one “not disturbing neighbours”.
(If you will kill one system, the others remain intact).
2 Likes