Skip to content

Instantly share code, notes, and snippets.

@psymonryan
Last active June 9, 2025 01:21
Show Gist options
  • Save psymonryan/22f814cc4ecf42acc81b6f51d3a19154 to your computer and use it in GitHub Desktop.
Save psymonryan/22f814cc4ecf42acc81b6f51d3a19154 to your computer and use it in GitHub Desktop.
Update error: A snapshot is currently set to boot that is not the currently booted snapshot [solved]

Fix for "A snapshot is currently set to boot that is not the currently booted snapshot" issue

I spent a while figuring this one out. Here is what I did to render it [Solved] on my Dad's new Sonoma iMac. (BTW: I caused this problem in the first place by enabling his nfsd service, then adding and tagging the snapshot as bootable)

  1. Boot into recovery mode, open the terminal and disable SIP

    csrutil disable

  2. Reboot at this point back into Recovery mode and this time open up DiskUtil

    You should now be able to see the system snapshot that is causing the issue, however you will not be able to delete it (since it is the active boot snapshot) So, instead, take careful note of the previous snapshot - it might have a name like:

    com.apple.os.update-5E4DF785AD9E60757D57924284549E29EECDBFE5942B5587D41DEAD049A903BE

  3. Now exit DiskUtil and go back into Terminal, then mount the booting hard disk as rw:

    mount -uw /Volumes/Macintosh\ HD

  4. Now 'tag' the official snapshot as the next bootable one:

    /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -r "SnapshotName" -v /Volumes/Macintosh\ HD

    (replace SnapshotName with the name of your snaphot. (like the one I showed)

  5. Now exit the terminal and go back into DiskUtil

    Now you can view the snapshot and should be able to delete the offending one if you want to. (select it and click the minus sign at the bottom left)

  6. Exit DiskUtil and go back to the terminal (last time I promise) and re-enable SIP:

    csrutil enable

  7. Reboot back into MacOS and your apple sanctioned update should proceed without any errors

@zhexuany
Copy link

zhexuany commented Jun 9, 2025

diskutil apfs listSnapshots /disk3s1

can directly get the snapshot's name from the terminal.

You can execute

diskutil list 

to know how many disk you have in the computer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment