Several of you have asked me why a user can’t make a snapshot of their current System volume in Big Sur, immediately prior to updating it, and use that snapshot to roll back to, if the update goes wrong. This article tries to explain why that’s not as easy or simple as it sounds.
Snapshots are common features in modern file systems, and are one of the core advantages of APFS. The purpose of a snapshot is to record the state of the file system of an APFS volume at a moment in time. To create one, all APFS has to do is make an exact replica of that volume’s file system. That’s then stored in the same container as the volume, and any time you want, you can revert the volume’s file system to the way it was when the snapshot was made.
The hidden cost is that, if you’re going to be able to revert to a saved snapshot, all the file data to support that volume information has to be preserved, otherwise many of the files that get changed after making the snapshot would be lost. To take an extreme case, let’s assume that the user deleted every folder and file on the volume. To be able to restore that snapshot, none of the deleted file data can be removed. Although the basic size of a snapshot is very small, its preserved data can amount to the size of all the data that was present when the snapshot was made. And until that snapshot is deleted, both the snapshot and the data for all the files inside it must be retained.