Reinstalled Manjaro (Dual Boot) - No Grub Menu Can't Access Windows 10

Hello Everyone,

I had a Manjaro KDE / Windows 10 Dell XPS 13 for a few years now. I’ve been running Manjaro KDE in this dual-boot setup for almost 2 years (woohoo!) without any hiccups. Well I recently hit some big issues, and with no recent backups, reinstalling Manjaro (only) was the easier route.

Background:
This time around I thought I would give Manjaro Gnome flavor a shot, so I created my Live USB, formatted all my partitions (Root, Home, Swap) and did a reinstall. To be clear, I did not do anything to the Windows 10 partition(s) and did not touch anything there.

Problem:
Afterwards I was greeted with my Dell XPS booting directly into Manjaro, and no Grub menu for me to choose Windows 10. Inside my Dell Bios, there are a few different options for boot options:
Imgur

I am assuming the Manjaro boot option listed above was replaced here by my ‘fresh’ install and the Windows Boot Manager option was from before I did a reinstall. I tried to ‘force’ my system to boot into Windows (just so I knew things were okay) by forcing it here:

Oddly, it just ended up loading my fresh Manjaro installation again:

So, I think the main problem is that Manjaro is not detecting Windows properly.

Questions:

  1. Do I need to install Grub? Will that detect my Windows 10 installation correctly?
  2. Since I am not using Grub now (and no matter if I chooose Manjaro or Windows Boot Manager) it boots into Manjaro, am I using the Systemd-boot? (Just curious)

Any help here on how I can get my system to detect both OS’s and allow me to choose which to use (just like I’ve had for the past 2 years), would be greatly appreciated. Thanks in advance to everyone for your time and help, it is greatly appreciated!

Thanks,
Asif

You are most likely using GRUB ─ which is the default boot loader ─ and Windows will have been detected and added to the menu during installation. Your problem is that you think GRUB was not installed because you don’t see a menu at boot time.

Open up the file /etc/default/grub in an editor and change the line…

GRUB_TIMEOUT_STYLE=hidden

… into…

GRUB_TIMEOUT_STYLE=menu

Save the file and then, in a terminal, run the following command… :arrow_down:

sudo update-grub

Output:

Boot Menu:

Looks like it doesn’t recognize my windows (and possibly boot partitions since it’s complaining about nvme0n1)? Here’s a breakdown of my system in gparted:
Imgur

The legacy_boot tag on nvme0n1p7 has been removed (this is a slightly older screenshot from this morning). Mainly, I think the issue has to deal with the “unknown device type nvme0n1” message in the first screenshot.

Please let me know if I can provide any additional information to help troubleshoot.

Thank you!

You could copy and paste text output. Also, take screenshots on your computer instead of using your phone camera.

1 Like

Noted, thank you @anon59284200 !

Hey @Aragorn,

Wanted to include some additional details:

  1. Output of tree ‘sudo tree /boot/efi’ command: JustPaste.it - Share Text & Images the Easy Way
  2. Output with ‘sudo parted -l’ command: JustPaste.it - Share Text & Images the Easy Way

If I can include anything else, please let me know!

Are the Microsoft EFI files even there? What are the contents of

/boot/efi/EFI/Microsoft

Yes, looks like it’s all there:

[manjaro ~]# cd /boot/efi/EFI/Microsoft
[manjaro Microsoft]# ls -la
total 8
drwx------  4 root root 1024 Oct 22  2017 .
drwx------  6 root root 1024 Dec 14 09:07 ..
drwx------ 40 root root 5120 Oct 22  2017 Boot
drwx------  2 root root 1024 Oct 22  2017 Recovery
[manjaro Microsoft]# cd Boot/
[manjaro Boot]# ls -la
total 5789
drwx------ 40 root root    5120 Oct 22  2017 .
drwx------  4 root root    1024 Oct 22  2017 ..
-rwx------  1 root root   49152 Jan 22 10:12 BCD
-rwx------  1 root root   65536 Oct 22  2017 BCD.LOG
-rwx------  1 root root       0 Oct 22  2017 BCD.LOG1
-rwx------  1 root root       0 Oct 22  2017 BCD.LOG2
-rwx------  1 root root   65536 Jan 20 04:18 BOOTSTAT.DAT
drwx------  2 root root    3072 Oct 22  2017 Fonts
drwx------  3 root root    1024 Oct 22  2017 Resources
drwx------  2 root root    1024 Oct 22  2017 bg-BG
-rwx------  1 root root    5023 Dec  6  2019 boot.stl
-rwx------  1 root root 1558344 Dec  2 03:58 bootmgfw.efi
-rwx------  1 root root 1541960 Dec  2 03:58 bootmgr.efi
drwx------  2 root root    1024 Oct 22  2017 cs-CZ
drwx------  2 root root    1024 Oct 22  2017 da-DK
drwx------  2 root root    1024 Oct 22  2017 de-DE
drwx------  2 root root    1024 Oct 22  2017 el-GR
drwx------  2 root root    1024 Oct 22  2017 en-GB
drwx------  2 root root    1024 Oct 22  2017 en-US
drwx------  2 root root    1024 Oct 22  2017 es-ES
drwx------  2 root root    1024 Oct 22  2017 es-MX
drwx------  2 root root    1024 Oct 22  2017 et-EE
drwx------  2 root root    1024 Oct 22  2017 fi-FI
drwx------  2 root root    1024 Oct 22  2017 fr-CA
drwx------  2 root root    1024 Oct 22  2017 fr-FR
drwx------  2 root root    1024 Oct 22  2017 hr-HR
drwx------  2 root root    1024 Oct 22  2017 hu-HU
drwx------  2 root root    1024 Oct 22  2017 it-IT
drwx------  2 root root    1024 Oct 22  2017 ja-JP
-rwx------  1 root root   31544 Dec  6  2019 kd_02_10df.dll
-rwx------  1 root root  379192 Dec  6  2019 kd_02_10ec.dll
-rwx------  1 root root   26424 Dec  6  2019 kd_02_1137.dll
-rwx------  1 root root  239928 Dec  6  2019 kd_02_14e4.dll
-rwx------  1 root root   44344 Dec  6  2019 kd_02_15b3.dll
-rwx------  1 root root   44344 Dec  6  2019 kd_02_1969.dll
-rwx------  1 root root   31544 Dec  6  2019 kd_02_19a2.dll
-rwx------  1 root root   20280 Dec  6  2019 kd_02_1af4.dll
-rwx------  1 root root  298296 Dec  6  2019 kd_02_8086.dll
-rwx------  1 root root   18960 Dec  6  2019 kd_07_1415.dll
-rwx------  1 root root   48952 Dec  6  2019 kd_0C_8086.dll
-rwx------  1 root root   17720 Dec  6  2019 kdnet_uart16550.dll
-rwx------  1 root root   27448 Dec  6  2019 kdstub.dll
drwx------  2 root root    1024 Oct 22  2017 ko-KR
drwx------  2 root root    1024 Oct 22  2017 lt-LT
drwx------  2 root root    1024 Oct 22  2017 lv-LV
-rwx------  1 root root 1349448 Sep 10 18:36 memtest.efi
drwx------  2 root root    1024 Oct 22  2017 nb-NO
drwx------  2 root root    1024 Oct 22  2017 nl-NL
drwx------  2 root root    1024 Oct 22  2017 pl-PL
drwx------  2 root root    1024 Oct 22  2017 pt-BR
drwx------  2 root root    1024 Oct 22  2017 pt-PT
drwx------  2 root root    1024 Oct 22  2017 qps-ploc
drwx------  2 root root    1024 Oct 22  2017 ro-RO
drwx------  2 root root    1024 Oct 22  2017 ru-RU
drwx------  2 root root    1024 Oct 22  2017 sk-SK
drwx------  2 root root    1024 Oct 22  2017 sl-SI
drwx------  2 root root    1024 Oct 22  2017 sr-Latn-RS
drwx------  2 root root    1024 Oct 22  2017 sv-SE
drwx------  2 root root    1024 Oct 22  2017 tr-TR
drwx------  2 root root    1024 Oct 22  2017 uk-UA
-rwx------  1 root root    9796 Dec  6  2019 winsipolicy.p7b
drwx------  2 root root    1024 Oct 22  2017 zh-CN
drwx------  2 root root    1024 Oct 22  2017 zh-TW

It appears your Microsoft EFI is fine… The fact that when you booted into Windows via Firmware and it redirected you back to Manjaro can be normal operation. Sometimes EFI systems will go directly to Windows because they see it as default. This is an issue because it bypasses any Linux Bootloader. So then you have to go into Windows and edit the BCD and tell it to go back to Grub or what other boot loader may be. At this point I would not worry too much about that.

Try reinstalling Grub and updating your Grub config files and recheck with the following commands;

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck

then

sudo grub-mkconfig -o /boot/grub/grub.cfg

then reboot, and hope I didn’t just bork your system.

Not sure if it detected it yet, don’t think it did with those commands:

 sudo grub-install --target x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck                                                             64 ✘ 
Installing for x86_64-efi platform.
Installation finished. No error reported.
    ~  sudo grub-mkconfig -o /boot/grub/grub.cfg                                                                                                                 ✔  4s  
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.9-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-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

nvme0n1p1 looks to be a recovery partition and looks like grub is trying to probe that partition and ignoring nvme0n1p4 which is your actual Windows Install.

Also, your swap partition should have one flag and that is “swap” remove all other flags. But, I don’t think this has anything to do with your issue.

Curious, your Gparted does not show the mounting points… the column should be between “File System” and “Size”. Can you paste the output of lsblk ?

Output:

    ~  lsblk                                                                                                                                                            ✔ 
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0 238.5G  0 disk 
├─nvme0n1p1 259:1    0   499M  0 part 
├─nvme0n1p2 259:2    0   100M  0 part /boot/efi
├─nvme0n1p3 259:3    0    16M  0 part 
├─nvme0n1p4 259:4    0    75G  0 part 
├─nvme0n1p5 259:5    0    80G  0 part /home
├─nvme0n1p6 259:6    0    79G  0 part /
└─nvme0n1p7 259:7    0   3.8G  0 part [SWAP]

OK, that looks good… now what is the output of efibootmgr ?

Output:

    ~  efibootmgr                                                                                                                                                       ✔ 
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,0000
Boot0000* Windows Boot Manager
Boot0001* manjaro

Edit:
This is also highlighted in my bios in the following screenshot:

@Aragorn - Any thoughts?

EFI boot manager seems fine.

OK, go to /boot/efi/EFI/Boot and see if there is an efi file called bootx64.efi there.
If not, then run the following command, actually run the command anyway;

sudo cp /boot/grub/x84_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi

then run

sudo grub-mkconfig -o /boot/grub/grub.cfg

Output:

[manjaro ~]# sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi
[manjaro ~]# sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.9-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.9-x86_64.img
Found initrd fallback image: /boot/initramfs-5.9-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

No change it seems.

One other interesting thing I’ve found, digging through my boot options and looking at Manjaro and Windows Boot Manager closely:

Manjaro:

Windows Boot Manager:

It looks like in the BIOS, both boot entrees are pointed to the same grubx64.efi file. I’m assuming the Windows one should point to it’s own Boot File?

The Windows Boot Manager should point to \EFI\Microsoft\Boot\bootmgfw.efi

Yah… that does not look right… maybe a different path would be to restore your windows EFI, you can always add grub later.

https://www.dell.com/support/kbdoc/en-us/000124331/how-to-repair-the-efi-bootloader-on-a-gpt-hdd-for-windows-7-8-8-1-and-10-on-your-dell-pc