Grub Not Finding Windows?

Hello all,

I am having issues after a new Manjaro install seeing my Windows 10 partition in Grub. I have updated grub multiple times with no luck. I believe I have messed up the Windows boot loader and am wondering if I can fix it using Grub.

Backstory…

I was previously using a dual-boot with Windows and Debian. I wanted to move away from Debian and get on Manjaro. I removed the Debian partition that also held Grub before fixing the Windows boot loader (stupid I know…). I now have Manjaro installed with Grub successfully, but still can’t see Windows in the selection menu. Any suggestions? I can post any output necessary.

Thanks,
P

1 Like

Maybe …

lsblk
sudo update-grub

(yes lets see what grub sees when it updates)

1 Like

Thanks for the response. Here are the outputs:

lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
├─sda1   8:1    0   350M  0 part 
├─sda2   8:2    0 110.9G  0 part 
└─sda3   8:3    0   536M  0 part 
sdb      8:16   0 931.5G  0 disk 
├─sdb1   8:17   0 716.4G  0 part 
├─sdb2   8:18   0  19.5G  0 part 
├─sdb3   8:19   0   201M  0 part /boot/efi
└─sdb4   8:20   0 195.4G  0 part /


sudo update-grub 
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.8-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img
Found initrd fallback image: /boot/initramfs-5.8-x86_64-fallback.img
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

As you can see, Grub never finds Windows here. Im hoping there is someway to get Grub to discover it without having to fix Windows MBR

1 Like

An EFI don’t need a MBR… that would be legacy BIOS then. But as i see you use EFI:

Could you also post this output?

sudo parted -l

and

efibootmgr -v

Thanks again for the response.

sudo parted -l
Model: ATA Samsung SSD 840 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  368MB  367MB  primary  ntfs         boot
 2      368MB   119GB  119GB  primary  ntfs
 3      119GB   120GB  562MB  primary  ntfs         diag


Model: ATA WDC WD10EZEX-60Z (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system     Flags
 1      1049kB  769GB   769GB   primary  ntfs
 3      769GB   769GB   211MB   primary  fat32           boot
 4      769GB   979GB   210GB   primary  ext4
 2      979GB   1000GB  21.0GB  primary  linux-swap(v1)



fibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0001,0006,0000,0002
Boot0000* manjaro	 HD(3,MBR,0xf8926714,0x598b8841,0x647bf)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0001* Samsung SSD 840 Series	BBS(HD,,0x0)..BO
Boot0002* WDC WD10EZEX-60ZF5A0	BBS(HD,,0x0)..BO
Boot0006* UEFI OS	HD(3,MBR,0xf8926714,0x598b8841,0x647bf)/File(\EFI\BOOT\BOOTX64.EFI)..BO
1 Like

Phew… ok here are the facts:

  1. You installed Windows with legacy BIOS.
  2. You installed Linux with EFI.

Therefore… Grub searches for EFI entries, not BIOS entries. But, there are none. So Grub can’t find Windows.

2 Likes

Alright awesome thanks.

My understanding of boot loading is pretty poor so I appreciate you laying that out for me. So basically what I am gathering here is that something needs to be reinstalled… I’m assuming the only way to fix this would be re-installing Windows?

1 Like

Technically you dont have to do anything and can just boot in legacy mode and manually select windoze.
But yes … for more seamless operation … you probably want the 2 things to match.
I generally prefer/advise U/EFI on anything modern enough to use it.
But in any case … you can either reinstall linux and make sure to boot/install in legacy/bios mode.
Or you can reinstall windoze in UEFI mode.
Or, as mentioned, you can just change your dualboot startup habits and otherwise do nothing.

(oh yeah … plus some other partition/layout tips as mentioned by @megavolt below)

1 Like

Well, since Windows is installed in BIOS mode, i would rather suggest to install Manjaro also in BIOS mode.

Both drives have a ms-dos partition table, which is not really great for EFI.

If you want to use EFI, then you need to wipe both drives and use a GPT partition table.

Check when you have booted a Manjaro Install Disk, if you are in BIOS mode:

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

So, I tried switching to Legacy settings in Bios and was still unable to boot into Windows. I am going to try to get an iso working and attempt a recovery. I have a feeling though I’m going to have to to some re-installs here…

I will report back with my findings

Thanks again for your help… I was still unable to get into Windows, I am going to try a manual repair first and then come back to them being in separate modes, likely installing Manjaro into BIOS mode.

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

Hey,

So I’m going to try re-installing Manjaro in bios mode per your reccomendations… Should I also put the boot loader on the drive with Windows on it? Do you think this could help or no?

When you boot the live ISO for installation make sure to select the BIOS/legacy entry, the (unwanted) UEFI entry has “UEFI” in the name.

The bootloader should be placed in the MBR of the disk you install Manjaro. You don’t need a /boot partition. If you are interested in the details:

I would recommend you to create an extended partition on the disk you intend to reinstall Manjaro as it allows you to use more than four logical partitions. All the partitioning is best done upfront for example with Gparted which is a tool usually existing on some live ISOs.
https://wiki.manjaro.org/index.php/Partitioning_Overview_and_Existing_Partition_Tables

When Manjaro is installed you only need to run

sudo update-grub

and it will produce a grub boot menu entry for your Windoze install so that you can select which OS to boot when the grub boot menu is shown. If the menu is not shown some changes in /etc/default/grub might be needed, in this case, please post this file.

1 Like

Thanks for the help.

Just booted it up with BIOS now. I’m going to reinstall and give it a shot…

Quick question… The guide I was using asked to place GRUB on / instead of the MBR of the drive. I’m going to go ahead and do what you suggested though. In what cases would you want to use / instead of the MBR out of curiousity?

This did it! Thank you so much!

But also thanks to megavolt and cscs too because they also saw the issue. It was on me for not being able to figure out how to fix it.

THANK YOU ALL !

1 Like