>>> sudo fdisk -l /dev/sdb
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 7377AFB5-B4E4-4EAA-B49B-4434A7D6CE1C
Device Start End Sectors Size Type
/dev/sdb1 2048 285214719 285212672 136G Microsoft basic data
/dev/sdb2 285214720 411041791 125827072 60G Microsoft basic data
/dev/sdb3 411041792 536870911 125829120 60G Microsoft basic data
/dev/sdb4 536872960 537896959 1024000 500M EFI System
/dev/sdb5 537896960 546285567 8388608 4G Linux swap
/dev/sdb6 546285568 850943999 304658432 145.3G Linux filesystem
/dev/sdb7 850944000 851920895 976896 477M EFI System
/dev/sdb8 851920896 867921919 16001024 7.6G Linux swap
/dev/sdb9 867921920 976771071 108849152 51.9G Linux filesystem
So I don’t know what exactly caused this, but it happened after I tried to create a partition (/dev/sdb3) before my Manjaro installation from windows.
I don’t recall touching my EFI partition, but after rebooting I couldn’t see the Manjaro GRUB menu, instead I was faced with the GRUB menu for Ubuntu. I figured the grub file was damaged for some reason cuz I could still see Manjaro in the GRUB boot options. But selecting that led me to a purple screen.
Next, I tried booting from the Manjaro EFI file (from the main BIOS/UEFI menu) which led me to the grub rescue mode, saying unkown filesystem.
I have zero experience with grub rescue, so I really need a helping hand here :(, please let me know if I need to share anything else.
Also, on one disk only one of the EFI partitions should have the boot flag, ideally use Manjaro’s EFI partition. If you use the EFI partitions only for Manjaro and Ubuntu actually one EFI partion for the disk would be sufficient. Manjaro will find the other Linux OS and put an entry in the boot menu if you have os-prober installed and run sudo update-grub after restore of the bootloader (and reboot).
Yes. I was a huge noob (still am) back when I was doing the install, I added a new EFI partition for Ubuntu.
However, in my BIOS/UEFI menu it shows that my Ubuntu bootloader is in the ATA SAMSUNG MZNLN128 disk i.e. /dev/sda, I think I made a mistake during installation, does this mean I can delete the /dev/sbd7 partition?
To fix your install you need to perform a lot of things here and there but it’s a bit risky to tell you what to do exactly as only you have all data of your system. Make yourself familiar with the wiki and decide it by yourself after you found out what to do. Before doing risky things - make backups!
I can only say at the end one EFI partition for each disk should be fine to boot Manjaro and Ubunto being located on the same disk. From firmware you need to point to sdb and all systems (incl. Windoze on the other disk) should be booted from Manjaro’s grub menu.
You seem to have multiple EFI partitions, an UEFI Bios however only supports 1 ESP to be actively used.
Which in practice is the first it sees and might be the cause of your problems because the others will only be used after you boot your OS…
Hmm, about that, I think I messed up the bootloader location while installing Ubuntu. And I think my bootloader is in the same EFI partition as the Windoze bootmgr (i.e. /dev/sda1) so even though I have two EFI partitions in /dev/sdb. I think one of them is empty and useless.
Is there anyway I can switch the Ubuntu bootloader to /dev/sdb4 (where manjaro bootloader currently is) and delete the second EFI partition (i.e. /dev/sbd7)?
Also In future if I have want to add a third (linux) OS, can I use the same EFI partition?
This is what my current boot menu and GRUB menu look like. Is there anyway to tell where my Ubuntu bootloader is located, and (possibly) correct this by reinstalling the Ubuntu bootloader to the same EFI partition that Manjaro is using?
>>> df -h /boot/efi
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 256M 38M 219M 15% /boot/efi
I ran the above command in my Ubuntu system and it looks like I was right about the bootloader being present in the Windows partition. Maybe I should start a new thread regarding this.
PS:
The bootloader(s) are all located inside the ESP, your kernel and ramdisks might be somewhere else.
This is because the UEFI Bios uses the bootloader(s) to start your boot process…
Yes you’re right, but I was wondering if there was a way to tell which ESP the bootloader was in. You see, when I was installing Ubuntu after installing Manjaro I created a new ESP, however I foolishly gave the Windows ESP to be the bootloader directory, rendering the newly created ESP useless.
This df -h /boot/efi command did the trick and confirmed the doubt I had.