Fedora 29->30 upgrade issue: uknown filesystem type 'vfat'

I has completed upgrade from fedora 29 to 30 couple months ago, but in loader menu I get only fedora 29 kernels. So I start to dig and find out possible solution: rebuild grub config via grub-mkconfig, I have do it and get new kernel versions in boot menu. But it stops to load fedora. I have 3 versions of kernel in startup menu and no options is working. I start in recovery mode and check boot log: mount of /boot/efi failed because of 'unknown filesystem type ‘vfat’ error.

I googled a lot, no clear way to eliminate the issue. I get the main idea - issue with initrams file. I have check /boot folder: all images for kernels and proper initrams was there, so no issue here. I try to start manually fedora via that instruction: GRUB 2 - Fedora Project Wiki and it failed on insmod xfs because xfs not found error. fstab looks ok. I suppose the issue not with config of portions as it was working before, but because of issue in new kernel.

I managed to find out one strange thing: command uname -a in rescue mode return version 4.8.6-300.fc25.x86_64 and it is really strange as after recreating grub.cfg, I was able to load kernels: 5.6.8-100.fc30, 5.6.11-100.fc30, 5.6.13-100.fc30. I’m pretty sure that before the last update I was using a version of some kernel version belongs to fc29 not fc25 that I get in rescue mode. Not sure if it helps, but it looks strange.

I suppose I need to install a new kernel version manually. Or find out the previous kernel version and revert it back. Could you provide me with some instruction on kernel update via recovery mode in case it is the correct way to fix the issue.

I will appreciate any advice and help, I need to recover my OS to Monday.

Hello Ivan and welcome to the forum.

Your problem might be because at some point Fedora switched to a different syntax for grub entries (I think it was in F30) and in all likelihood your system is configured to use the previous version. Did you run rpmconf -a after the upgrade as mentioned here?

If you can’t boot into the installed system to do the repairs, you can boot off a live medium (it doesn’t have to be the same version of Fedora or even Fedora - any relatively recent linux distro will do) and chroot into the installed system. See this for instructions. Once you’ve updated your configuration files, you can update to the latest kernel (or reinstall it). If you still have problems after this point, you can follow the GRUB 2 guide you’ve already read to fix any remaining issues with the bootloader. Pay attention to the differences between UEFI and BIOS systems.

A note about rescue kernels:
If you look into your /boot folder, you’ll notice a ramdisk that’s much bigger than the others, named initramfs-0-rescue-<long_hex_string>.img and a corresponding kernel image, vmlinuz-0-rescue-<long_hex_string>. Whenever you install a new kernel, dnf(?) checks for these files. If they exist, it does nothing. I they are not there, a new generic ramdisk and a compressed kernel image are created, based on the kernel that gets installed at that transaction. While there’s no problem in keeping them around, if you ever need to change hardware and that version of the kernel did not have support for your newer hardware, you are bound to hit a snag. I’d argue that it’s a good practice to delete these files every now and then, before you update to the second or third update of a kernel version that has been working well for you. For instance, if 5.6.1 didn’t cause any regressions when you first installed it, once you see that there’s an update for it, e.g. 5.6.2 or 5.6.3, just before you update, delete the rescue images:
sudo rm -f /boot/*rescue*
After the update, you will notice that you will have a new ramdisk and kernel image with the same creation date as your latest kernel.

@alexpl thanks for your help - I will do clean of rescue image before next update. And i do not run rpmconf -a. Is it safe to now? Or I should run it rigth after successfull update of kernel/OS?

I get another part of puzzle for my case. I managed to boot and find out strange root cause of my issue. I’m using lenovo notebook with lenovo doc station. Fedora 30 hang up loading process once my notebook is connected to doc statition, once I deattach notebook and reboot it, it loads as expected. Looks like docking station creates some issues. Any ideas how to debug it?

This is something that you should do after every release upgrade, e.g. F31→F32. Some policies and configuration options change from one release to the next, so you should use rpmconf -a to see what’s changed and move to the new defaults. There’s also the possibility that some configuration changes might conflict with options you’ve defined yourself, so pay attention which files you’re editing and what the differences are.

I’ve never used a docking station, so I have no experience there, sorry. Might be worth a search here and in bugzilla, because I think I’ve seen such issues getting reported from time to time.