我买的 Mac Mini M4 只有可怜的 256 GB 硬盘空间,所以我想外挂一个固态硬盘来使用。当时我按着这个 教程 把 macOS 装在了外置硬盘上。
什么?你怎么知道我的 2TB 固态硬盘是四百多买的?😂 现在要七百多才能买到了,属实是个理财产品了。
昨天我点了一下系统更新(在外置硬盘的系统中),将 macOS 从 15.1 升级到 15.4,它升级之后没办法开机了!显示屏不亮,看起来是启动引导出问题了。
相比 Windows,MacOS 的特点在于隐藏细节,所以我没找到什么可以检查目前电脑出什么问题的方法,所以只能把它带去 Apple Store 维修了。
工作人员用 Apple Configurator 这个软件给我恢复了下,内置系统就能用了。(如果你也遇到了这个问题,可以直接用另一台 Mac 设备下载这个软件来恢复,就不用特意跑一趟了)
后来去知乎和小红书研究了一下,苹果在启动时会验证启动的系统,这一步要求内置硬盘的系统不能比外置硬盘的系统旧,而我只更新了外置硬盘的系统而没有更新内置硬盘的系统,所以导致了这个问题。
有一篇 文章 提到了另一种原因,如果感兴趣可以看一下。
实际上普遍不推荐把 macOS 安装在外置硬盘上,可能会导致挺多奇怪的问题,所以这篇文章给大家提供一个替代方案,用软链接目录的方式来使用外置磁盘。
迁移 HOME #
macOS 采用的是数据和应用分离的存储方式(这个设计理念非常的合理!)对于每个用户而言,用户产生的数据会被全部存放在~/Library
目录下(事实上这个目录也是最占空间的),是彼此分离的。所以我们可以把用户的 HOME 目录放在外置硬盘中。
打开「系统设置」的「用户与群组」,右键当前用户,选择「高级选项」。
将「个人目录」切换成外置硬盘中的一个目录,然后保存后重启电脑即可。
检验一下:
$ cd
$ pwd
/Volumes/<DiskName>/...
因为你的个人配置都保存在之前的 HOME 目录下,所以你可以将之前 HOME 目录中的文件复制到新的目录中,这样你的个人配置就迁移过去了😎。
软链接目录 #
macOS 是基于 FreeBSD 的,目录在/
单个根下(不像 Windows 一样有多个根)才能被访问到,MacOS 会把连接的硬盘挂载到/Volumes
目录下。软链接命令如下:
ln -s <source> <target>
这样做后,操作系统中的任何软件访问<target>
时,实际上会访问文件系统中的<source>
。
刚刚我们已经把 HOME 迁移到了外置硬盘,接着你可以找一找 HOME 之外有没有特别占空间的目录,比如我使用 homebrew,/opt/homebrew
是一个相对大的目录,所以可以运行:
mv /opt/homebrew /Volumes/<DiskName>/homebrew
ln -s /Volumes/<DiskName>/homebrew /opt/homebrew
这样 homebrew 的数据就迁移到外置硬盘了!
Applications #
macOS 的应用默认是放在/Applications
目录下的,这使得它可以被当前设备的所有用户使用。但这个文件夹还是挺占空间的,如果你安装了很多应用的话。
如果这个应用不是系统核心应用、不需要被所有用户使用、不需要频繁获取 sudo 权限,你可以手动将软件从/Applications
移动到~/Applications
目录下,因为 HOME 已经被我们转移到外置硬盘了,所以不会占用内置磁盘空间。
刚刚我们说过 macOS 是数据与应用分离的,移动这个应用不会影响你的任何数据,而且不同的用户之间数据是相互隔离的。
以上就是我迁移 macOS 到外置硬盘的方案,希望对你有所帮助!不要把 macOS 安装在外置硬盘上!