Possibly the wrong category: I changed my /root partition to btrfs and changed /etc/deafult/grub as follows to select the last used kernel at boot:
GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true
This worked fine with ext4, but with btrfs it gives the error message at boot time:
error: sparse file not allowed. - press any key to continue booting
I found out that under btrfs it is not possible to write to grub.env. Resetting the values to default helps, but I have to manually select my kernel every time I boot.
I followed the following tip on the net to reinstall GRUB, but that didn’t help either:
So let me get this straight: with
GRUB_SAVEDEFAULT=false
GRUB_DEFAULT=0
I only achieve that there is no error message, but still the last selected kernel is not booted. How also, if that is avoided with it. I have the last LTS kernel as fallback 8at 1st and 2nd place in the grubloader, at 3rd place the CURRENT kernel to be booted. If I
GRUB_DEFAULT=2, the error message comes again. Sh. btrfs …
The reason is the grub.env which is on a filesystem not writable by grub and grub config defaults to writing the selected entry to grub.env. To work around it edit your /etc/default/grub and change from
GRUB_SAVEDEFAULT=true GRUB_DEFAULT=saved
To
GRUB_SAVEDEFAULT=false GRUB_DEFAULT=0
OK, I’ve been there, so there’s no point in changing the grub.config. But how can I achieve that the kernel I preset boots?
As soon as I write something other than 0 on GRUB_DEFAULT, I get the error message back. I’ve been searching the net for a solution for several hours now. Or I kick btrfs in the a… and take ext4 again.Too bad, I wanted it for the snapshots …
I probably already did everything wrong during the setup. I should have created subvolumes, but my swap partition is still ext4. I’ll go to sleep now and think about it tomorrow, if the whole effort is worth it.
Well - immediately systemd boot and rEFInd come to mind (rEFInd for me). However, if you use grub to select between Timeshift snapshots, you might want to keep it. Of course, you can use rEFInd to boot the grub - but I’m not sure it gets around the difficulty you are having.
The reason for the message originates in the fact that grub cannot write to grub environment file (/boot/grub/grubenv) - I am not using grub - so I may remember the name incorrect - but grub writes the last used entry to the environment file and because grub cannot write on btrfs you get this grub message.
Only way around it is to have your /boot mounted on a ext filesystem or disable the save function.