Mac and iOS users needing to install previously purchased Apple App Store programs just need to know where to look. Here's how to reload such apps on new and reformatted Macs, iPhones, and iPads. Download macOS Catalina from the Mac App Store Direct Link. Once the download is complete, close the installer window by selecting the Quit Install macOS option in the menu bar or using the.
Recently, I reinstalled macOS on my device. Throughout the process, manyattempts failed miserably. But I now have some experience and assorted hints onwhat to try.
DISCLAIMER: All information in this post is provided as-is, and some of it mayvoid your warranty. Neither Chris Warrick nor Apple will be responsible for anydamage to your devices caused as a result of using information in this post.
Contents
The best, safest, least error-prone way to do an install is with a USB stick.Unfortunately, making a USB stick with the macOS installer on it is a nuisance.The expected way to produce macOS install media is to download the installerfrom App Store/Software Update, and run the createinstallmedia
command-lineprogram included with that installer app. All is well, as long as macOS works.If it doesn’t, and Recovery can’t install it for you, that can be difficult tosolve.
Apple does not make macOS images publicly available. That’s probably to makeHackintoshing this little bit harder, but this also affects legitimate users.The only thing you can download from Apple is El Capitan. Apple offersInstallMacOSX.dmg on theirwebsite. If you take a look at the instructions, you will see that this isnot a bootable OS X image. This image has a .pkg
package. This package isexpected to install /Applications/Install OS X El Capitan.app
. Well, we’rein recovery, we can’t install stuff. So, let’s do this the manual way.
Turns out the .pkg
format is just an archives all the way down, with allarchives being different formats (at least three).
The first archive is the .pkg
file itself. Those files are in XAR format, which was invented by theOpenDarwin community. You can either extract it with pkgutil --expandfoo.pkg foo_files
(the last argument is the destination directory, can beanything, will be created by pkgutil
) if you have access to that command (it’savailable in Recovery OS), or you can try the xar
utility as xar -xffoo.pkg
. The structure produced by both tools is a bit different, but we canwork with both.
The second archive-in-archive is the Payload
. It’s a gzipped cpio archivethat contains the files installed by this package. If you have BSD tar(default on macOS, easily installable on Linux), you can just do tar -xvf Payload
.Otherwise, you can use gunzip -c Payload | cpio -i
(or gzcat
). Thatwill extract all the files the package has.
Another nested archive is the Scripts
archive, although note thatpkgutil
will extract it automatically. If it’s not extracted, it’s actually.cpio.gz
again, with the same way to extract it.
(PS. If you have 7z
around (on Windows/Linux as well), you can just pointit at all the compressed files mentioned in this paragraph.)
Let’s expand the El Capitan package.
We’ve got the installer app, which is what we need to create an install image.Great, let’s try it!
Oh, we’ve got a problem. Turns out there’s one more thing we need to take careof, and it’s the scripts. MacOS packages have scripts, typically shell scripts,that are run at various stages in the install process. We can look at thePackageInfo
file, or just look in the Scripts
folder, to see thatthere’s an link_package
script we need to run. This script creates aContents/SharedSupport
directory inside the installer app, andcopies/hardlinks the InstallESD.dmg
file (which is the install formerly-DVDimage) to that directory. Let’s try doing this on our own:
And it works! createinstallmedia
will now produce valid install media.
If you are in Recovery, you can find an Install app on the filesystem. If youtry to run it, you will get the same error as in the previous paragraph:
This also happens with some older macOS versions, where you get a small.app
from the App Store, and that app does the actual download.
Whatever the issue was, we need to download the install files with theinstaller. Open the installer and let it run until the download finishes. Ifthe app asks you to reboot, quit it at this point. If it never asks, you canstill find a way to get files out (after a failed install, they should not beremoved).
The install files can be found in /macOS Install Data
on the destinationvolume. For older versions, you will just have InstallESD.dmg
, newerversions add more and more files, some of which are hardware-specific (andCatalina has InstallESDDmg.pkg
, because Apple loves nesting archives for noreason!). However many files you find, you can just:
Copy
Install macOS Catalina.app
to a read-write volume.Copy the contents of
/Volumes/TARGET/macOS Install Data
toInstallmacOS Catalina.app/Content/SharedSupport
. Make sure you account for hiddenfiles, if any (copy the entire directory). If you did this correctly,InstallESDDmg.pkg
(orInstallESD.dmg
on older verisons) is in theSharedSupport
directory (not in a subdirectory).Run
createinstallmedia
. It should now consider the installer valid. Theavailable options differ slightly depending on the OS version.
If you get this error, it might be because Apple’s signing keys expired, orbecause of other date/time weirdness. Regardless, you can force an install ifyou are sure the installer is not damaged with this command (source):
While messing with all the installer stuff, I found out a fewinteresting/worrying things about the download process.
The first one is that the macOS installer uses plain HTTP without encryption todownload files. That opens you to all the standard issues — an attacker canreplace files you download, and the protocol doesn’t do anything to detecterrors (the installer will verify files, but where do the checksums comefrom?).
The second one is how the download happens. You might have noticed it to be abit slower than usual traffic. The download happens in 10 MB chunks, using theRange
HTTP header. The installer asks for 10 MB, gets it, saves, asks foranother chunk. Repeat that over 800 times, and the overhead of the entire HTTPdance becomes noticeable. (I haven’t checked, but I hope the installer at leastuses Keep-Alive. I wouldn’t be particularly surprised if it didn’t, though.)
But this raises another question. The servers clearly support partial downloads.And yet, if your network disconnects during the download, your downloadprogress for that file is reset, and in Catalina, you can go from 8 GB back to500 MB if you’re particularly unlucky. The question is, why? Thisinfrastructure should make it trivial to continue the download, perhapsdiscarding the most recent chunk if you’re concerned about that download of itbeing unsuccessful.
The first time you boot a Mac after a clean install, it starts the SetupAssistant. This app asks for basic OS settings (locale, date/time, useraccounts), and also lets you restore user data from backups.
Sometimes, you might want to access the Terminal or Console from that screen.You can do that with Ctrl + Opt + Cmd + T and Ctrl + Opt + Cmd + C respectively (source).
How could that come in handy? For example, if you want to check if the backupdrive still worked and if the process isn’t stuck (I wrote a test file and alsochecked top
).
A few months later, in December, I upgraded to Big Sur and then installed Windows 10alongside it in Boot Camp. I then did some more hacks, which led totwo unbootable OSes.
As part of the upgrade, I had prepared install media and used it to install (soit wouldn’t fail, as it did last time), and made a .dmg
of it with DiskUtility. (Also, Apple won’t tell you this, but you need to give Disk UtilityFull Disk Access for disk imaging to work. Otherwise, you get a crypticerror.) I erased the USB drive after installing, but hey, I could get it back.I booted into Internet Recovery and restored my image. Big Sur failed to bootand showed a 🚫 sign. I triedrestoring my Catalina image from the previous reinstall, and that didn’t workdue to a size mismatch. I used a different USB drive than these months ago (Ididn’t have that one with me at the moment), and apparently the one I used hada different size (both are marketed as 16 GB). The images could be mountedfine, and createinstallmedia
should have worked, likely producing abootable drive.
Time Machine is Apple’s magical backup solution. Time Machine saves snapshotsof your entire disk. It’s supposed to help restore files that were deleted orchanged in an unwanted way, or help you restore a full macOS install.
Time Machine is great at file recovery, but none of my 3 system restoreattempts were successful. Attempt #1 was a full Time Machine System Restore,from Recovery, back in June. It failed partway through, it couldn’t readeverything from the disk. There might have been underlying hardware issues withthat failure, so I had another attempt.
Attempt #2 was a Migration Assistant restore, as part of the initial setup.This one succeeded, and things worked… except for one fairly important app.This app requires online activation with the vendor, and it wouldn’t reactivateafter the install. Whatever the third-party vendor is doing didn’t like thereinstall. I tried to nuke all the things in ~/Library related to theirsoftware, and ran their nuke-everything uninstaller, but that didn’t work.I reinstalled from scratch and copied over my files, settings and apps from theTime Machine drive.
Attempt #3 involved the System Restore again, this time for the Decemberreinstall. The hardware issues were all fixed in the meantime, so I went for aTime Machine System Restore.
Issue #1: Internet Recovery booted into Catalina. There was an issue on Apple’sside, Big Sur was unavailable in Internet Recovery in December. TMRecovery will not restore a backup created with a newer version of macOS thanyou’re booted into, so I was forced to restore a slightly older Catalinabackup. (I spent most of my time in Windows during that weekend, so other thanthe need to upgrade macOS to Big Sur again, I didn’t really lose any data dueto this.)
Issue #2: It wasted time computing an inaccurate size estimate. Beforerestoring a backup, macOS first checks if it will fit on your drive. When itdoes that, an indeterminate progress bar is shown. macOS won’t tell you theresult of that computation, but you can read the final value from the fullInstaller Log (Cmd + L). On my Mac, the value was 96.2 GB. I was at the Macwhen it was getting close to that value. 94, 95, 96, 96.1, 96.2, 96.3… hold ona second, 96.3 GB? Hopefully that’s just a bunch of extra things that areinstalled from the system image directly, or something like that, right? Ofcourse, since the progress bar is based on the pre-computed size, it becameindeterminate and I couldn’t tell when it would end. 98, 100, 110, 120, 121.2GB is where it ultimately ended. So, not only did it waste 20+ minutescomputing a size, it was off by 25 GB.
Issue #3: The restore didn’t work. The System Restore finished and claimed tohave succeeded, but macOS wouldn’t boot. It showed an Unrecoverable error,SecurityAgent was unable to create requested mechanism. Most people who had asimilar error had it caused by a botched TeamViewer uninstall; I didn’t havethat installed, and it was referring to a different component. So, wipe andfresh reinstall it is.
I copied my stuff from the TM drive, and it was acting weird. Some apps failedto load their settings copied into Library, others started with a “Move to/Applications?” prompt (even though they were in that directory). For somereason, those files had some hidden attribute set on it. I worked around it byputting files in a .zip
archive with Keka, and then unzipping them;xattr
might also help. (The attribute was likely com.apple.quarantine
.)
After I got the Mac to work, I reinstalled Windows and set up rEFInd, and itnow works fine. (I only use rEFInd because I want virtualization in Windows,and that doesn’t work unless you’re warm-rebooting from macOS. I don’t needanything more advanced than the Option key boot menu, but Apple made me use athird-party bootloader.)
We now go back to the original post from June.
Dear Progress Bar Designers: can you please make your progress barsfunctional? The macOS progress bar might look sleek at just 7 px (non-Retina)/6pt = 12 px (Retina) high, but at the same time, you’re looking at individualpixels if you need to know if it works or if it’s stuck. I have had to point mymouse cursor at the end of the filled-in part just to know if it’s working ornot. Or sometimes, put a piece of paper in front of my screen, because there isno mouse cursor when macOS installs on the black screen. How to makethat progress bar easier to use and more informative? Just add numbers on top ofit. For long-running processes, I wouldn’t mind progress bars that said“12.34%”. That specific Setup/Migration Assistant window should be changed (itonly has a remaining time estimate and transfer speed, it should also showmoved data/total size), but wouldn’t more things benefit from a clearindication of the progress? Yes, perhaps it looks less sleek, perhaps itrequires more space for the bar.
Just compare: which is easier to parse? Which is more informative?
I’d honestly be happy enough with option 2, at least it can be read easily andyou can remember the number instead of a vague position.
After all this, I managed to get macOS Catalina installed. After variousfailures in built-in El Capitan recovery and Catalina Internet Recovery, I firstinstalled El Capitan with this hack, then jumped to Mojave because I thoughtthe new Software Update would help (it didn’t, same installer, samefailed-to-extract-package issue), then made a Catalina USB stick, and itfinally clean-installed, but I was worried about the backup disk’s operation,and I used a proxy on my local network to try and speed up Catalina downloadswithout much improvement… but hey, at least it works. Apple should really makeit easier to install their OS and to make boot media even when stuff doesn’twork, even from Windows. The Hackintosh folks can just find someone with aworking Mac and ask them to download from App Store and make install media, orfind less legitimate sources, they probably don’t care as much. But if my ownsystem crashes, I’d probably want to get working install media immediately,myself, and from Apple. Without all this mess.
Best apps live in Setapp
Apple is ready to give you a change — the all-new macOS Catalina, available as a free download — so let’s get you all set.
There are two different options on how to upgrade. You can install Catalina over your current macOS, keeping all its data untouched. Or, you can get a fresh start with a clean install. The main benefit of clean installation is that you get rid of the system junk and leftovers which might hamper your Mac’s performance.
Get Setapp to get ready for Catalina
A complete toolkit of utilities that prepare your Mac for macOS Catalina install. Upgrade your Mac in minutes without losing any data.
One way or another, getting Catalina on your Mac is definitely worth a try. Look at the bells and whistles it brings along:
- A renewed iTunes experience — with dedicated apps for Music, Podcasts and Apple TV.
- Simplified porting of iOS apps to macOS.
- Sidecar for using your iPad as an additional screen.
- Major updates of your favorite native apps, including Photos, Reminders, and Find My.
And that’s only a small part of your new macOS experience. If you need more reasons, find a complete review of the new Catalina features here.
Prepare your Mac for the clean install
If you’ve seen the new Catalina, you must be excited to get your hands on the installer — we get it. But don’t dive right into the upgrade. Your Mac has to be ready. First thing, check device compatibility. The rules are not much different from the Mojave compatible Macs, except for a few older Mac Pro models that Catalina will no longer support. Here’s the full list:
- MacBook Air (2012 or newer)
- MacBook (2015 or newer)
- MacBook Pro (2012 or newer)
- Mac Pro (2013 or newer)
- Mac mini (2012 or newer)
- iMac (2012 or newer)
- iMac Pro (all models)
Found your Mac on the list? Congrats, you’re on the Catalina team. Just a few more things and you’re ready to install:
- Get a USB drive with minimum 16GB of free space if you plan to install Catalina on a startup disk.
- Backup your data and clean away all the clutter.
- Note that it will take your Mac an hour or two to run the upgrade.
Choose your way to clean install Catalina
As we’ve said before, the healthiest method of clean installing the new macOS is by putting it on your startup drive. It’s your perfect choice if your Mac has a single non-partitioned drive where all the files are stored. Simply backup an entire drive and go ahead with the installation.
Another choice would be to test Catalina on a non-startup drive. If you have a spare drive or your startup drive is divided into volumes, this might be a good option to explore. Especially if you don’t want any files to go away.
Let’s dive into the details of clean installation.
Clean install macOS 10.15 on a startup disk drive
Again, this is the recommended option that will leave you with a high-performing Mac. It involves lots of cleaning and securing your files, though. You can take care of all the data stored on your old OS manually, or by using a few easy utilities. Let’s save your time and see how to do it real quick:
Remove junk from your Mac with CMM X
Download a powerful macOS cleaner to get ready for the Catalina upgrade. All the junk, leftovers and old caches will be gone in a moment.
Step 1. Get rid of the junk
Every ancient app leftover that is hiding somewhere in the depths of your Mac may potentially hinder its performance. That’s not what you want. CleanMyMac X can handle the junk before an upgrade. In one smart scan, the app will spot and remove everything — from outdated caches to file duplicates.
One more important detail, Apple will stop supporting 32-bit applications in the new macOS 10.15. So make sure you get rid of them, too. This will help you see the functionality that Catalina will be missing, and find the right alternatives in advance. In CleanMyMac X, navigate to the Uninstaller tab, filter apps by 32-bit, and click Uninstall. As easy as that. Find out what to do when scratch disks are full in photoshop.
CleanMyMac X is a nice utility to keep on your new macOS, too. In fact, it’s the quickest way to refresh an entire system and remove potential threats before they start affecting your performance. The app is available on Setapp — and so is the backup utility for your Mac we’ll talk about in a moment.
Reinstall App Store Mac Catalina Version
Step 2. Backup your drive
You want the redundant files to go. But you also want the needed files to stay. That’s easy with Get Backup Pro, one of the best backup apps for Mac. Unlike Apple’s native Time Machine, Get Backup Pro has the functionality of creating bootable clones — which gives you absolute peace of mind. In case there’s a tech problem with your Catalina installation, the drive can be recovered at any time.
We encourage you not to ignore the backup process. It will help you roll back at any time with minimum loss. Plus, it’s an easy way to move your files to the new OS in batch.
Read more information about Mac update
Step 3. Create a bootable Catalina installer
Before you clean install Catalina, we have to warn you there might be no going back. First, because macOS 10.15 is truly great. Second, because Apple removes an old macOS installer from the App Store once the new version is out. So if you want to have an exit plan, you’ll have to download Mojave installer in advance.
Here’s how you create Catalina installer:
- Access the App Store and get the new macOS Catalina.
- Wait for the download process to finish and click File > Quit as soon as the installer launches. Your installer will be stored in the Applications folder.
- Connect your USB stick and go to Disk Utilities.
- In the Erase tab, select Mac OS Extended (Journaled) as your format.
- Name your USB stick and then click Erase > Done > close Disk Utility.
- 6. Access Terminal and type the following command (make sure you replace [XXX] with your drive name):sudo /Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/[XXX] --applicationpath /Applications/Install macOS Catalina.app
- Hit Return and type in your admin password.
- When the process is finished, click Done and close Terminal.
- Congrats, you’re a Catalina user — now officially.
Step 4. Get Catalina on your startup drive
The final part. Your data is securely backed up, so you can go ahead and erase your startup disk drive:
- Access System Preferences > Startup Disk and choose your Catalina installer.
- Restart your Mac and hold Command-R.
- Connect your bootable USB.
- In the macOS Utilities window, click Reinstall a new copy of macOS.
- Click Continue and agree to the terms and conditions.
- Select your startup drive and click Install.
Once the new macOS gets on your Mac, it will be born anew. So yes, you will have to set it up — just like a new Mac. If you’ve used Setapp on the old macOS, you can quickly get your apps back by downloading the installer on setapp.com.
Clean install macOS 10.15 on a non-startup disk drive
If you don’t have a free, non-partitioned drive, you can install Catalina on a non-startup drive. Here are three easy steps:
Step 1. Erase your non-startup drive
How Do I Reinstall Macos Catalina
If you install Catalina on a new drive, this is not for you. Otherwise, you’ll have to wipe everything away from the drive before using it. Navigate to Disk Utility, select your non-startup drive, and click Erase. If there’s any data you want to keep, use ChronoSync Express to sync it with another drive.
Step 2. Download the Catalina installer
Access your Mac App Store > Updates and grab the installer. Once the installer will launch automatically, quit — you don’t want to install it from there.
Step 3. Install Catalina to your non-startup drive
You’ll find the downloaded installer in your Applications folder and launch it. Select a drive — you’ll have to change it from “startup” to your target one. Follow the instructions and finish your installation.
Once your system is upgraded, set up your new Mac and make sure you try all the perks. And before you get frustrated that your favorite 32-bit app is missing, get Setapp — it surely has a decent alternative.
If you are a true macOS fan, check out the comparison of iOS and macOS adoption trends below: