Short of completely erasing the hard drive and rebuilding from a cloned backup, is there any way to gracefully roll back from a system upgrade to an older system? It would be nice to be able to test an upgrade (for software compatibility, etc.) without having to make such commitment.
No, not that I’m aware of. I think most people use Virtual Machines for that.
While I’ve never done it, supposedly when you do a system update it first takes a snapshot, so if you want to roll back, boot into the recovery partition (restart and hold down ⌘+R), select Restore From Time Machine Backup, select your hard drive, then select the snapshot to restore from.
Edit: I’m not in a position to reboot my main machine at the moment, but I realized I do have another machine I could reboot, so I did, and it works as I described. While I didn’t actually do a restore, those steps get you to a point where you can choose a local snapshot.
The way to test an upgrade is to install that system on an external drive for as long as necessary to be comfortable with it’s stability and compatibility with critical functions. I’ve done that successfully for years with up to four different versions of macOS that are either currently supported or in early testing.
The problem with that is that best testing is on your work machine doing actual work. Sure I can set up a sandbox and try it out there. But in my experience all of the really critical issues I’ve encountered, I encountered doing real work. Not trying things a bit here and there on a test setup.
In that sense I’ve resorted to testing on the real thing. I have two independent clones from right before the update I can roll back to if things go deeply south. Rolling back is a bit of a pain no doubt, but so far I’ve rarely had to actually do it. Of course that’s only the case because I rarely jump on an update right away. I like Leo Laporte’s advice to wait until Apple ships the update to the original update.
Not that I know of. I recommend making several full backups before a major upgrade (e.g. two clones and Time Machine). If the upgrade doesn’t work, you can then either boot from a clone and use it to re-image your internal drive or boot the Recovery partition and restore the system from Time Machine.
In the past, if you would require a test installation, I would recommend making a standalone installer (e.g. a bootable flash drive) and use it to perform a clean install onto an external drive, where you can work with it all you want without changing your system’s internal drive. You can later upgrade the internal drive when you’re ready to do so.
But it’s my understanding that this may not be possible to do this with Big Sur (or is it only a problem on M1-based Macs?).
I do real work on those externals. They contain all the apps that I have on my internal and a symlink to my home folder in order to have access to all my data files. The only time there have been issues with this approach is when a new macOS needs to convert a database which, as I recall, only happened a few times with the photo library, mail and reminders in the past. I was able to workaround each of those by either delaying conversion, restoring from Time Machine or having separate databases when absolutely necessary for each OS. Those instances only represented a tiny fraction of my real work, so it wasn’t difficult to home in on all the other critical issues.
Restoring a full disk snapshot in Big Sur does not roll back the OS version. Before Big Sur, with its locked System volume, it would do I believe, but I have tried rolling back from Big Sur as a test and it rolled back the data only volume (hence all my apps settings and data) to an earlier snapshot, but the System volume, hence macOS version was unchanged.
Thanks everyone! Just to clarify the ideas from David and Al: For the testing method, I can install the new OS on a flash drive, boot the machine from hat and then launch my apps to test?
I have a doubt about what I wrote above.
Yes I also understand that a snapshot is made before a system upgrade, presumably with the specific purpose of rolling back if the upgrade goes bad.
When I tried rolling back by restoring a snapshot I was presented with a whole page of snapshots to chose from. These were the regular ones that TM creates every hour. I used one of these from before the upgrade and it rolled back all my data, apps and settings to the the time before the upgrade but the system volume was still the latest upgraded version.
I did notice or look for a special snapshot created before the upgrade, which I suggested above was to enable a roll back.
Maybe this roll back ability has changed, and now the protection is only to recover data, apps and settings from before the upgrade, not to rollback the OS version. Or maybe there is a special snapshot, but somehow I doubt it.
So… I was able to install a new OS (High Sierra) onto a thumb drive and boot the machine from that. And I can navigate to the applications folder on the internal drive and attempt to open an app.
BUT… the app (QuarkXpress) thinks this is a new install and wants to run through the registration process before opening. This will exceed my license limit – and even if it succeeds, I’m concerned it will invalidate the license I have already installed.
This seems to be the case with all my software – the apps think they are being opened for the first time.
Is there a way to modify this so the apps know to look on the internal drive for their configuration files?
You should be able to, but please note:
- I mentioned a USB flash drive for creating a bootable installer, not as a destination for the installation.
- While suppose you could, in theory, install macOS to a flash drive (if you have one that’s big enough), I wouldn’t recommend it. Flash drives are very slow and tend to not have the kind of wear-leveling technology that SSDs use. I don’t think you’ll be happy with the result, and your experience will be much worse than an installation to a Mac’s internal storage.
- I would recommend installing to an external SSD (Thunderbolt, if you can afford it. USB 3 if you’re on a budget). You can also install to an external hard drive, but performance will be significantly worse.
If your goal is an emergency recovery system, performance won’t matter much, since you will (probably) only boot it rarely, in order to perform system maintenance or recovery. But if your goal is to have a temporary production system, for evaluation purposes, then you need something that will perform comparably to your internal storage, which means an external SSD of some kind.
This is because the app is looking for registration data and preferences on the current system volume (probably somewhere under /Library or ~/Library).
If you know what files it’s looking for (some web searching may help you figure that out), you can try copying them from the old system to the new system. Alternatively, you can try running Migration Assistant to move your preferences (and maybe also your home directories, if not the apps themselves) to the new system.
Ah… good point. I didn’t understand the difference. Thank you.
Just to pile on to what @Shamino wrote, I think you could do all of what you want without hassle if you went with a slightly larger SSD instead of the flash drive. As he writes, performance will be much better, but more importantly, with the larger capacity you can not just check out the system, but also all your apps and how it performs on your actual workflow.
So take a large enough external SSD (you can get a decent 1TB SSD for as low as $78, USB 3.1 Gen 2 cases cost as little as $12) and first clone your entire internal drive to it and then install Big Sur on that. When you boot from it, you will have your entire environment running on Big Sur. That would allow you to test Big Sur and use all your apps as you’re accustomed to. If you like it, install Big Sur on the internal (don’t forget to clone that first as a fail safe) and use Migration Assistant to bring over your docs or any other changes from the external SSD (this would be easier if bootable cloning worked on Big Sur [you’d just clone the external back onto the internal], but AFAIK we’re not quite there yet). OTOH if you don’t like it, just go back to booting from the internal Catalina drive and use the external SSD for something else.
That SSD costs a bit more than the thumb drive, but it will allow you to test everything you want/need and it will be a much better performing environment. And regardless if you like it or not, going back to regular use requires little effort.
BTW, a simple clone is free with SuperDuper!.
Thank you, thank you, thank you. This is incredibly helpful. I think I will go that route. And actually I’m only going up to Mojave, because as far as I can tell, the primary software I depend on only goes that far. And I do use Super Duper. So I’ll be ordering that SSD and proceeding on that path.
Using a USB thumb drive was not what I recommended. As I believe I outlined later in the conversation I use a bootable external SSD which contains all my applications and a symlink to my home folder so that the registration data for those apps is accessible to those apps. There are a very few which somehow sense that they have been relocated to a different drive and require me to re-register them (Microsoft being one of them) but that didn’t present a problem for me beyond digging out the licensing information.
Sorry, sloppy on my part and I misunderstood. Thanks for clarifying.
Hi Simon – Are you familiar with the SSD you referenced here? It will work on a Mac as a bootable drive?
It absolutely will. Just use Disk Utility to format as APFS. There are other SSDs that perform better, but they’re also more expensive. Regardless, they’ll all work just fine on a Mac.