Unable to boot; /boot/efi: unknown filesystem type 'vfat'

I know there’s a handful of these posts already in the forum, but so far I’ve had no luck with any of the solutions. Maybe I did something incorrectly along the way, but I’ll list off what I’ve attempted so far. I’m not opposed to trying things again, so if you think I’ve done something incorrectly feel free to just tell me to do it again.

  1. Under arch-chroot, running reinstall-kernels
  2. This comment that I found on a random Reddit thread

I want to say there’s more, but currently it’s 2 AM and I’ve honestly forgotten at this point. I am running GRUB. I’m not sure if that’s an issue since I seem to see a mix of systemd-boot and grub directions when looking around, but leaning towards systemd-boot.

I also have three exports that I managed to pass through to this Windows install via a shared mounted drive. I do dual-boot Windows on this machine, but Endeavour and Windows have their own separate drives. I tried to paste them below, but they were much too long. If you want me to pass them along as screenshots or a specific section, let me know. I have the output for:

  • journalctl -xb
  • systemctl status boot-efi.mount
  • dmesg

If this is a totally lost cause I should have the means to clean reinstall, but I’d like to save that as a last resort. Thank you for your help.

One thing that was happening before this occurred that might be of interest? I was having some really weird issues with the ffmpeg package. I installed obs-studio-browser from the AUR via yay some time ago. obs-studio-browser requires a variation of ffmpeg called ffmpeg-obs.

I’ve never had issues with these being conflicting packages and I know I’ve done at least a handful of full system upgrades since installing obs-studio-browser (using sudo pacman -Syu followed by yay -Syu and usually a system reboot). So this really threw me off.

I didn’t do anything too crazy I don’t think. I started to periodically uninstall packages, and right as I was about to make a post to these forums I tried sudo pacman -Syu one more time. Somehow the system upgrade just went through and then I went ahead and attempted to reinstall obs-browser-studio. I wasn’t able to build it for whatever reason, but after I gave up on that I rebooted and ended up in the current situation I’m in.

How big is the efi partition? One of my PCs it was really small:

╭────────────────────────────────────────────────────────────────────╮
│ 3 local devices                                                    │
├────────────┬────────┬───────┬────────┬───────┬──────┬──────────────┤
│ MOUNTED ON │   SIZE │  USED │  AVAIL │  USE% │ TYPE │ FILESYSTEM   │
├────────────┼────────┼───────┼────────┼───────┼──────┼──────────────┤
│ /          │ 258.5G │ 66.9G │ 178.4G │ 25.9% │ ext4 │ /dev/nvme0n1 │
│            │        │       │        │       │      │ p5           │
│ /boot/efi  │  96.0M │ 26.8M │  69.2M │ 27.9% │ vfat │ /dev/nvme0n1 │
│            │        │       │        │       │      │ p1           │
│ /media/10t │   9.0T │  1.9T │   6.6T │ 21.5% │ ext4 │ /dev/sda2    │
│ b          │        │       │        │       │      │              │
╰────────────┴────────┴───────┴────────┴───────┴──────┴──────────────╯

I have had to use grub instead of systemd-boot.

Unable to boot; /boot/efi: unknown filesystem type ‘vfat’

EOS defaults to /boot/efi as mountpoint for ESP when using Grub.

The reinstall-kernels command is intended to be used with systemd-boot as bootloader.

EOS defaults to /efi as mountpoint for ESP when using systemd-boot.

So this was not the right command to run in chroot.

From chroot, post:

pacman -Q | grep -E "dracut|grub|mkinitcpio”

efibootmgr

cat /etc/fstab

blkid

I believe it’s only 1 GB in size, but let me chroot in and I can confirm that. I’ll put an edit below this confirming or updating my answer.

Edit: I was right on the money. It is nearly 1 GB in size.

╭─────────────────────────────────────────────────────────────────────────╮
│ 2 local devices                                                         │
├────────────┬─────────┬─────────┬────────┬───────┬──────┬────────────────┤
│ MOUNTED ON │    SIZE │    USED │  AVAIL │  USE% │ TYPE │ FILESYSTEM     │
├────────────┼─────────┼─────────┼────────┼───────┼──────┼────────────────┤
│ /          │    1.8T │ 1020.0G │ 702.6G │ 56.2% │ ext4 │ /dev/nvme1n1p2 │
│ /boot/efi  │ 1022.0M │  242.2M │ 779.8M │ 23.7% │ vfat │ /dev/nvme1n1p1 │
╰────────────┴─────────┴─────────┴────────┴───────┴──────┴────────────────╯

You know what, that would make a lot of sense why that didn’t work the handful of times I tried it.

Let me go grab those other items and I’ll update this comment.

Edit: Alright, I’ve got the information. I’ll post them in the order asked for.

