Separate /boot partition

Hello, yesterday I was making a separate /boot partition formatted under ext4 due grub btrfs limitations, now when I try to boot I get an error like this error: file /@/boot/grub/x86_64-efi/normal.mod not found
This file exists, and after that It drops me to a grub rescue shell.

This is my fstab:

# /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=FCC4-A2C1                            /boot/efi      vfat    umask=0077 0 2
UUID=d2c0f226-b335-417e-81e2-1b92ddabbf95 /boot          ext4	defaults 0 2
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /              btrfs    subvol=/@,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /home          btrfs   subvol=/@home,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /root          btrfs   subvol=/@root,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /srv           btrfs   subvol=/@srv,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /var/cache     btrfs   subvol=/@cache,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /var/log       btrfs   subvol=/@log,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=ac298969-dcc3-4be3-a535-3c852f1167bf /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,space_cache,autodefrag,compress=zstd 0 0
UUID=abd9ae73-964a-4473-807a-6204fe335ef9 swap           swap    defaults,noatime 0 0
# Binderfs Anbox
none 					  /dev/binderfs  binder  nofail 0 0

Did you:

  • Copy all the files into your new /boot?
  • Re-run grub-mkconfig?

I don't think that change would require rebuilding your initrams but if neither of the above helps you could try running sudo mkinitcpio -P

Also, as a side note, you will no longer be able to snapshot boot with a separate /boot

1 Like

Regenerating the initcpio fixed grub, but It boots me into systemd emergency mode, I couldn't find something useful in the logs

Nevermind, missed something in the logs and I had a typo in my fstab, thanks!

1 Like

Me too. E-v-e-r-y time. Often enough that I immediately know it as soon as I reboot. I blame my errors on old age. sigh I don't think anyone believes me.

1 Like

Hello, not sure if I should post this here or make a new topic but whatever, I am still getting the sparse file error even with /boot on ext4.

/etc/default/grub

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Garuda"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 systemd.unified_cgroup_hierarchy=1 resume=UUID=abd9ae73-964a-4473-807a-6204fe335ef9 loglevel=3"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT=5

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1920x1080,auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME="/usr/share/grub/themes/tela/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

GRUB_DISABLE_OS_PROBER=false

Partition scheme

I'm not sure if you're aware, but the Garuda team does not offer support for installs that have been modified to not use btrfs.

Please don't hijack other posters threads with different issues. This thread has been solved, so I guess it can be put to rest now.

4 Likes