0
I'm trying to build an Arch Linux system with a btrfs RAID5/6 root. When I install GRUB on one of the volume's disks, it prints a message like this on startup:
error: no such device: [my btrfs volume uuid]
…and then dumps me into a recovery shell. If I type ls (hdX)
(where X
is one of the volume's physical disks, it prints some error text including this:
Unsupported raid flags 82
A few forum threads suggest that GRUB doesn't doesn't support these kinds of btrfs volumes right now. So, my next thought was to create a separate ext4-formatted boot drive. I started from an Arch live CD and did this:
$ mount /dev/sdb /mnt # one of the btrfs RAID5 disks
$ arch-chroot /mnt/root /bin/bash
$ mkfs.ext4 /dev/sdi # our new boot disk
$ mount /dev/sdi /mnt # /mnt inside the chroot
$ grub-install --target=i386-pc --root-directory=/mnt /dev/sdi
$ grub-mkconfig -o /mnt/boot/grub/grub.cfg
$ umount /mnt
$ exit # …the chroot
$ reboot # …and switch the boot drive in BIOS settings
I successfully landed in GRUB, but got these messages after the menu timeout:
error: no such device: [my btrfs volume uuid]
Loading Linux linux ...
error: hd6 cannot get C/H/S values.
Loading initial ramdisk ...
error: you need to load the kernel first.
Press any key to continue...
…then I was dumped back into the GRUB menu. I'm trying to find answers to two questions:
- Am I doing something wrong in creating my bootstrap volume?
- Is there another, better way to boot my system from the btrfs RAID?
You can try using a separate boot partition (BIOS) or putting all your boot stuff in your esp partition (EFI). – whoKnows – 2019-04-12T13:04:29.340