EFI GRUB should include the FAT module
Note, this is a duplicate from https://bugs.manjaro.org/#ticket/zoom/17934, which I tried to repeatedly bring to Manjaro's developer attention, but which now seems to have disappeared along with the old bug tracker.
I will also disclose that I am the main developer of Rufus, which is a Windows application that allows people to create bootable USB Flash Drive to install distributions like Manjaro, and that what I am going to describe below is a major pain point for new Manjaro users. For instance, I could easily point to dozens of separate reddit posts from people who ran into this very issue when trying to install Manjaro, which of course is less than ideal.
Issue:
When trying to boot an UEFI based machine, by extracting the ISO content onto a FAT32 drive, and because the EFI GRUB bootloader used by Manjaro appears to have removed the FAT module, users are currently being greeted by a grub rescue>
prompt:
Welcome to GRUB!
error: unknown filesystem
Entering rescue mode
grub rescue>
You should be able to test this by simply formatting a flash drive to FAT32, and copying the ISO content wholesale, and then trying to boot it on a UEFI system.
This is a very different (and surprising) behaviour from most other distributions (Debian, Ubuntu, Arch to name a few), that do support boot from FAT filesystem and something we believe that Manjaro could easily address by reinstating the fat module when invoking grub-mkimage
.
Additional details:
Of course, we understand that the preferred means of creating bootable media for Manjaro is through a DD copy of the ISO, since the image is an ISOHybrid, but I hope you can understand that this is not always convenient as:
- DD mode forces the partition to the size set by the maintainers
- DD mode will render all content 'invisible' from Windows (apart from the ESP), which is both confusing for a lot of Windows users, who might think that their drive has shrunk or that data was not copied, or who can't use the remainder of their drive for additional data they might wish to copy
- UEFI is supposed to solve most of the booting woes by allowing copying of bootloaders + data onto a single FAT32 partition, and, as I mentioned, most other distros seem to have no issue with this at all.
For these reasons, whereas Rufus can create a bootable media in both ISO copy (i.e. extracting ISO content to a single FAT32 partition) and DD copy, our default suggestion is to use ISO copy, which, of course, results in exactly the issue we described for anybody who attempts to create a Manjaro bootable drive with our software and picks that default. Of course, we do display a very prominent notice when we ask users to choose between ISO and DD mode, advising them to try recreating their drive in DD mode if they encounter an issue in ISO mode, but a lot of users seem to ignore that notice and end up posting on sites like reddit or superuser asking for advice as to why they cannot boot their Manjaro USB media.
So we would strongly suggest that you add fat
module support to the grub efi bootloader used by Manjaro. And we would also advise that you add ntfs
module support while you are at it, as it would help users who want to create a persistence file > 4GB (and utilities like Rufus have means to make UEFI and NTFS boot).
If you need additional details, let me know.