Bug#869141: grub-install: error: cannot find a device ... when chrooted in a btrfs subvol

Christoph Anton Mitterer calestyo at scientia.net
Thu Jul 20 21:01:52 UTC 2017


Package: grub-pc
Version: 2.02-2
Severity: normal


Hi.

I've noticed the following:

When I have a btrfs fs, which is e.g. mounted and /mnt/ and a subvol at /mnt/root ...
and that subvol contains a Debian image...
Then one typically does something like:
 cd /mnt/root/
 mount --bind /dev/ dev/
 mount --bind /proc/ proc/
 mount --bind /sys/ sys/
 chroot .
 
 grub-install --no-floppy --recheck /dev/sdX

in order to make the device bootable.

This however fails with:
 Installing for i386-pc platform.
 grub-install: error: cannot find a device for /boot/grub (is /dev mounted?).

The problem seems to be that one is located in the subvolume.

E.g. when unmounting all the above, and repeating it with the subvolume mounted
at /mnt, i.e.
 mount -o subvol=/root /dev/sdX1 /mnt/
 …

the process works.

Perhaps it can be made working out of the box for all cases :-)


Cheers,
Chris.


More information about the Pkg-grub-devel mailing list