Grub rescue unknown filesystem

I have a triple boot going on with

  • Windows in /dev/sda (on a separate disk) and
  • Manjaro on /dev/sdb4-6,
  • Ubuntu on /dev/sdb7-9.

Here’s the output for fdisk (from Ubuntu):

sudo fdisk -l /dev/sdb
>>> 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.

Something I noticed it my /boot/efi folder is empty.

/media/.../boot/efi >>> pwd                                                                                                                      
/media/mizumi/56d77d09-dec0-4408-b59c-9e65207adba1/boot/efi
/media/.../boot/efi >>> ls -a                                                                                                                    
.  ..

And these are the contents of my /boot directory:

/media/.../56d77d09-dec0-4408-b59c-9e65207adba1/boot >>> ls -la                                                                                  
total 141828
drwxr-xr-x  5 root root     4096 Nov 29 14:02 .
drwxr-xr-x 19 root root     4096 Nov 23 14:05 ..
drwxr-xr-x  2 root root     4096 Sep 26 16:06 efi
drwxr-xr-x  5 root root     4096 Nov 29 14:03 grub
-rw-r--r--  1 root root 29302134 Dec  5 13:40 initramfs-4.14-x86_64-fallback.img
-rw-r--r--  1 root root 10205852 Dec  5 13:39 initramfs-4.14-x86_64.img
-rw-r--r--  1 root root 31248957 Nov 29 13:54 initramfs-5.8-x86_64-fallback.img
-rw-r--r--  1 root root  9792644 Nov 29 13:54 initramfs-5.8-x86_64.img
-rw-r--r--  1 root root 31343059 Dec  5 13:40 initramfs-5.9-x86_64-fallback.img
-rw-r--r--  1 root root  9803859 Dec  5 13:40 initramfs-5.9-x86_64.img
-rw-r--r--  1 root root  3621888 Nov 19 13:28 intel-ucode.img
-rw-r--r--  1 root root       23 Nov 24 19:23 linux414-x86_64.kver
-rw-r--r--  1 root root       21 Nov  1 19:39 linux58-x86_64.kver
-rw-r--r--  1 root root       21 Nov 28 14:38 linux59-x86_64.kver
drwxr-xr-x  2 root root     4096 Sep 11 21:42 memtest86+
-rw-r--r--  1 root root  4904672 Nov 28 13:06 vmlinuz-4.14-x86_64
-rw-r--r--  1 root root  6804736 Nov  5 15:40 vmlinuz-5.8-x86_64
-rw-r--r--  1 root root  8138944 Nov 29 14:02 vmlinuz-5.9-x86_64

P.S: I’ve pasted these outputs from my Ubuntu system, which is working perfectly fine.

Here’s the ouput for parted -l if it helps:

sudo parted -l
>>> sudo parted -l                                                                          
[sudo] password for mizumi: 
Model: ATA SAMSUNG MZNLN128 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  274MB  273MB   fat32        EFI system partition          boot, esp
 2      274MB   290MB  16.8MB               Microsoft reserved partition  msftres
 3      290MB   127GB  127GB   ntfs         Basic data partition          msftdata
 4      127GB   128GB  1028MB  ntfs         Basic data partition          hidden, diag


Model: ATA CT500MX500SSD1 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name                  Flags
 1      1049kB  146GB  146GB   ntfs            Basic data partition  msftdata
 2      146GB   210GB  64.4GB                  Basic data partition  msftdata
 3      210GB   275GB  64.4GB                  Basic data partition  msftdata
 4      275GB   275GB  524MB   fat32                                 boot, esp
 5      275GB   280GB  4295MB  linux-swap(v1)
 6      280GB   436GB  156GB   ext4
 7      436GB   436GB  500MB   fat32                                 boot, esp
 8      436GB   444GB  8193MB  linux-swap(v1)
 9      444GB   500GB  55.7GB  ext4

You probably need to restore grub’s bootloader. Here is the guide:

https://wiki.manjaro.org/index.php/GRUB/Restore_the_GRUB_Bootloader

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.

Okay I’ve tried chroot-ing from Ubuntu (I don’t have a manjaro iso rn) after mounting the respective partitions, I’m not able to access the internet…

You definitely need a Manjaro ISO on an USB stick, otherwise you won’t come pretty far with your fix.

I’m kind of in a hurry as I need to submit an assignment and my Matlab is installed on Manjaro :(

Network speeds in my area are super slow, I would’ve gone the USB way if I had good speeds, is there no other way?

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…

Nevermid I found an iso :stuck_out_tongue:

Will try following the wiki, and report back.

This worked! I can see the Manjaro GRUB menu now :slight_smile:

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?

You should always use one and the same ESP when installing to harddisk, unless you have good reason and know what you are doing…

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.

I could fix this by following this: dual boot - Move bootloader or remove efi partition in second drive - Ask Ubuntu

Now I just both Linux bootloader s in the same partition.

Thanks @Wollie @TriMoon for your inputs!! :slight_smile:

1 Like

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.

To see which bootloader the UEFI Bios uses to boot which OS you can use:
efibootmgr -v