dracut 108_eos-1
grub 2:2.12.r359.g19c698d12-1
kernel-install-for-dracut 1.13-1
BootCurrent: 0008
Timeout: 1 seconds
BootOrder: 0000,0007,0008
Boot0000* endeavouros	HD(1,GPT,4fea511e-9251-4b78-85be-7a021d425580,0x1000,0x200000)/\EFI\ENDEAVOUROS\GRUBX64.EFI
Boot0007* Windows Boot Manager	HD(1,GPT,4fea511e-9251-4b78-85be-7a021d425580,0x1000,0x200000)/\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000000000100000010000000040000007fff0400
Boot0008* UEFI:  USB, Partition 2	PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/USB(3,0)/HD(2,MBR,0x84b2a6e7,0xe522000,0x10000)0000424f
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=CD8D-9DDF                            /boot/efi       vfat    fmask=0137,dmask=0027 0 2
UUID=824b4841-9e5e-4fd6-ae2c-4153a5c43b41 /               ext4    noatime    0 1
UUID=04e1699c-9411-4b24-bb0c-871fc6a89857 swap            swap    defaults   0 0
tmpfs                                     /tmp            tmpfs   defaults,noatime,mode=1777 0 0

# Game SSD
UUID=94383BAF383B8EEC			  /mnt/SteamGames ntfs 	  rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0

# Backup HDD
UUID=ffd1c3b8-7b11-41f9-882f-cc5ebb37f378 /mnt/Backups 	  ext4    rw,relatime 0 0
/dev/nvme0n1p1: UUID="abe7721c-dbdc-4875-a4a5-fcbc2f0069b2" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="Microsoft reserved partition" PARTUUID="95f439f2-faa9-488f-a680-9f7c7570f76e"
/dev/nvme0n1p2: BLOCK_SIZE="512" UUID="8AB2C1DCB2C1CCBF" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="4a77342a-caf1-4c6f-8b71-a1dee64be7ce"
/dev/sdd2: SEC_TYPE="msdos" LABEL_FATBOOT="VTOYEFI" LABEL="VTOYEFI" UUID="BDAD-470D" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="84b2a6e7-02"
/dev/sdd1: LABEL="Ventoy" UUID="4F2A-75A6" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="84b2a6e7-01"
/dev/sdb1: LABEL="storage" UUID="99a9b732-1b88-41fb-845b-c632cb91a7b9" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="fe62d26a-89cd-44bd-852b-234b3d370596"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
/dev/mapper/ventoy: BLOCK_SIZE="2048" UUID="2023-06-01-15-26-15-00" LABEL="ARCH_202306" TYPE="iso9660" PTUUID="64a7e678" PTTYPE="dos"
/dev/sdc2: LABEL="GameStorage" BLOCK_SIZE="512" UUID="94383BAF383B8EEC" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="efb495e6-3ae3-487c-a2f6-aa328317fcfd"
/dev/sdc3: BLOCK_SIZE="512" UUID="CA1CF1021CF0E9F9" TYPE="ntfs" PARTUUID="acf74d13-ee1f-49b3-b2c8-177d32c0abb2"
/dev/nvme1n1p2: LABEL="endeavouros" UUID="824b4841-9e5e-4fd6-ae2c-4153a5c43b41" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="endeavouros" PARTUUID="9e80fa7a-6826-4501-93a4-36c439366428"
/dev/nvme1n1p3: LABEL="swap" UUID="04e1699c-9411-4b24-bb0c-871fc6a89857" TYPE="swap" PARTUUID="3c8d1139-7bb7-4992-bb52-ded9c6a60399"
/dev/nvme1n1p1: UUID="CD8D-9DDF" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI" PARTUUID="4fea511e-9251-4b78-85be-7a021d425580"
/dev/sda1: LABEL="Storage2" UUID="ffd1c3b8-7b11-41f9-882f-cc5ebb37f378" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="e60643f9-1ff3-4cbb-b58e-f8255b653707"
/dev/sdc1: PARTLABEL="Microsoft reserved partition" PARTUUID="a5818fd8-6e05-45d2-80ae-070e4838437f"
1 Like

The output you have posted indicates that you effectively use grub (not systemd-boot) and dracut.

Therefore this package:

is not needed for your system. This is to be used for the systems with systemd-boot and dracut.

What you need instead is the package: eos-dracut

ref: https://discovery.endeavouros.com/installation/dracut/2022/12/

So in chroot, remove the former and install the latter:

pacman -R kernel-install-for-dracut

pacman -S eos-dracut

Then reinstall your kernels and dracut will rebuild your initrds automatically.

At the end:

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

Edit to correct my post according to the advise from @dalto.

1 Like

This is a problem. You have the automation for systemd-boot but seem to be using grub.

Remove kernel-install-for-dracut and install eos-dracut.

Then reinstall your kernel packages

1 Like

In this case you need to reinstall the kernel packages. If the OP has kernel-install-for-dracut installed, they probably don’t have the latest kernels in /boot

2 Likes

I’ll edit my post.

1 Like

This combined with pacman -S linux linux-headers linux-zen linux-zen-headers and grub-mkconfig -o /boot/grub/grub.cfg did the trick!

So at some point before this all happened (like weeks ago roughly) I believe I uninstalled eos-dracut in favor of kernel-install-for-dracut. I can’t recall why this was the case / what tutorial I had ended up blindly following that made me do this, but I’m fairly certain not having eos-dracut was my doing.

Thank you both for your help, I greatly appreciate it. :heart:

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.