Preface
GRUB2 from other distribution cannot boot into distribution using BTRFS as root
I have a multiboot situation consist of Debian, Fedora, OpenSUSE and KaOS. I’m just willing to learn different package managers. This is more like a GRUB2 issue, and not a BTRFS issue, Since I cannot find a GRUB2 community, I blog instead.
Partition
Partition as seen in KDE Partitioner Manager form KaOSx.
-
/dev/sda1 : NTFS : W7
-
/dev/sda8 : Swap
-
/dev/sda7 : Ext4 : Debian
-
/dev/sda9 : Ext4 : Fedora
-
/dev/sda10 : BTRFS : openSUSE Tumbleweed
-
/dev/sda11 : XFS : openSUSE Tumbleweed /home
-
/dev/sda12 : XFS : KaOS
All distro can mount other partition using root privileges. No issue in reading XFS and BTRFS in File Manager.
Distribution Test
GRUB2 installed by openSUSE (BTRFS)
GRUB2 boot successfully to openSUSE.
This openSUSE use BTRFS mounted at root /
.
Of course, the GRUB installed from this openSUSE
GRUB2 installed by Fedora (ext4)
Fedora seems to recognize openSUSE in BTRFS. It shown in grub2-mkconfig, but does not write openSUSE entries to output in /boot/grub2/grub.cfg.
GRUB2 installed by Debian (ext4)
Debian does not seems to recognize openSUSE at all.
GRUB2 installed by KaOS (XFS)
KaOS does not seems to recognize openSUSE at all. Same issue with Debian.
Workaround
Failed
I try a workaround, copy paste specific entries from openSUSE’s grub.cfg to Fedora’s grub.cfg.
But it doesn’t work. It said
I have checked that the file “vmlinuz-4.11.8-2-default” is there in btrfs partition. I aware there is option “insmod btrfs”. And I suspect that Fedora’s GRUB2 cannot read BTRFS. The same case also happened with Debian.
What is going on here ? Any solution I can do? A workaround ? I need an enlightenment.
Working
Three workarounds, two responses from Fedora Community, and the third is mine.
-
Using systemd-boot, forget about GRUB. Require GPT and EFI. Which is I use MBR without EFI.
-
Create a special /boot partition using ext4 for openSUSE BTRFS. I finally use this method.
-
Install GRUB2 from openSUSE. I can do it using chroot from openSUSE USB live stick.
Conclusion
It works !
I decide to create /boot partition in /dev/sda13 using /ext4.
But I still wonder, whether there is GRUB2 support for BTRFS, or not.
Thank you for reading