Move macos user home folders on external drive

external-diskmigrationmojavemountpermission

I got a shiny new Mac Mini but couldn't afford a 1TB internal SSD to hold all my stuff, so I'm testing ways to leverage an external disk for user storage. I know I can point Photos and iTunes to libraries on the external drive, but I'm more interested in transparently locating the entire home folder on the external drive. Thru trial and error, might have landed on a winner: setting the external drive's mount point to /Users/ . Is this a feasible approach? I couldn't find any stories of others attempting this, which could suggest that it's a terrible idea; or maybe it's just not a common solution. Laying out my process:

  • Formatted external drive to match Mac mini SSD, with APFS and permissions enabled
  • Started by moving bulk documents from iMac to external drive, to reduce size of folders for migration
  • Created new Administrator account on Mac mini before migrating existing users
  • Migrated user accounts from iMac to Mac mini (internal SSD, no option to select other location in Migration Assistant)
  • First, just copied home folder to external drive and pointed user account to it; this resulted in major permissions errors and iCloud connection issues
  • Tried manually resetting home folder permissions via finder, via recovery mode, via diskutil ResetUserPermissions; seemed to resolve some but not all errors
  • Re-migrated and used finder's “exact copy” to maintain permissions; again, not a full fix
  • Ultimately, left migrated user folder in place on internal SSD; no issues with migrated user accounts when left in place
  • Re-migrated all users from iMac and left in place on internal SSD; delete failed migration home folders
  • Ensure external drive always auto-mounts at boot, test across logouts, reboots, cold boots and different users:
  • Test setting mount point of external drive to a different location on the root drive filesystem
    • Permanently change mount point of volume?
    • choose a non-critical mount point first, try mounting to a location that already exists – no issues, mounting "replaces" the mount point folder with the drive; has the drive name in Finder but the mount point folder's name in Terminal
    • try mounting to a location that already has data – the existing data becomes inaccessible as the mount point "obscures" the data with the drive's filesystem, but unmounting the drive reveals the data is still there
    • try mounting to a location that already has data by same name – no issues, ditto
  • NEXT STEPS (a little bit scared to try)
    • “exact copy” /Users to the external drive
    • try mounting the drive to /Users
    • reboot, cold boot, different user logins – any issues?
    • Try logging in with the drive detached — what happens? should fall back to the "original" home folders still in place; or recovery mode? command-R
  • If that doesn’t work, set music folders and photos libraries to locations on external drive

Best Answer

Having an old internal drive and a new external one which is a clone of it, I managed to move user accounts, from /Users to a new folder /Users/.legacy/ (for keeping them around just in case). I then created symbolic links of cloned user folders in /Users folder.

# cd /Users
# mkdir -p .legacy
# mv username .legacy
# ln -s /Volumes/New_drive/Users/username