No Grub Menu, Can't boot windows, Formatted windows bootloader on install

Initially I went to do a dual boot install along side windows 10, the installer failed at the last step complaining "/boot/efi doesn't look like an efi partition" (this was the 500mb NTFS partition that had windows bootloader too).

I then tried to install again, deleting the Manjaro partition first (only had root, didn't make a /home or swap). This time however i formatted the boot partition to FAT32 (losing the windows mbr), once again with /boot/efi, boot and esp flags.

Now my laptop boots straight to Manjaro, I don't see a grub menu (tried changing some of the config settings, running update-grub, to no luck), and also the login greeter screen has a 4:3 display resolution until i log in (about 50% of the time).

I can mount the windows drive so its partition is still intact. Looking for advice on what to do, worst case (if possible) i would like to restore windows mbr and then i will just delete the linux partition.

other info: when creating the bootable usb i had MBR partition scheme and Bios or UEFI target settings.

You can use a Windows boot medium to perform a "startup repair" (or similar wording). This will remove the Manjaro boot option but then you can restore Manjaro afterwards.

If the partition you removed had an NTFS filesystem on it, then it was not an EFI System Partition, because the UEFI specification calls for a FAT-based filesystem ─ commonly vfat, alias FAT32.

More likely than not, you simple erased the Windows boot partition ─ I don't do Windows, but I've been told that as of Windows 8 onward, Windows now requires a separate boot partition ─ which contained the Windows boot loader, and possibly even the Windows kernel.

Given the above, there was obviously no EFI system partition before you installed Manjaro, and therefore your Windows installation was most likely set up to boot in legacy BIOS compatibility mode. Your Manjaro installation on the other hand boots in UEFI mode.

Now, I'm still fairly new to UEFI myself, having used legacy BIOS systems up until now, but as I understand it, if you want to mix UEFI and non-UEFI (i.e. legacy BIOS compatibility) operating systems on the same computer, then they should be on different drives, because although most UEFI implementations have a hybrid boot mode where they can boot both UEFI OS installations and legacy BIOS OS installations, they tend to default to UEFI when they find an EFI system partition, and so with the non-UEFI OS installed on a separate drive, the UEFI boot manager knows that it's not a UEFI OS and will default to legacy BIOS compatibility.

Yes, but then the OP will lose their EFI system partition, which then puts them back at square one, as quoted below...

So it seems like a Catch-22 situation: one OS requires legacy boot support and the other requires UEFI boot support, and they're both on the same drive.

1 Like

Boot up to Manjaro and at terminal, print out the output of ...

sudo parted -l
sudo blkid
test -d /sys/firmware/efi && echo UEFI || echo BIOS
cat /etc/fstab

parted -l --> small 'L', not 'one'; all disks output, do not omit or truncate.
If error message, print out error message and proceed to next command.

Then use manjaro file manager and .....

  1. at windows OS partition (ntfs) check if there is any file named 'bootmgr' there (not in any folder)
  2. At all fat32 partitions, print out the contents.
    hint: at file manager terminal, use 'ls' command (small 'L' and 's')
    If the fat32 partition has /efi/microsoft/boot/ print out what's inside.

ps: we'll worry about the no grub menu later.
It is not a problem. It is meant to work that way, however silly we think it is.
Okay, if you worry about it now, keep pressing (tapping is better) the 'esc' key when you start up computer. Do that for about 20 seconds (if your computer is slow, if fast, within 10 seconds, yup... it is also meant to work this way)

And if you see the grub menu, do you see a windows entry?
Tell us, so we (you) don't have to do more things that is unnecessary for this silly feature.
And for you and I to go through all this silly stuff in the first place.


IIRC $esp can also be in NTFS, though not recognized/supported by Linux.
In this case, it is wise to create a new $esp partition in FAT for Linux installations.
On topic, follow @gohlip advise to recover windows entry (if possible...with no $esp entry).


Well, then that must have been a very specific and non-standard UEFI implementation ─ which will undoubtedly exist ─ because the Wikipedia page states the following...:

The EFI system partition needs to be formatted with a file system whose specification is based on the FAT file system and maintained as part of the UEFI specification [...]

... and NTFS is not a FAT-based filesystem. :slight_smile:

1 Like

Thanks for the replies. I found out that I was indeed using UEFI with legacy compatibility, and did not have an efi partition, so I lost the windows boot loader. Using diskpart i was able to make my win OS partition 'active' (prior I had used bcdboot to copy the boot files to that partition) and boot into windows.

I ended up using a windows tool, mbr2gpt, to convert in-place from mbr to gpt partition table. Then switched my bios settings to UEFI only, and then was able to dual install manjaro.

1 Like