I have this same problem. Take a look at your /boot/grub/grub.cfg. Notice all of the "/root/boot/*" entries? update-grub (grub-mkconfig) is picking up an incorrect path.

Workarounds:
1) As root, "cd /root; ln -s ../boot", update-grub/grub-install. Now the incorrect path in grub.cfg exists and you no longer have to perform the set prefix=hd* command. 2) Edit /boot/grub/grub.cfg. Replace all "/root/boot/*" with "/boot/*". You'll have to do this after every update-grub.

I manage many debian testing/buster installations on real hardware with a btrfs. The disk has two partitions, sda1 (grub boot partition 2M), sda2 (btrfs). sda2 has a btrfs filesystem. There is one subvol entitled root/subvolid 257. I use btrfs su set-default 257). update-grub generates a good grub.cfg with initrd at /boot/*.

I never have this problem.

I do experience this bugid with my cloud linode setup. linode uses one disk /dev/sda and qemu to boot the testing/buster image. When I perform update-grub, the grub.cfg has the "/root/boot" entries.

So the differences are:

1) Use partitions, root os on a subvolid id works.
2) Use a disk with no partitions, update-grub/grub-mkconfig generates incorrect /root/boot/* entries for all menu entries.

Hope this helps.

Reply via email to