Skip to content

[Docs] Clarify scope of "kernel update rollback" limitation in Btrfs Snapshots page #519

Description

@rikchivaror

Page: https://wiki.cachyos.org/configuration/btrfs_snapshots/
Section: "Restoring from a Snapshot"

Summary

The wiki states:

"If the snapshot you want to restore from involved a kernel update, you won't be able to rollback."

This caution appears without specifying which restore path it applies to, and its scope is ambiguous relative to the two restore procedures documented immediately around it (GRUB + Btrfs Assistant, and Limine's bootloader-menu + popup flow). This ambiguity is compounded by the fact that both documented procedures already have you boot into the snapshot's own kernel before restoring — which is the standard mitigation for the root/boot version-mismatch problem this caution seems to be warning about.

Discovery

  1. Root cause of the limitation: On Btrfs/Snapper setups, snapshots cover the root subvolume only. /boot typically lives on a separate partition (FAT32 ESP) and is excluded from the snapshot. A kernel package update replaces /usr/lib/modules// in place (old version pruned), so if root gets rolled back to before an update while /boot/modules stay on the newer version, the result is a kernel/module mismatch on next boot.
  2. Both documented restore procedures already boot into the snapshot's matching kernel first (via GRUB menu, or Limine's Snapshots submenu) before triggering the actual restore. This should, in principle, avoid the mismatch scenario the caution describes — making it unclear what residual case the warning is referring to.
  3. On Limine specifically, limine-snapper-sync/limine-snapper-restore goes further: per ArchWiki, it "restores your system, including matching kernel versions," implying it maintains its own per-snapshot cache of kernel/initramfs files on the boot partition (keyed by content hash) specifically so /boot stays in sync with the restored snapshot. This appears to meaningfully reduce or eliminate the limitation described — but only for snapshots created after limine-snapper-sync was installed and enabled, since older snapshots won't have a cached kernel/initramfs pair to restore.
  4. It's unclear whether the caution note is:
  • describing a hazard specific to a different, undocumented restore path (e.g., restoring live from a currently-running/non-snapshot-booted system), or
  • a legacy/general warning that predates the Limine kernel-caching behavior and no longer fully applies to the documented Limine flow, or
  • still accurate for both documented flows for some reason not currently explained (e.g., GRUB's path lacking equivalent kernel-caching, so the caution mainly targets GRUB users).

Suggested clarification

  • Specify which restore method(s) the caution applies to.
  • If the limitation is specific to GRUB (lacking Limine's kernel-caching mechanism), state that explicitly and note the Limine-specific mitigation.
  • If the limitation still applies to Limine restores in some circumstances (e.g., snapshots predating limine-snapper-sync installation), state that condition explicitly.
  • Consider linking to limine-snapper-sync's documentation for readers who want to understand the underlying kernel-matching mechanism.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions