6

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
2
  • notes: although man fstab doesn't acknowledge APFS, you should list that as the filesystem in the drive's entry in fstab.
    – Chris4d
    Nov 24, 2018 at 8:29
  • working from recovery mode, cp -a /Volumes/Macintosh\ HD/Users/ /Volumes/Seagate/Users looked effective at duplicating the home folders on the external drive
    – Chris4d
    Nov 25, 2018 at 9:15

2 Answers 2

3

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
5
  • I think I'm SOL because sandboxd prevents the external drive from mounting to /Users even when fstab calls for it to be mounted there from startup. If any fellow traveler knows how to fool the sandbox, I'd love to hear it.
    – Chris4d
    Nov 25, 2018 at 9:18
  • 7
    You don't need to mount your external drive as /Users/ you just need to change the Home Directories to point to /Volumes/Diskname/Whatever/. (In "Users & Groups" right click on their name and choose "Advanced Options". Then you can change the Home Directory there.). However I would strongly advise you to have at least one admin user whose Home is on the internal drive, just in case the external drive fails for some reason, you want to have at least 1 user who can login even without the external drive.
    – TJ Luoma
    Nov 30, 2018 at 22:22
  • tried it in many different permutations (see bullet #5 in OP). It doesn't work - at least, not with migrated user accounts. iCloud errors, unresponsive Finder, keychain permissions borked. Maybe a new user with a "clean" folder would work better.
    – Chris4d
    Dec 1, 2018 at 23:40
  • @TJLuoma What if it is just another partition, and the other partition is encrypted? Can you not just create an APFS encrypted volume and ln -s /Volume/Users/ /Users ? That should be enough. If the disk fail, then it is still technically internal. Do you have to change from Advanced when ln -s (symklink)? Note, focus here is on encrypted volume. On boot, normally filevault will present username. Not sure what happenes here since it would involve decrypting several times (different keys).
    – mjs
    Nov 24, 2019 at 22:07
  • Also /Applications folder is separate as well and encrypted as well but that is really another question.
    – mjs
    Nov 24, 2019 at 22:09
2

I just went through a similar process and found that on Mojave, it's very difficult to mount an external drive on /Users or /home. It's best to use the standard /Volumes mount and change the home directory as described in TJ Luoma's comment above. Also, I used Carbon Copy Cloner to copy my home directory and I didn't have any permissions issues. More gory details are in my question/answer here and my gist.

4
  • I’ve had no problem with external home folders for quite many years. Whether on promise raid or ssd usb or FireWire hard drive, this has been a very good lineup. I like your tools and let us know in a new question if you have some questions. +1
    – bmike
    Jan 18, 2019 at 4:42
  • Here is an old question covering similar ground in general - apple.stackexchange.com/questions/22590/…
    – bmike
    Jan 18, 2019 at 4:43
  • Be aware that, if the external volume is encrypted and the password is not stored in the key chain, you won't be able to log into your external home. Oct 1, 2019 at 10:17
  • 2
    @TeoSartori if you do this it is strongly advised to have another admin account on the internal drive. You can log into that account and mount the external drive and type the password. To automate it, you can use the setup detailed in my linked gist above to have the system read the password from a thumb drive at boot.
    – chetstone
    Oct 1, 2019 at 19:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .