如果 macOS 的迁移助手失败,以下是移动帐户的其他方法

迁移助手 mac 图标

去年圣诞节,我的孩子们收到了新的 Mac 笔记本电脑。我们设法让他们以前的电脑正常运行七年,但这些新的 Mac 可以帮助我的孩子读完大学,甚至可能更久。新的 Mac 意味着我们必须将所有文件从旧计算机移至新计算机。

旧机器都安装了 macOS High Sierra,新机器安装了当前的 macOS Mojave。按照苹果的指示,我开始将两个旧系统迁移到两个新系统。 (当家庭成员带着四台 Mac 电脑同时嘎嘎作响地穿过房间时,引起了很多微笑和笑声。)

尽管其中一对计算机似乎已完全传输数据,但两台计算机在几个小时的迁移结束时均出现错误。另一对则没有;它似乎已经转移了应用程序和系统偏好设置,但遗漏了主要用户。这可能是由于该用户设置了家长控制,尽管迁移助手没有警告这是一个问题,Apple 的任何支持说明中也没有提及。

以我多年来使用迁移助手的经验来看,这种莫名其妙的问题已经越来越少见了。我尝试了三种不同的方法来转移该用户目录,但只有第三种(也是非常技术性的一种)有效。

删除并存档帐户

移动帐户的最明显方法是使用”用户和组”首选项窗格的选项来删除帐户,但存档其内容。首先确保您有旧计算机的备份。然后在该计算机上执行以下步骤。 (请注意,对于以后的迁移方法,您也将返回使用其中一些步骤。)

mac911删除帐户存档 IDG

您可以通过选择删除用户将用户的目录变成磁盘映像。

  1. 打开”用户与群组”首选项窗格。
  2. 点击日志并输入管理用户的详细信息。
  3. 在用户列表中选择帐户。
  4. 点击 –(减号)。
  5. 确保选择第一个选项,将主文件夹保存在磁盘映像中。然后单击”删除用户”。
  6. 这会提示您保存用户的目录,然后 macOS 会将其复制到该磁盘映像。
  7. 通过网络或外部驱动器将磁盘映像文件复制到较新的 Mac。
  8. 双击磁盘映像来安装它。
  9. 使用您要用于新帐户的名称在”用户”目录中创建一个新文件夹。
  10. 将磁盘映像的全部内容复制到该新目录中。 (您可能必须在步骤 9 和 10 中验证复制内容。)
  11. 完成后,弹出磁盘映像。
  12. 在”用户与群组”中,点击 +(加号)创建新帐户。确保”帐户名称”与您在第 9 步中在”用户”中创建的文件夹不同,因为”帐户名称”用于在”用户”目录中创建文件夹的名称。
  13. 如这篇最近的文章中所述,您将主目录”重新指向”您刚刚复制的目录。 (简而言之,按住 Control 键单击新用户名,单击”主目录”右侧的”选择”,然后选择该新目录。单击”确定”。)
  14. 现在您需要修复权限。在 Finder 中,选择用户目录中新用户的文件夹,然后选择”文件”>”获取信息”。
  15. 在”共享和权限”下,点击锁图标并输入管理帐户的密码。
  16. 点击 + 号并选择刚刚创建的应成为此目录所有者的用户,然后点击”选择”。
  17. 在”权限”列下将该用户设置为”读取和写入”。
  18. 现在选择齿轮图标,然后选择”将帐户名称设置为所有者”。
  19. 最后,选择齿轮图标并选择”应用到随附的项目”,然后单击”确定”。这可能需要一些时间或几分钟。

现在你已经完成了。我会确保启用快速用户切换(在”用户和组”>”登录选项”中),然后尝试登录到刚刚更改目录的用户。如果您无法登录,您可能需要执行以下步骤之一。

对我来说,此选项在第 6 步后失败,macOS 拒绝删除和存档帐户。我继续尝试下一个选项。

使用”磁盘工具”将用户文件夹存档为磁盘映像

磁盘工具可以从文件夹创建磁盘映像,这似乎是合乎逻辑的下一步。

  1. 启动磁盘实用程序。
  2. 选择”文件”>”新建图像”>”文件夹中的图像”。
  3. 选择用户目录。
  4. 保存磁盘映像,然后继续执行上述步骤 7。

这对我来说又失败了。磁盘工具无法创建磁盘映像,因此我继续执行下一个选项。

通过网络连接复制

我认为也许可以简单地复制用户目录,绕过存档和磁盘映像状态。

  1. 在新计算机上,通过选中”文件共享”框,在”共享”首选项窗格中启用文件共享。
  2. 在旧计算机的 Finder 中,选择”前往”>”网络”,然后双击新计算机的名称。
  3. 点击窗口右上角的”连接方式”并输入管理用户和密码。
  4. 双击主卷即可安装它。
  5. 将要复制的用户目录从旧计算机拖到新计算机上的”用户”>”共享”。这绕过了复制时的权限问题。
  6. 完成后,在新计算机上按住 Command 键并将用户目录拖到主用户文件夹中。您必须使用管理密码来验证此”移动”操作。 (如果旧帐户与新计算机上已存在的帐户相匹配,请在移动之前将复制到共享目录的文件夹重命名为其他名称。)
  7. 现在继续执行上面的第 12 步。

遗憾的是,随着圣诞节的临近,这个选项对我来说也失败了。我选择了最具技术性的选项。

使用命令行工具复制所有文件

警告!在命令行中很容易犯错误,这可能会导致 Mac 出现问题,包括需要完全恢复系统和所有文件。进行完整备份并严格按照以下步骤操作。如果您没有信心,请不要使用此方法。

这本质上是一个”食谱”,您可以在仔细注意细节的情况下遵循它,在其中替换您自己的用户帐户名称和文件夹名称。

这是它的工作原理。一个名为 tar 的旧 Unix 命令(”磁带存档”——就是那么古老)可以创建类似 ZIP 的文件和文件夹存档,精确捕获目录层次结构。就像 ZIP 一样,当您提取存档时,会重新生成结构。

您可以使用 tar 通过网络连接发送存档,而不是在磁盘上创建存档,并在添加每个文件时实时提取存档。这是一种奇怪的 Unix 复制操作,在其他操作失败的情况下通常更可靠且可能。

要执行此操作,请开始”通过网络连接复制”下的步骤 1 至 4。

现在,请确保您了解这四项信息:

  • 旧计算机上 Users 文件夹中的目录名称。我们称之为 OLDACCOUNT。
  • 您在新计算机上的 Users 文件夹中创建的目录名称。我们称之为 NEWACCOUNT。
  • “用户和组”首选项窗格的”高级选项”中显示的帐户名称(请参阅上文以查找该屏幕)。称呼该 SHORTNAME。
  • 安装在旧计算机上的目标驱动器名称。在终端中输入ls -l /Volumes,您将获得所有内部、外部和网络驱动器的列表。记下目标驱动器的全名。我们称之为 NEWDRIVE。

mac911 列出终端卷目录 IDG

在终端中,查看内部、外部和网络驱动器的列表。

您终于准备好继续了。在旧计算机上输入这两个命令以及所有这些替换,然后按 Return 键结束每个命令。另请确保路径周围有单直引号,以防止用户、卷或路径名称中包含空格时出现错误。 (以 sudo 开头的行都是一行。)

cd '/Users/OLDACCOUNT'

sudo tar cvf - . | (cd '/Volumes/NEWDRIVE/Users/Shared/NEWACCOUNT'; tar xf -)

在最后一个操作中,您可能需要输入您正在使用的帐户的密码。 (sudo 的意思是”运行此命令,就像您是‘超级用户’或这台计算机上最重要的帐户一样。”)

因此,如果我将旧计算机上的 glennfleishman 用户目录复制到新计算机上的 glenn 帐户,并且新计算机上的启动驱动器名为有趣的驱动器名称,这些命令看起来像这样。 (以 sudo 开头的行都是一行。)

cd '/Users/glennfleishman'

sudo tar cvf - . | (cd '/Volumes/Amusing Drive Name/Users/Shared/glenn'; tar xf -)

(对于那些感兴趣的人来说,这些命令的意思是:”将目录更改为 glennfleishman 位置。创建一个磁带存档,将内容传递到链中的下一个程序,而不是写入到文件中磁盘。对于每个文件,首先将目录更改为目标网络驱动器的目录,然后将存档文件提取到正确的分层位置。”)

即使使用快速 Wi-Fi 或以太网,这也可能需要很长时间,并且第二行第一个 tar 中的 v 选项代表”详细” :对于可能复制的 10,000 到 100,000 个文件,它将显示一行。

全部完成后,您需要在新计算机上移动用户目录,如”通过网络连接复制”下的步骤 6 所示:按住 Command 键并将用户目录拖到主用户文件夹中(首先确保它的名称不与用户中已有的文件夹相同),然后根据需要输入密码。

然后您可以继续执行上述第一种方法中的步骤 12。

虽然用于更改权限的步骤 14 到 19 应该有效,但您可能会因为文件的复制方式而遇到问题。在这种情况下,您可以在新计算机上使用终端来解决问题。 (为什么里面有”wheel”?它是用于管理目的的标准 Unix 组名称。)

  1. 在您的新计算机上启动终端。
  2. 在命令行输入sudo chown -R SHORTNAME:wheel /Users/NEWACCOUNT
  3. 如果提示继续,请输入密码。

在上面的例子中,它看起来像sudo chown -Rglenn:wheel /Users/glenn

询问 Mac 911

我们整理了最常被问到的问题列表以及答案和专栏​​链接:阅读我们的超级常见问题解答,看看您的问题是否得到解答。如果没有,我们总是在寻找新的问题来解决!通过电子邮件将您的信息发送至 mac911@macworld.com,包括适当的屏幕截图,以及您是否希望使用您的全名。每个问题都不会得到解答,我们不会回复电子邮件,也无法提供直接的故障排除建议。