🚀 把 Mac 的 Home 目录完美迁移到外置硬盘
在 macOS 上迁移 Home 目录(/Users/用户名)一直被认为是高风险操作。
但只要方法正确,你可以 保持所有 App 配置不变、系统不重装、不丢文件,将整个 Home 放到外置 APFS 磁盘上继续使用。
📌 适用场景
Mac 内置硬盘容量太小,想把 Home 目录迁移到外置硬盘
保留所有应用配置、SSH、brew、Xcode、iCloud
使用 Apple Silicon(M1/M2/M3/M4)或 Intel
外置磁盘格式为 APFS
🧭 步骤总览
创建新的 Home 目录位置
使用 ditto 完整复制所有文件
修改用户的 Home 路径
重启并验证
解决权限问题(如有)
可选:删除旧 Home 并释放内置空间
✨ Step 1:在外置硬盘创建新的 Home 目录结构
假设你的用户名是 john,外置硬盘卷名为 ExternalDisk:
sudo mkdir -p /Volumes/ExternalDisk/Users/john
sudo chown john:staff /Volumes/ExternalDisk/Users/john
检查是否成功:
ls -ld /Volumes/ExternalDisk/Users/john
✨ Step 2:使用 ditto 100% 无损复制原 Home
ditto 是 macOS 官方推荐的系统级复制方式,能保留:
所有隐藏文件(.ssh、.zshrc、.config…)
App 配置(~/Library)
xattrs 与 ACL 权限
brew / Xcode / 缓存 / 环境变量等
执行:
sudo ditto -V /Users/john /Volumes/ExternalDisk/Users/john
等待完成即可。
✨ Step 3:修改用户登录的 Home 路径(关键步骤)

操作:
打开 系统设置 → 用户与群组
左下角点击 🔒 解锁
用两指点右键 → 选择 高级选项…
找到 主目录(Home Directory)
修改为:
/Volumes/ExternalDisk/Users/john
⚠️ 不要改动 UID / Shell / 组 / 名称 / 图标
否则可能导致无法登录系统。
✨ Step 4:重启并验证是否迁移成功
重启后打开 Terminal:
echo $HOME
预期输出:
/Volumes/ExternalDisk/Users/john
检查是否能正常访问文件:
ls ~
如果你能看到原本的文件 → 迁移成功!
✨ Step 5:如出现权限问题,执行以下指令
某些 App(如 VSCode、iCloud、Dropbox)可能提示权限不足,可执行:
sudo chown -R john:staff /Volumes/ExternalDisk/Users/john
如果 Finder 无法访问某些文件:
sudo chmod -R u+rwX /Volumes/ExternalDisk/Users/john
