Why a separate partition at all?
Why a separate partition at all?
Posted Oct 17, 2025 16:13 UTC (Fri) by kreijack (guest, #43513)In reply to: Why a separate partition at all? by gray_-_wolf
Parent article: Last-minute /boot boost for Fedora 43
This statement is not accurate. A BTRFS subvolume appears as a sub-directory of root filesystem (id=5) to GRUB, so a) GRUB is able to access a subvolume, and b) I used it successfully for several years in the past (using a debian without too much effort). It is "update-grub" that does the magic behind the scene. It generates the correct grub.cfg file to access the /boot subvolume correctly.
What grub was not able to handle is to update the gurb environment because the writing to a btrfs file is too much complex (due to the COW and the checksums). Even tough writing to a nocow file should be not so complex.
In fact the BUGs linked report an inability to update the grub.env file. Which prevent some grub functionalities. But definitely grub is able to boot from BTRFS even when /boot is a subvolume.
> but at that point, why even have a separate partition? On my laptop, /boot is just a directory. What am I missing on by not having a separate partition?
It depends by which bootloader you want to use. If you want to use GRUB, yes a small EFI Partition is enough to store the grub executable, and then grub is perfectly capable to load an initramfs from a BTRFS/ZFS/whatever filesystem you want. In this case there is not a problem having a small EFI partition (with the execption to not be able to update the environment)
If you want a EFI bootloader, like systemd-boot (or refind ....), the bootloader is able to access only to the filesystem which the EFI bios is capable to read; basically you can rely only to a vfat EFI partition. This means that the initramfs *has* to be stored in the EFI partition.
The point is that you can use grub, but this means bring a lot of complexity (grub is like a small os, due to the high number of device/subsystem that it can support like: like different raid profiles, different filesystem, different hw...); and this means also an high surface attack.
On the other side there are solutions like systemd-boot which is much simpler (even tough it is "growing"...), but it requires the initramfs to be in the efi partition; from which this problem is started.
