How to properly downgrade a Mojave MBP to High Sierra

So I’m tempted to replace my trusty old 2013 13" Core i7 MBP with a new 14" MBP if/when it’s released. Obviously that will push me from Mojave to Catalina. I’m sure I’ll eventually be able to deal with that (lots of my work stuff is compiled from Linux source so probably some recompiling there, should be doable). It’s likely not going to be a picnic, but considering how much time I now have with the shelter in place order and campus locked down I figure this would be the right time.

The real question to me though is what I’ll do with my old 13" MBP. It’s running Mojave now and I’m perfectly fine with that. I know though that there’s several older apps I have that won’t run on Catalina and I also seem to remember they ran better on High Sierra. None of that stuff is super important, some are games, others are just for nostalgia so nothing I’d spend effort on to get running under Catalina in a VM. Instead I’m thinking I’d probably like to — once the transition to the new MBP and Catalina is complete — downgrade the old Mojave MBP to HS. Now obviously I could just nuke the old MBP, install HS, and then attempt to migrate some of my old stuff, but frankly, I’m too lazy for that. What I’d like to try is to install HS over Mojave so I get a brand ‘new’ macOS but retaining my installed apps, user home, prefs, etc. Now I realize standard MA installs work if you’re updating to the same version or a newer version of macOS, but IIRC you can’t straightforward migrate to an older macOS. But is there a simple way to get around that, like deleting macOS and having only that part installed from scratch so I retain apps and user space?

Any advice on going that route? Can that work? What’s the least hassle way to get it done?

I think you far underestimate the amount of work that would take. First of all, completely deleting Mojave is much more than simply deleting the System folder. There is all kinds of other stuff that is Mojave only related in the Unix underpinnings of macOS that would need to be sorted thorough, making certain to leave anything installed by 2nd or 3rd parties in those areas. Similar for items installed in /Library that are system related. Obviously you would have to disable SIP to even begin with that part of the project.

Secondly, some applications install different code, depending on what system they are being installed in, so you would need to re-install all such apps in order for them to work with High Sierra. User space would probably survive OK, but again some installers will put differing code there, as well.

Nuking the drive followed by an HS install and migration seems to me to be a quicker and easier route, as long as reverse migration can be made to work, which I’m not prepared to even guess about.

Yeah, the question then becomes if you can use MA to migrate from a Mojave install to a vanilla HS. And if so, which parts? Just ~/Documents or also stuff in /Apps and/or system-wide prefs?

Sounds like a perilous undertaking.

Remember that some applications change their database formats between versions and are only prepared to go forward. For example, a Photos library used by Photos 4.0 on Mojave would be unreadable by an earlier version of Photos. The Mail application has also changed from time to time; I don’t recall whether it changed at the HS->Mojave transition.

If you have upgraded any third-party applications since installing Mojave, check to make sure you are not using a version that requires Mojave or that changed data formats if installed on Mojave.

So then let’s talk about alternatives. What does that look like? Get HS off the store, make a bootable USB stick, nuke the old MBP, install HS from that USB drive, set up as brand new install with new user home etc., and then manually copy back required apps, prefs, etc.?

To be honest, the worst part about that to me seems that prefs and settings these days seem to be scattered all over the place. Initially there was ~/Library/Prefs and ~/Library/App Support. If you got your stuff there you were almost certainly good to go. Nowadays though, when I take a loom at my ~/Library/* it’s a mess and stuff from the same app install is scattered in all kinds of places in there.

I’m pretty sure that even the installer USB stick method won’t install over a newer OS…so you have 2 options AFAIK.

Nuke and pave and reinstall.

Nuke and pave and migrate with Migration Assistant from a TM backup on another drive and I’m not sure if that will work either…never tried it.

Alternatively just leave the old machine on Mojave…I don’t remember any negatives of it over HS. That is actually the easiest option.

If you have Parallels or Fusion already…getting a VM up and running on the Catalina machine is pretty simple…and might even work under the free. Virtualbox option.

It might be possible to boot the old machine from an external and then trash the system and Library folders from the root of the drive as well as all the invisible folders like etc, var, and whatnot…rename the old users folder and get HS to install after emptying trash and I would in mount and remount the internal drive as well…then move your old user folder back into the new /Users, recreate your same username and tell it to use the existing folder for ~ so it will fix the perms. You would still have to reinstall apps to get the /Library stuff installed though.

Personally I would either keep the old one on Mojave or turn it into a VM.

As I said, keeping Mojave is not an option because two of these older apps crash a whole lot more often on it than before under HS. I figure if I’m keeping a legacy system, I’ll tweak it to a specific task.

Nuke and vanilla install it would have to be then.

I guess the easiest would have been to just clone over from an older HS system. Unfortunately, once I had determined that Mojave was a go, I paved over the HS clone I had made before installing. I guess I could attempt to migrate over form TM, but then I’d have to know when TM backups were still being done form within HS. I doubt I remember.

I do have many disks with older clones. Is there a simple way, without booting a clone, to figure out which OS version it has? Is there a file in /System I could go a Get Info on to reveal macOS version number?

Open the startup disk pref pane with the drive plugged in and it will tell you.

Of course! Thanks, Neil. :+1: