You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GRUB still looks for grub.cfg on previous subvolume after snapper rollback #722
Hi there, on distros that are not based on openSUSE I keep running into an issue where the GRUB menu stops updating after a snapper --ambit classic rollback because GRUB is apparently looking for the /boot/grub/grub.cfg on the previous subvolume where grub-install /dev/XXX was performed. The workaround is to run grub-install again after rebooting into the new default subvolume that Snapper set. But this isn't ideal for end-users. Is there a distro-agnostic way of working around this? Or is there some fundamental concept about Btrfs and/or Snapper that I'm ignoring? Thanks for the help.
Hi @aschnell , thanks for the reply. Yes, other distros don't include the GRUB2 snapper plugin. Even in openSUSE I'm not sure about its behavior, does Snapper on openSUSE somehow avoid this issue where the GRUB looks for the grub.cfg on the wrong (previous) subvolume where it was first installed? Is this behavior that I'm seeing expected, or am I not understanding something?
We have developed a user-friendly solution to this problem.
siduction is a rolling release distribution based on Debian sid.
We use systemd units and two scripts to create a clean boot menu for the user.
In the case of GRUB, after a rollback, the system boots into the rollback target and reinstalls GRUB from there.
In the case of systemd-boot, boot entries are generated for the rollback target and all kernels present there.
Activity
aschnell commentedon May 12, 2022
On openSUSE the package grub2-snapper-plugin provides the script /usr/lib/snapper/plugins/grub (https://build.opensuse.org/package/view_file/openSUSE:Factory/grub2/grub2-snapper-plugin.sh) which is called from snapper. But I cannot say if that is all that is required.
geckolinux commentedon May 12, 2022
Hi @aschnell , thanks for the reply. Yes, other distros don't include the GRUB2 snapper plugin. Even in openSUSE I'm not sure about its behavior, does Snapper on openSUSE somehow avoid this issue where the GRUB looks for the
grub.cfgon the wrong (previous) subvolume where it was first installed? Is this behavior that I'm seeing expected, or am I not understanding something?arashsm79 commentedon Sep 2, 2023
I think openSUSE uses a patched version of grub that may not be available on all distros.
Reliable Desktop Linux Installation with Btrfs Snapshots, Snapper, and Rollbacks on Ubuntu (openSUSE style) explains this issue and devises a snapper plugin that allows grub to look for
grub.cfgin the correct subvolume after each rollback.#365 may also be relevant.
ak-li commentedon Aug 2, 2024
Possibly of interest.
siduction-btrfs
We have developed a user-friendly solution to this problem.
siduction is a rolling release distribution based on Debian sid.
We use systemd units and two scripts to create a clean boot menu for the user.
In the case of GRUB, after a rollback, the system boots into the rollback target and reinstalls GRUB from there.
In the case of systemd-boot, boot entries are generated for the rollback target and all kernels present there.