更换硬盘后如何让Time Machine再次工作?


Answers:


9

使用tmutil

免责声明:我扫描了tmutil联机帮助页并执行了这些步骤。时间机器似乎现在正愉快地备份。我不知道所有这些步骤是否必要,或者我是否以正确的顺序执行了这些步骤。因人而异。

首先禁用Time Machine

$ sudo tmutil setdestination /Volumes/TIME_MACHINE_VOLUME
$ sudo tmutil associatedisk -a /Volumes/MACINTOSH_HD/ /Volumes/TIME_MACHINE_VOLUME/Backups.backupdb/COMPUTER_NAME/Latest/MACINTOSH_HD/

这告诉Time Machine MACINTOSH_HD将新卷/Volumes/TIME_MACHINE_VOLUME/Backups.backupdb/COMPUTER_NAME/Latest/MACINTOSH_HD/备份到旧卷的旧备份存储库。在我的例子中,旧卷和新卷都具有相同的名称。

$ sudo tmutil inheritbackup /Volumes/TIME_MACHINE_VOLUME/Backups.backupdb/COMPUTER_NAME/

这会将旧备份存储库连接到新卷。

然后运行:

$ sudo tmutil listbackups

要列出备份,如果以上操作有效,您应该会看到旧卷的所有备份。


可以确认这仍然适用于2017年的macOS Sierra.tmutil似乎不喜欢备份驱动器名称中的空格(即使在转义或引用时),因此请确保将已安装的sparsebundle卷或驱动器重命名为一个字名。
Nick Sweeting

4

0.注意

首先,禁用Time Machine。然后,确保您备份了重要的东西,而不仅仅依赖Time Machine磁盘。你可以在这里打破一切。

另请注意,如果要再次进行增量备份,则只应执行此操作。如果您不关心以前的备份,可以跳过这个,只让Time Machine创建第二个备份。

1.先决条件

无论如何:您需要fsaclctl以下步骤的命令。如果您使用的是Snow Leopard,可以从Leopard安装盘获取。在Leopard上,已经包含它(跳到下一部分)。

您也可以在这里这里下载包。解压缩它,右键单击EnableACLs.app并选择“显示包内容”。导航到目录/资源并复制fsaclctl到您的主文件夹(/Users/<your-username>)。

2.找出你的新UUID

打开Disk Utility.app,然后在Mac磁盘上选择Info。在这里,将您的UUID复制到其他地方。你以后会需要它。

在此输入图像描述

3.检查您的旧UUID

然后,打开终端并转到TM磁盘上的最新备份:

cd /Volumes/<time-machine>/Backups.backupdb/<your-mac-name>/Latest

更换time-machine><your-mac-name>分别与你的时间机器卷的名称和Mac的名字。现在,让我们找出当前存储在磁盘上的UUID:

sudo xattr -pl com.apple.backupd.SnapshotVolumeUUID "Macintosh HD"

将其替换为分区的实际名称(在我的屏幕截图中,它是“Macintosh HD”)。如您所见,在我的情况下,UUID匹配。在你的情况下,他们不会。

如果他们这样做,停在这里,其他可能是问题!

在此输入图像描述

4.更换Time Machine卷上的UUID

您现在需要使用该fsaclctl命令禁用驱动器上的ACL保护。

sudo fsaclctl -p /Volumes/<time-machine> -d

如果您已将其复制到您的主文件夹,请改用:

sudo /Users/<your-username>/fsaclctl -p /Volumes/<time-machine> -d

现在,这是关键路线。您需要将旧UUID覆盖到当前磁盘(即通过“磁盘工具”找到的磁盘)之一。替换XXX…您在开头复制的UUID。

sudo xattr -w com.apple.backupd.SnapshotVolumeUUID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX "Macintosh HD"

所以这看起来像:

sudo xattr -w com.apple.backupd.SnapshotVolumeUUID 650DDECD-CC5E-3552-9960-2D50014A4BDB "Macintosh HD"

完成后,再次重新启用ACL:

sudo fsaclctl -p /Volumes/<time-machine> -e

和以前一样,如果您刚刚将其复制到Home文件夹,请执行以下操作:

sudo /Users/<your-username>/fsaclctl -p /Volumes/<time-machine> -e

不要忘记重新启用Time Machine并查看它是否正常工作。请注意,下一次备份可能需要一段时间,甚至几个小时。


我做了一次类似的程序,在切换我的Mac的逻辑板后就变得必要了。

这是从:


我想知道它是否适用于更换硬盘?(逻辑板:是,或部分;我已经用10.5中的MAC地址完成了这个技巧,虽然我不确定10.7中是否还需要所有这些。)
Arjan

@Arjan 硬盘:从我所读到的和个人经验来看:可能会发生。逻辑板:当然,但你必须改变MAC地址,类似于这里Lion:我还没有上过10.7,所以它可能会有所不同?
懒惰2011年

考虑一下,也许这确实回答了另一个问题。我认为92GB只是硬盘的一部分,但也许它实际上是完整的磁盘......?
Arjan

你能详细说明OSX 10.7.5的程序(如果不同的话)谢谢!
Regis_AG

3

关于10.7+:

请注意,slhck的详细解答不适用于10.7及以上。对于10.7+,请参阅tmutil联机帮助页,部分inheritbackupassociatedisk


你能详细说明Mac OSX 10.7的程序吗?谢谢 !
Regis_AG

1

在我的情况下,上面的答案帮了很多,但我修改了一下。

在阅读本文之前,我试图使用inheritbackup命令但是虽然它没有完成错误,但是时间机器仍然没有看到我的磁盘和我的稀疏捆绑作为备份。

首先需要的是setdestination命令。现在我正在写这个,因为我的Time Machine备份正在更新!
所以最后我先做了:

sudo tmutil associatedisk -a /Volumes/Macintosh\ HD /Volumes/Time\ Capsule/Backups.backupdb/<mymacname>/Latest/Macintosh\ HD/

接着:

sudo tmutil inheritbackup /Volumes/Time\ Capsule/<mymacname>.sparsebundle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.