In the next few weeks, many of us will be setting up our new Macs. For some it will be one of the remaining Intel models, but for most it will probably be an Apple Silicon model. Whichever you have to set up, one of your most important tasks is going to be migrating all your settings, documents and apps from your previous Mac. This article looks at that process of migration: when to do it, and how.
Most users perform migration when they first personalise and set up their new Mac. During that process, you’re invited to connect to your old Mac, a backup or another copy of a Data volume. It’s tempting to do that immediately, but there are often good reasons for leaving it until later. Among the most compelling is that most new Macs don’t come with the latest version of macOS installed, in which case it’s usually better to update macOS before performing any migration. I’ll be writing separately about that next week, particularly in the context of the new M1 Pro and Max models.
You can also perform migration at any other time. All you have to do is connect the two Macs (or Mac and a storage device, or to be more adventurous, a Mac and a Windows system) and run Migration Assistant from the /Applications/Utilities folder. If the system you’re migrating from is another Mac, you need to run Migration Assistant on that as well.
The advantage of migrating later, after you’ve personalised and configured your new Mac, is that it’s most likely to be most successful when performed by the latest version of the migration software. If your new Mac has 11.4 pre-installed, then it’s better to update it to 11.6 or later, or even 12 before migrating. With a new Mac, the only way you can do that is to migrate after installing the update.
Migration Assistant consists of a common front-end to what are in effect two quite different apps: one which acts as a client, requesting and installing files on your new Mac, the other working as a server which delivers those files from your old Mac. These are run with elevated privileges, effectively from outside any existing user account, and with all user apps closed. Of course Migration Assistant is even more complex, as it can perform migrations from Time Machine backups and copies of the Data volume rather than a server.
When to used to its full extent, Migration Assistant will migrate:
- complete user Home folders, including all settings in ~/Library;
- all apps in /Applications and its sub-folders such as Utilities, except Apple’s apps which are stored on the System volume;
- settings and support files in /Library;
- support files in other hidden folders, except those stored on the System volume.
Migration Assistant runs with SIP turned on, as in normal use, so cannot migrate protected parts of macOS or related files, nor anything stored on the System volume. On a new Mac, they are already pre-installed in any case.
Migration Assistant therefore works best when:
- both Macs are running the same version of macOS (and Migration Assistant);
- there are fewer items to migrate. Hundreds of thousands seem OK, but millions may overwhelm;
- it’s migrating the primary admin user account from your old Mac to the primary admin account of your new Mac;
- there are no disk errors, damaged folders or files on source or destination storage;
- the old Mac has no custom extensions or other software which might upset the new Mac;
- the user names, particularly the short version used to name the user’s Home folder, are the same;
- an old user account is entire and doesn’t use any ‘tricks’ in its Home folder.
You can improve Migration Assistant’s chances of success by preparing your old Mac to address those, before starting the migration.
Migration Assistant auto-detects the best connection between the two Macs, and should use the fastest available. Although that’s important, and something within your control, the time required to migrate is also heavily dependent on the number and total size of the files that have to be moved.
At the start of the process, Migration Assistant on your new Mac looks for Migration Assistant on your old one (unless migrating from a Time Machine backup or copy). As soon as you have opted to use this feature, you need to open Migration Assistant on your old Mac and set it to supply the files To another Mac, acting as the server. The app running on your new Mac (the client) then obtains listings of those files which can be migrated from the server. This enables you to decide what to migrate, and Migration Assistant to determine whether there is sufficient free space.
Which user account?
If you’re running Migration Assistant during initial configuration, any migrated primary admin account is by default used to configure and populate the new primary admin account.
When you run Migration Assistant after initial configuration, you should be prompted to choose whether to fold any migrated account into the primary admin account on the new Mac. One way to make that more certain is to set up your new primary account on the new Mac with the same user name – in particular short username – and password, Then when Migration Assistant asks you whether to rename the old account or replace the one on your Mac, choose to replace the new user account on the new Mac.
Although it may be tempting to turn a migrated account into a secondary account on the new Mac, that can cause problems. Much of Unix, hence macOS, identifies different users by number, with the primary admin account normally being 501. If you end up with a secondary account, that will be numbered 502, which means that all files and folders associated with that account will bear that number. If you’re then tempted to try to remove the primary admin account, number 501, that can lead to utter chaos. Only use migration to create and populate secondary accounts if you’re sure that you know what you’re doing.
The good news is that Migration Assistant does a very effective job of folding your old Mac’s primary admin account into the primary admin account on your new Mac, if that is what you opt for. This ensures that keychains and other vital user data are transferred correctly, and the new primary admin account should be fully ready to use.
If you run Migration Assistant after initial setup, it works quite differently from a normal app. It first logs out of your account, and prompts you for an admin user’s password so that it can obtain the privileges that it needs. This involves closing all open apps, and may result in the unmounting of some external volumes too. To support migration from a Time Machine backup, volumes containing potentially suitable backups aren’t unmounted, and Migration Assistant normally checks those to see if they are suitable sources for migration.
Apart from the refusal of migration because of version incompatibilities, the most common failure in migration using Migration Assistant is its apparent hanging in the midst of a migration. If this occurs before any files have been migrated, the best way ahead is to abandon migration at this stage and continue to set the new Mac up as a completely new system. Once that has completed, and all updates have been installed, try again using Migration Assistant.
If Migration Assistant fails after it has started to install files on the new Mac, the migration will at best be incomplete, and at worst may have made the new Mac unusable. If that occurs, and the new Mac remains usable, it should be possible to complete the migration later. If all else fails, it may be necessary to restart into Recovery mode, and re-install macOS from there.
The most common problems after an apparently successful migration relate to the transfer and installation of extensions and other software, or even preference files, which prove incompatible. The probability of this is greatly reduced by migrating between Macs which are running the same version of macOS. In theory, they should then be completely compatible.
In practice, clashes and strange mis-settings can still occur, most probably when the types or models of Mac are very different. Use Migration Assistant between two MacBook Pros running 11.6, and you’re unlikely to suffer such issues. But go from an older macOS on a Mac mini to Monterey on an M1 MacBook Pro and you’re more likely to encounter glitches.
You can circumvent those by limiting what you migrate, but that reduces the value of Migration Assistant, and leaves you with more work to finish off. I haven’t yet located any migration log left by Migration Assistant listing either what it did copy across, or what failed. At the end of a migration, a list is provided of those items which it expected to copy but didn’t, but this doesn’t seem to be written out to an accessible file.
One potential workaround if you suspect that there could be problems is to migrate from a Time Machine backup instead of the old Mac itself. This is generally considered to be smoother. If you can connect that backup to your new Mac using Thunderbolt, or even USB 3, it should also be reasonably swift.
Finally, Migration Assistant isn’t the quickest way to move files. Allow plenty of time, several hours at least, unless you’re moving very few apps or documents.
Suggested sequence to migrate to a new Mac:
- Set up primary admin user account with same username and password as on old Mac.
- During personalisation, when invited to migrate, don’t.
- On completion of personalisation and setup, install all macOS updates.
- Connect old and new Macs using fastest method.
- Open Migration Assistant on each Mac.
- Set Migration Assistant on new Mac to receive the migration, and that on the old Mac to be the source.
- When asked whether to create a new user or replace the existing user, select to replace the primary admin user.
- On completion, make any adjustments to settings, etc., and ensure that it’s properly connected to iCloud.
- Make first backup from new Mac.
Why not use Carbon Copy Cloner (etc.)?
Before using a third-party alternative, you may wish to read the current support article explaining how to use Carbon Copy Cloner with a new Mac. If that’s too long, allow me to quote: “We recommend that you use the Setup Assistant application (runs on your Mac’s very first boot) or the Migration Assistant application to migrate content from your old Mac to a new Macintosh.” I think that’s clear.